@myagentroam/server 0.13.4 → 0.13.6
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/dist/quick-start/node-runtime.js +21 -3
- package/dist/quick-start/run.js +11 -2
- package/node_modules/@myagentroam/protocol/package.json +1 -1
- package/node_modules/@myagentroam/server-core/dist/mcp-service.js +5 -3
- package/node_modules/@myagentroam/server-core/dist/mysql-node-identity.d.ts +5 -0
- package/node_modules/@myagentroam/server-core/dist/mysql-node-identity.js +31 -0
- package/node_modules/@myagentroam/server-core/dist/skill-source-service.js +5 -3
- package/node_modules/@myagentroam/server-core/package.json +2 -2
- package/node_modules/@myagentroam-enterprise/server-implementation/dist/cli-messages.en-US.d.ts +1 -0
- package/node_modules/@myagentroam-enterprise/server-implementation/dist/cli-messages.en-US.js +1 -0
- package/node_modules/@myagentroam-enterprise/server-implementation/dist/cli-messages.zh-CN.d.ts +1 -0
- package/node_modules/@myagentroam-enterprise/server-implementation/dist/cli-messages.zh-CN.js +1 -0
- package/node_modules/@myagentroam-enterprise/server-implementation/dist/composition/quick-start-node-bootstrap.d.ts +5 -1
- package/node_modules/@myagentroam-enterprise/server-implementation/dist/composition/quick-start-node-bootstrap.js +9 -1
- package/node_modules/@myagentroam-enterprise/server-implementation/dist/composition/server-application.js +1 -0
- package/node_modules/@myagentroam-enterprise/server-implementation/dist/license/management-gate.js +3 -2
- package/node_modules/@myagentroam-enterprise/server-implementation/dist/mysql/server-database.d.ts +4 -0
- package/node_modules/@myagentroam-enterprise/server-implementation/dist/mysql/server-database.js +3 -0
- package/node_modules/@myagentroam-enterprise/server-implementation/dist/rbac/authorization-service.js +7 -1
- package/node_modules/@myagentroam-enterprise/server-implementation/package.json +3 -3
- package/package.json +6 -6
- package/web/assets/{AuditManagementPage-DnsGADhX.js → AuditManagementPage-DdhzZJJz.js} +1 -1
- package/web/assets/{BusyIndicator-DuQN1wm-.js → BusyIndicator-DJEYrwl2.js} +1 -1
- package/web/assets/{CodeFileEditor-BIIXeX-W.js → CodeFileEditor-t-S2RxFj.js} +3 -3
- package/web/assets/{ConversationTemplateManagementPage-Bo4oyW8_.js → ConversationTemplateManagementPage-8cWdT1rl.js} +1 -1
- package/web/assets/{ConversationTemplateManagementPage-Cq610Ift.js → ConversationTemplateManagementPage-DtnCxKPr.js} +1 -1
- package/web/assets/{EnterpriseUserManagementPage-CaTrDqbs.js → EnterpriseUserManagementPage-CVpJzsVL.js} +1 -1
- package/web/assets/{EnvironmentSecretManager-BsrTY2rn.js → EnvironmentSecretManager-DaMtII6x.js} +1 -1
- package/web/assets/{FilePreviewLoading-RwWQoi6Y.js → FilePreviewLoading-CqXCVUDH.js} +1 -1
- package/web/assets/{HtmlPreviewFrame-ClcGdqP1.js → HtmlPreviewFrame-xgqXo3bD.js} +4 -4
- package/web/assets/{LicenseManagementPage-7_EsyrhF.js → LicenseManagementPage-C-25sen8.js} +1 -1
- package/web/assets/{ManagementPagination-2xmt9Zfx.js → ManagementPagination-BwZo73aV.js} +1 -1
- package/web/assets/{MarAgentModelManagementPage-CjMpM_RC.js → MarAgentModelManagementPage-B9lHTQtV.js} +1 -1
- package/web/assets/{MarAgentModelManagementPage-B5_l5kMw.js → MarAgentModelManagementPage-DkncBptD.js} +1 -1
- package/web/assets/{MarIcon-Bey6vvFS.js → MarIcon-0cJTzTai.js} +1 -1
- package/web/assets/{MarkdownFilePreview-DroSJppq.js → MarkdownFilePreview-CnWvYfKN.js} +2 -2
- package/web/assets/{McpDetailsDialog-BrklXkCL.js → McpDetailsDialog-nt3by9E1.js} +1 -1
- package/web/assets/{McpSourceManagementPage-BBw8Fnb7.js → McpSourceManagementPage-BVjVO0Tb.js} +1 -1
- package/web/assets/{McpSourceManagementPage-CCugQvg2.js → McpSourceManagementPage-Bg2wxoSB.js} +1 -1
- package/web/assets/{NodeDetailsDialogs-U0lssvGT.js → NodeDetailsDialogs-D4wBwUzA.js} +1 -1
- package/web/assets/NodeManagementPage-C1Cj7rex.js +1 -0
- package/web/assets/NodeManagementPage-DRBCipFy.js +1 -0
- package/web/assets/{OAuthManagementPage-BeiBNSsN.js → OAuthManagementPage-D9cBB-vX.js} +1 -1
- package/web/assets/{OrganizationManagementPage-CS9sBwhZ.js → OrganizationManagementPage-N8HwbTY5.js} +1 -1
- package/web/assets/{ResourceManagementPanel-Ck53eFHZ.js → ResourceManagementPanel-D80V3ZdZ.js} +1 -1
- package/web/assets/{ResourceManagementPanel.vue_vue_type_script_setup_true_lang-D1vZJR_l.js → ResourceManagementPanel.vue_vue_type_script_setup_true_lang-DfCWa6fA.js} +1 -1
- package/web/assets/SecretManagementPage-BDo50Fo5.js +1 -0
- package/web/assets/{SecretManagementPage-CkoIPpRk.js → SecretManagementPage-tsgbjSvn.js} +1 -1
- package/web/assets/{SecretManagementPage.vue_vue_type_script_setup_true_lang-Bq3JYt0N.js → SecretManagementPage.vue_vue_type_script_setup_true_lang-CmSoYQ3n.js} +1 -1
- package/web/assets/{SessionSharePage-UYao-99J.js → SessionSharePage-whJFT3cw.js} +2 -2
- package/web/assets/{SettingsContent-CxwrhDv3.js → SettingsContent-Dsw7sGr4.js} +1 -1
- package/web/assets/{SettingsContent-Cdhq2mMs.js → SettingsContent-WLH3DkgW.js} +1 -1
- package/web/assets/SkillCenterPage-Dl-aKzxp.js +1 -0
- package/web/assets/{SkillCenterPage-7USQN-DP.js → SkillCenterPage-yDU-t2cT.js} +1 -1
- package/web/assets/{SkillDetailsDialog-BsiPRfbz.js → SkillDetailsDialog-BUfNxAjf.js} +1 -1
- package/web/assets/{SkillSourceManagementPage-DFnaYnRe.js → SkillSourceManagementPage-B7yjgXR8.js} +1 -1
- package/web/assets/{SkillSourceManagementPage-BvOdElvU.js → SkillSourceManagementPage-BCHgTDXJ.js} +1 -1
- package/web/assets/{StandaloneFilePreviewPage-Cb1MpQfh.js → StandaloneFilePreviewPage-b-piNuN1.js} +1 -1
- package/web/assets/{SystemConfigurationPage-DME6cns0.js → SystemConfigurationPage-C2Ecb0Su.js} +1 -1
- package/web/assets/SystemConfigurationPage-CUI3Icws.js +1 -0
- package/web/assets/{SystemInformationPage-DGZWfrXE.js → SystemInformationPage-CBWjqG43.js} +1 -1
- package/web/assets/{TerminalTabView-CuQzSev1.js → TerminalTabView-CeX2SVcm.js} +1 -1
- package/web/assets/{WorkbenchPage-B7W9kyOw.js → WorkbenchPage-D4X4qerH.js} +4 -4
- package/web/assets/WorkspaceManagementPage-0uM3HF3o.js +1 -0
- package/web/assets/WorkspaceManagementPage-DlcAgYsx.js +1 -0
- package/web/assets/{_baseIteratee-3ynz4yPF.js → _baseIteratee-CnCgfzqY.js} +1 -1
- package/web/assets/{abnfDiagram-VCTEODGH-DupmQ6Er.js → abnfDiagram-VCTEODGH-C8MLlCYr.js} +1 -1
- package/web/assets/{advancedFormat-Bqm4Kq1b.js → advancedFormat-tqE8I04X.js} +1 -1
- package/web/assets/{arc-Fq0BJf1Q.js → arc-ChGPMlfM.js} +1 -1
- package/web/assets/{architectureDiagram-5GKGNRK7-B4EFAJN2.js → architectureDiagram-5GKGNRK7-UNKWS80q.js} +1 -1
- package/web/assets/{blockDiagram-OSKFZWR5-B75Yxltl.js → blockDiagram-OSKFZWR5-DaoKTWzi.js} +1 -1
- package/web/assets/{c4Diagram-7LVT6UL2-2IJLHGl0.js → c4Diagram-7LVT6UL2-DeJ38tJ4.js} +1 -1
- package/web/assets/{catalog-ownership-service-BMQL4KAM.js → catalog-ownership-service-ppl9SdO8.js} +1 -1
- package/web/assets/{catalog-page-service-Cnb4fp1m.js → catalog-page-service-CA6TP1Er.js} +1 -1
- package/web/assets/channel-D5Au5X55.js +1 -0
- package/web/assets/{chunk-2Q5K7J3B-BbIlpi0m.js → chunk-2Q5K7J3B-Cie4-T_4.js} +1 -1
- package/web/assets/{chunk-5VM5RSS4-Ds5gdCgX.js → chunk-5VM5RSS4-C02e2HuJ.js} +1 -1
- package/web/assets/{chunk-F27PBJKO-DBafPcM9.js → chunk-F27PBJKO-CYE4axjh.js} +1 -1
- package/web/assets/{chunk-HLEWEB6X-Ctl85JUs.js → chunk-HLEWEB6X-Qcd3DJvW.js} +1 -1
- package/web/assets/{chunk-JWPE2WC7-Df0cT3j7.js → chunk-JWPE2WC7-BIlv53mX.js} +1 -1
- package/web/assets/{chunk-POPQ4Y6H-OSXerjxo.js → chunk-POPQ4Y6H-C1FzI22y.js} +1 -1
- package/web/assets/{chunk-SVP7TREG-4azsKQ7R.js → chunk-SVP7TREG-B5A4JoXo.js} +1 -1
- package/web/assets/{chunk-XXDRQBXY-RCyyudHN.js → chunk-XXDRQBXY-FdosaHEW.js} +1 -1
- package/web/assets/{chunk-ZLD2IHE6-CE_CQEwa.js → chunk-ZLD2IHE6-BzhAoouo.js} +1 -1
- package/web/assets/classDiagram-CYGNFDIV-CplRLUOK.js +1 -0
- package/web/assets/classDiagram-v2-TLXNO2FR-CplRLUOK.js +1 -0
- package/web/assets/{conversation-history-CUVjobW9.js → conversation-history-D9993EDO.js} +1 -1
- package/web/assets/{cose-bilkent-JH36ORCC-B4UTqEAs.js → cose-bilkent-JH36ORCC-C4ZjK8dC.js} +1 -1
- package/web/assets/{cynefin-OW5HDTMX-B9U7i_AE.js → cynefin-OW5HDTMX-D-6QhPjX.js} +1 -1
- package/web/assets/{cynefinDiagram-5FMLGOSQ-DjOvM95v.js → cynefinDiagram-5FMLGOSQ-Bwsk5LdU.js} +1 -1
- package/web/assets/{dagre-OS7QT2EB-DC57hRv_.js → dagre-OS7QT2EB-DoA_-lbd.js} +1 -1
- package/web/assets/{diagram-S7CK7UJ4-D6mHX9Fx.js → diagram-S7CK7UJ4-sgObxZyi.js} +1 -1
- package/web/assets/{diagram-UQ7AKVKN-B2kIa0Jp.js → diagram-UQ7AKVKN-BdMjAaVk.js} +1 -1
- package/web/assets/{diagram-VSXAHHWV-Bxv36NlF.js → diagram-VSXAHHWV-BCH9zwo1.js} +1 -1
- package/web/assets/{diagram-VX7I27RA-xZ_Rnq6j.js → diagram-VX7I27RA-Z6LSJKeQ.js} +1 -1
- package/web/assets/{diagram-Z3DM3KII-CdSuHCfk.js → diagram-Z3DM3KII-CcbM5hsL.js} +1 -1
- package/web/assets/{ebnfDiagram-PWID7BFC-yx8cKpo-.js → ebnfDiagram-PWID7BFC-CWP32uDq.js} +1 -1
- package/web/assets/{el-alert-YwFfkzFY.js → el-alert-8VKFJYUv.js} +1 -1
- package/web/assets/{el-cascader-DLHPkFf2.js → el-cascader-CJR-DJLi.js} +1 -1
- package/web/assets/{el-checkbox-D7B8QPnv.js → el-checkbox-D7CsqiQq.js} +1 -1
- package/web/assets/{el-date-picker-3YbpvR4-.js → el-date-picker-Lb4E2Nje.js} +1 -1
- package/web/assets/{el-descriptions-pbjjg_nj.js → el-descriptions-B48GJeGA.js} +1 -1
- package/web/assets/{el-form-item-C0hI6zRh.js → el-form-item-Fjp3w344.js} +1 -1
- package/web/assets/{el-input-BBSbjFbs.js → el-input-DRF3bOe1.js} +1 -1
- package/web/assets/{el-input-number-BD9kOXXp.js → el-input-number-e6T9QIje.js} +1 -1
- package/web/assets/{el-radio-ByQM3NKI.js → el-radio-DO8joult.js} +1 -1
- package/web/assets/{el-select-BEIvaLbl.js → el-select-BSaB1c5h.js} +1 -1
- package/web/assets/{el-switch-DNSjKrx8.js → el-switch-Cpl2xxJc.js} +1 -1
- package/web/assets/{el-tab-pane-P1W8N6RB.js → el-tab-pane-CQyfpTgD.js} +1 -1
- package/web/assets/{el-table-column-BkxhVRss.js → el-table-column-BRybrdLI.js} +1 -1
- package/web/assets/{enterprise-management-service-C_5GRorU.js → enterprise-management-service-Qtmnf50C.js} +1 -1
- package/web/assets/{erDiagram-2YWLMYGG-CysMQY_a.js → erDiagram-2YWLMYGG-BOtd6Wuq.js} +1 -1
- package/web/assets/{error-presentation-CMcHjWH1.js → error-presentation-CJfLHEK_.js} +1 -1
- package/web/assets/{flowDiagram-T62WH6J4-D3EWUl6L.js → flowDiagram-T62WH6J4-DGRqBn-8.js} +1 -1
- package/web/assets/{ganttDiagram-EL5Y4UJY-D8p3UoZQ.js → ganttDiagram-EL5Y4UJY-D84r1V0Q.js} +1 -1
- package/web/assets/{gitGraphDiagram-WWUBYQGX-DOStzbFz.js → gitGraphDiagram-WWUBYQGX-FANv-qDA.js} +1 -1
- package/web/assets/{hosted-conversation-template-client-D4Wn8q89.js → hosted-conversation-template-client-CeOnupVC.js} +1 -1
- package/web/assets/{index-BLspLxxD.js → index-9ks2AQTi.js} +1 -1
- package/web/assets/{index-bl_S7WPN.js → index-B0P8j1yb.js} +1 -1
- package/web/assets/{index-DuKtBO_u.js → index-B7tnVSor.js} +1 -1
- package/web/assets/{index-ft9uuHSX.js → index-B8rWDVmR.js} +1 -1
- package/web/assets/{index-BwULrRvu.js → index-BOhe9vs1.js} +1 -1
- package/web/assets/{index-DLalpHzD.js → index-BYYx_GrI.js} +1 -1
- package/web/assets/{index-eJcmffyl.js → index-BeipYJv6.js} +1 -1
- package/web/assets/{index-CYeXhiRu.js → index-BkC7CnZA.js} +1 -1
- package/web/assets/{index-DW6tcz5Z.js → index-Bokwz5PA.js} +1 -1
- package/web/assets/{index-DswoMecP.js → index-BsG4OGs3.js} +1 -1
- package/web/assets/{index-0Qtks3Zu.js → index-C8DbmG_l.js} +1 -1
- package/web/assets/{index-m9YdF02w.js → index-C90_sIrz.js} +1 -1
- package/web/assets/{index-DkfdzgTk.js → index-CBs38naL.js} +1 -1
- package/web/assets/{index-DbuM3bO4.js → index-C_EAvnDF.js} +1 -1
- package/web/assets/{index-dMLXuty7.js → index-C_F0LgDO.js} +1 -1
- package/web/assets/{index-DrVPbxCP.js → index-D6945seh.js} +1 -1
- package/web/assets/{index-C4XljgeB.js → index-DGlioDXJ.js} +1 -1
- package/web/assets/{index-CGPHfg1G.js → index-DU209g6d.js} +1 -1
- package/web/assets/{index-BCZqekVb.js → index-DsgwAvJA.js} +3 -3
- package/web/assets/{index-D8dMhcz9.js → index-DwQqO2fH.js} +1 -1
- package/web/assets/{index-DTE-qCKl.js → index-NReuiFej.js} +1 -1
- package/web/assets/{index-CiC8263F.js → index-Tv4HGgSj.js} +1 -1
- package/web/assets/{index-Df8FjIGd.js → index-W6jp3JVA.js} +1 -1
- package/web/assets/{index-B35Hh-19.js → index-eU6FSd70.js} +1 -1
- package/web/assets/{index-CwiFFfS1.js → index-hP6Cb_NE.js} +1 -1
- package/web/assets/{index-CM_0TkoS.js → index-sctirQW0.js} +1 -1
- package/web/assets/{index-CvclBhn2.js → index-x2OEXKrc.js} +1 -1
- package/web/assets/{index-nTguJepi.js → index-x9JuBH-H.js} +1 -1
- package/web/assets/{index-B26xf70t.js → index-zG9SJlS3.js} +1 -1
- package/web/assets/infoDiagram-FKFFQAWI-ZeaWiVDx.js +2 -0
- package/web/assets/{isArrayLikeObject-DBTZh06Y.js → isArrayLikeObject-Bg1E4S9y.js} +1 -1
- package/web/assets/{ishikawaDiagram-5VMMS53U-KdtSHy0d.js → ishikawaDiagram-5VMMS53U-B0FDzCa4.js} +1 -1
- package/web/assets/{journeyDiagram-EYS64GPL-BWm62hPR.js → journeyDiagram-EYS64GPL-CIM_LxZU.js} +1 -1
- package/web/assets/{kanban-definition-UXKFOSKX-97_o1WCj.js → kanban-definition-UXKFOSKX-DKxBi_r0.js} +1 -1
- package/web/assets/{layout-6_PY2p7c.js → layout-DU0JsES_.js} +1 -1
- package/web/assets/{linear-BT7Hx9AK.js → linear-C3UCzYem.js} +1 -1
- package/web/assets/{management-url-service-B2_kg7lH.js → management-url-service-DsBUOSH4.js} +1 -1
- package/web/assets/{mcp-center-service-Cvb3tmP2.js → mcp-center-service-BluNkyx-.js} +1 -1
- package/web/assets/{merge-DaI_T8rv.js → merge-B-E3iBqN.js} +1 -1
- package/web/assets/{mermaid.core-DL0NmHpa.js → mermaid.core-CMc9IFVw.js} +5 -5
- package/web/assets/{message-box-service-Vs92kolE.js → message-box-service-CszgyilP.js} +1 -1
- package/web/assets/{mindmap-definition-THT77NOG-CAPKaXNd.js → mindmap-definition-THT77NOG-BJyPV49z.js} +1 -1
- package/web/assets/{mobile-dialog-return-service-3QafxIkr.js → mobile-dialog-return-service-Csexw-by.js} +1 -1
- package/web/assets/{oauth-callback-BlSeaEf-.js → oauth-callback-3M1eIOPT.js} +1 -1
- package/web/assets/{pegDiagram-XKGWAZYB-hJB71Znn.js → pegDiagram-XKGWAZYB-jpfn2XMn.js} +1 -1
- package/web/assets/{pieDiagram-E7YTZNPT-COeAYSnz.js → pieDiagram-E7YTZNPT-B2jQ3Egj.js} +1 -1
- package/web/assets/{quadrantDiagram-AXDQQJYC-DHTuVvw3.js → quadrantDiagram-AXDQQJYC-BXSOa8Vi.js} +1 -1
- package/web/assets/{railroadDiagram-O6MQD6OU-bKHrlAIG.js → railroadDiagram-O6MQD6OU-BTy8Z6ZL.js} +1 -1
- package/web/assets/{requirementDiagram-IS5BZ75X--2VkiRxe.js → requirementDiagram-IS5BZ75X-eqVPnJ-z.js} +1 -1
- package/web/assets/{runner-presentation-BW-vKSQP.js → runner-presentation-D66Z9p-O.js} +1 -1
- package/web/assets/{sankeyDiagram-P5KCCOFB-k5g8_UfF.js → sankeyDiagram-P5KCCOFB-BI5fAwMJ.js} +1 -1
- package/web/assets/{sequenceDiagram-WJ2MYXX4-3T1cTiKX.js → sequenceDiagram-WJ2MYXX4-CZ7Un31z.js} +1 -1
- package/web/assets/{session-share-client-service-BePcCd8T.js → session-share-client-service-W0XDwceC.js} +1 -1
- package/web/assets/{sizeCapture-INFHLROL-CAmN45ar.js → sizeCapture-INFHLROL-7gQRW3HD.js} +1 -1
- package/web/assets/{stateDiagram-XQSTLZYL-DyCNMKfm.js → stateDiagram-XQSTLZYL-D23AlrmH.js} +1 -1
- package/web/assets/stateDiagram-v2-IH3M54BS-D93lsHZ8.js +1 -0
- package/web/assets/{swimlanes-V6O3JKXN-CShGr_U7.js → swimlanes-V6O3JKXN-By9JzeNC.js} +1 -1
- package/web/assets/swimlanesDiagram-JKAHXJPX-C3UEWonA.js +8 -0
- package/web/assets/{time-presentation-DYGS-swy.js → time-presentation-BRvT6nTd.js} +1 -1
- package/web/assets/{timeline-definition-24CTP7MA-CRagiyPI.js → timeline-definition-24CTP7MA-CyydVD-f.js} +1 -1
- package/web/assets/{union-SQqiJk16.js → union-BSveQIrm.js} +1 -1
- package/web/assets/{use-form-common-props-CiMdMq_M.js → use-form-common-props-BJ2vZd_0.js} +1 -1
- package/web/assets/{use-wheel-BGpTGiSt.js → use-wheel-TWRoHAF5.js} +1 -1
- package/web/assets/{vennDiagram-4TSXK5OY-_jtB4CJn.js → vennDiagram-4TSXK5OY-3OEbunrh.js} +1 -1
- package/web/assets/{wardleyDiagram-VM6X3IG4-Blsdb7g_.js → wardleyDiagram-VM6X3IG4-BuZvJTn0.js} +1 -1
- package/web/assets/{workbench-composer-interaction-controller-BvnJG4HW.js → workbench-composer-interaction-controller-BJZsGMk-.js} +1 -1
- package/web/assets/{workbench-presentation-b_MlZ-jq.js → workbench-presentation-DblBOxzZ.js} +1 -1
- package/web/assets/{xychartDiagram-S5SC5T6Z-BTu61LZj.js → xychartDiagram-S5SC5T6Z-CQzJStra.js} +1 -1
- package/web/docs/404.html +2 -2
- package/web/docs/administration/account.html +3 -3
- package/web/docs/administration/audit.html +3 -3
- package/web/docs/administration/conversation-templates.html +3 -3
- package/web/docs/administration/email-notifications.html +3 -3
- package/web/docs/administration/license.html +5 -5
- package/web/docs/administration/nodes-workspaces.html +3 -3
- package/web/docs/administration/oauth.html +3 -3
- package/web/docs/administration/secrets.html +3 -3
- package/web/docs/administration/template-workspace-maintenance.html +3 -3
- package/web/docs/administration/users-organizations.html +3 -3
- package/web/docs/assets/administration_license.md.Bf1iyuKG.js +1 -0
- package/web/docs/assets/{administration_license.md.CdgtKnVd.lean.js → administration_license.md.Bf1iyuKG.lean.js} +1 -1
- package/web/docs/assets/{app.DQ73g8Ca.js → app.DFdypnML.js} +1 -1
- package/web/docs/assets/chunks/@localSearchIndexen-US.BEf68FQA.js +1 -0
- package/web/docs/assets/chunks/@localSearchIndexroot.Dw4g7XXs.js +1 -0
- package/web/docs/assets/chunks/{VPLocalSearchBox.vP8fXe46.js → VPLocalSearchBox.P9CapR4-.js} +1 -1
- package/web/docs/assets/chunks/{theme.CES2lSYr.js → theme.DLnKtfGY.js} +2 -2
- package/web/docs/assets/en-US_administration_license.md.Dmg8rNEl.js +1 -0
- package/web/docs/assets/{en-US_administration_license.md.jmAMVJjC.lean.js → en-US_administration_license.md.Dmg8rNEl.lean.js} +1 -1
- package/web/docs/assets/{en-US_getting-started_npm-quick-start.md.CLCHq7k_.js → en-US_getting-started_npm-quick-start.md.Dwsi-ffA.js} +2 -2
- package/web/docs/assets/{en-US_getting-started_npm-quick-start.md.CLCHq7k_.lean.js → en-US_getting-started_npm-quick-start.md.Dwsi-ffA.lean.js} +1 -1
- package/web/docs/assets/en-US_workbench_skills.md.xchi27R9.js +1 -0
- package/web/docs/assets/{en-US_workbench_skills.md.C4xlXyjC.lean.js → en-US_workbench_skills.md.xchi27R9.lean.js} +1 -1
- package/web/docs/assets/{getting-started_npm-quick-start.md.B9varoSe.js → getting-started_npm-quick-start.md.CcxMwUgz.js} +2 -2
- package/web/docs/assets/{getting-started_npm-quick-start.md.B9varoSe.lean.js → getting-started_npm-quick-start.md.CcxMwUgz.lean.js} +1 -1
- package/web/docs/assets/workbench_skills.md.BQw1Wuiy.js +1 -0
- package/web/docs/assets/{workbench_skills.md.rWZ_VuoB.lean.js → workbench_skills.md.BQw1Wuiy.lean.js} +1 -1
- package/web/docs/concepts/architecture.html +3 -3
- package/web/docs/concepts/data-and-security.html +3 -3
- package/web/docs/concepts/files-git-terminal.html +3 -3
- package/web/docs/concepts/node-and-workspace.html +3 -3
- package/web/docs/concepts/permissions-and-sharing.html +3 -3
- package/web/docs/concepts/runner-control.html +3 -3
- package/web/docs/concepts/secrets.html +3 -3
- package/web/docs/concepts/session-run-turn.html +3 -3
- package/web/docs/deployment/backup-restore.html +3 -3
- package/web/docs/deployment/network.html +3 -3
- package/web/docs/deployment/node-installation.html +3 -3
- package/web/docs/deployment/node-linux.html +3 -3
- package/web/docs/deployment/node-macos.html +3 -3
- package/web/docs/deployment/node-windows.html +3 -3
- package/web/docs/deployment/production.html +3 -3
- package/web/docs/deployment/security-checklist.html +3 -3
- package/web/docs/deployment/upgrade.html +3 -3
- package/web/docs/en-US/administration/account.html +3 -3
- package/web/docs/en-US/administration/audit.html +3 -3
- package/web/docs/en-US/administration/conversation-templates.html +3 -3
- package/web/docs/en-US/administration/email-notifications.html +3 -3
- package/web/docs/en-US/administration/license.html +5 -5
- package/web/docs/en-US/administration/nodes-workspaces.html +3 -3
- package/web/docs/en-US/administration/oauth.html +3 -3
- package/web/docs/en-US/administration/secrets.html +3 -3
- package/web/docs/en-US/administration/template-workspace-maintenance.html +3 -3
- package/web/docs/en-US/administration/users-organizations.html +3 -3
- package/web/docs/en-US/concepts/architecture.html +3 -3
- package/web/docs/en-US/concepts/data-and-security.html +3 -3
- package/web/docs/en-US/concepts/files-git-terminal.html +3 -3
- package/web/docs/en-US/concepts/node-and-workspace.html +3 -3
- package/web/docs/en-US/concepts/permissions-and-sharing.html +3 -3
- package/web/docs/en-US/concepts/runner-control.html +3 -3
- package/web/docs/en-US/concepts/secrets.html +3 -3
- package/web/docs/en-US/concepts/session-run-turn.html +3 -3
- package/web/docs/en-US/deployment/backup-restore.html +3 -3
- package/web/docs/en-US/deployment/network.html +3 -3
- package/web/docs/en-US/deployment/node-installation.html +3 -3
- package/web/docs/en-US/deployment/node-linux.html +3 -3
- package/web/docs/en-US/deployment/node-macos.html +3 -3
- package/web/docs/en-US/deployment/node-windows.html +3 -3
- package/web/docs/en-US/deployment/production.html +3 -3
- package/web/docs/en-US/deployment/security-checklist.html +3 -3
- package/web/docs/en-US/deployment/upgrade.html +3 -3
- package/web/docs/en-US/getting-started/connect-node.html +3 -3
- package/web/docs/en-US/getting-started/first-agent-session.html +3 -3
- package/web/docs/en-US/getting-started/first-login.html +3 -3
- package/web/docs/en-US/getting-started/next-steps.html +3 -3
- package/web/docs/en-US/getting-started/npm-quick-start.html +6 -6
- package/web/docs/en-US/getting-started/overview.html +3 -3
- package/web/docs/en-US/getting-started/prerequisites.html +3 -3
- package/web/docs/en-US/getting-started/register-workspace.html +3 -3
- package/web/docs/en-US/getting-started/server-installation.html +3 -3
- package/web/docs/en-US/operations/marctl.html +3 -3
- package/web/docs/en-US/reference/configuration.html +3 -3
- package/web/docs/en-US/reference/keyboard-shortcuts.html +3 -3
- package/web/docs/en-US/reference/limits.html +3 -3
- package/web/docs/en-US/reference/ports-paths-data.html +3 -3
- package/web/docs/en-US/reference/status-and-errors.html +3 -3
- package/web/docs/en-US/runners/claude-code.html +3 -3
- package/web/docs/en-US/runners/codex.html +3 -3
- package/web/docs/en-US/runners/mar-agent.html +3 -3
- package/web/docs/en-US/runners/opencode.html +3 -3
- package/web/docs/en-US/runners/overview.html +3 -3
- package/web/docs/en-US/runners/runner-troubleshooting.html +3 -3
- package/web/docs/en-US/troubleshooting/node-offline.html +3 -3
- package/web/docs/en-US/troubleshooting/quick-diagnosis.html +3 -3
- package/web/docs/en-US/troubleshooting/session-run.html +3 -3
- package/web/docs/en-US/troubleshooting/terminal.html +3 -3
- package/web/docs/en-US/troubleshooting/workspace-files.html +3 -3
- package/web/docs/en-US/workbench/composer.html +3 -3
- package/web/docs/en-US/workbench/context-and-plan.html +3 -3
- package/web/docs/en-US/workbench/conversation.html +3 -3
- package/web/docs/en-US/workbench/file-reference-and-attachment.html +3 -3
- package/web/docs/en-US/workbench/files.html +3 -3
- package/web/docs/en-US/workbench/git-changes.html +3 -3
- package/web/docs/en-US/workbench/git-history.html +3 -3
- package/web/docs/en-US/workbench/hosted-conversations.html +3 -3
- package/web/docs/en-US/workbench/mobile.html +3 -3
- package/web/docs/en-US/workbench/navigation.html +3 -3
- package/web/docs/en-US/workbench/sessions.html +3 -3
- package/web/docs/en-US/workbench/skills.html +5 -5
- package/web/docs/en-US/workbench/terminal.html +3 -3
- package/web/docs/getting-started/connect-node.html +3 -3
- package/web/docs/getting-started/first-agent-session.html +3 -3
- package/web/docs/getting-started/first-login.html +3 -3
- package/web/docs/getting-started/next-steps.html +3 -3
- package/web/docs/getting-started/npm-quick-start.html +6 -6
- package/web/docs/getting-started/overview.html +3 -3
- package/web/docs/getting-started/prerequisites.html +3 -3
- package/web/docs/getting-started/register-workspace.html +3 -3
- package/web/docs/getting-started/server-installation.html +3 -3
- package/web/docs/hashmap.json +1 -1
- package/web/docs/operations/marctl.html +3 -3
- package/web/docs/reference/configuration.html +3 -3
- package/web/docs/reference/keyboard-shortcuts.html +3 -3
- package/web/docs/reference/limits.html +3 -3
- package/web/docs/reference/ports-paths-data.html +3 -3
- package/web/docs/reference/status-and-errors.html +3 -3
- package/web/docs/runners/claude-code.html +3 -3
- package/web/docs/runners/codex.html +3 -3
- package/web/docs/runners/mar-agent.html +3 -3
- package/web/docs/runners/opencode.html +3 -3
- package/web/docs/runners/overview.html +3 -3
- package/web/docs/runners/runner-troubleshooting.html +3 -3
- package/web/docs/troubleshooting/node-offline.html +3 -3
- package/web/docs/troubleshooting/quick-diagnosis.html +3 -3
- package/web/docs/troubleshooting/session-run.html +3 -3
- package/web/docs/troubleshooting/terminal.html +3 -3
- package/web/docs/troubleshooting/workspace-files.html +3 -3
- package/web/docs/workbench/composer.html +3 -3
- package/web/docs/workbench/context-and-plan.html +3 -3
- package/web/docs/workbench/conversation.html +3 -3
- package/web/docs/workbench/file-reference-and-attachment.html +3 -3
- package/web/docs/workbench/files.html +3 -3
- package/web/docs/workbench/git-changes.html +3 -3
- package/web/docs/workbench/git-history.html +3 -3
- package/web/docs/workbench/hosted-conversations.html +3 -3
- package/web/docs/workbench/mobile.html +3 -3
- package/web/docs/workbench/navigation.html +3 -3
- package/web/docs/workbench/sessions.html +3 -3
- package/web/docs/workbench/skills.html +5 -5
- package/web/docs/workbench/terminal.html +3 -3
- package/web/index.html +1 -1
- package/web/service-worker.js +1 -1
- package/web/web-version.json +1 -1
- package/web/assets/NodeManagementPage-8rxZ_6Zt.js +0 -1
- package/web/assets/NodeManagementPage-Ccod7oYU.js +0 -1
- package/web/assets/SecretManagementPage-CdgTv3Ov.js +0 -1
- package/web/assets/SkillCenterPage-93Mc7S1A.js +0 -1
- package/web/assets/SystemConfigurationPage-Dg5txhny.js +0 -1
- package/web/assets/WorkspaceManagementPage-D_xOZ93I.js +0 -1
- package/web/assets/WorkspaceManagementPage-K7-IdW3A.js +0 -1
- package/web/assets/channel-Df00MEsi.js +0 -1
- package/web/assets/classDiagram-CYGNFDIV-BkPukKVs.js +0 -1
- package/web/assets/classDiagram-v2-TLXNO2FR-BkPukKVs.js +0 -1
- package/web/assets/infoDiagram-FKFFQAWI-DMowyzbG.js +0 -2
- package/web/assets/stateDiagram-v2-IH3M54BS-BEZ0_9G2.js +0 -1
- package/web/assets/swimlanesDiagram-JKAHXJPX-2keKlibd.js +0 -8
- package/web/docs/assets/administration_license.md.CdgtKnVd.js +0 -1
- package/web/docs/assets/chunks/@localSearchIndexen-US.BmMs0yM1.js +0 -1
- package/web/docs/assets/chunks/@localSearchIndexroot.BUqMaw8-.js +0 -1
- package/web/docs/assets/en-US_administration_license.md.jmAMVJjC.js +0 -1
- package/web/docs/assets/en-US_workbench_skills.md.C4xlXyjC.js +0 -1
- package/web/docs/assets/workbench_skills.md.rWZ_VuoB.js +0 -1
package/web/docs/assets/chunks/{VPLocalSearchBox.vP8fXe46.js → VPLocalSearchBox.P9CapR4-.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{V as He,q as De,ai as Et,h as pe,aj as Ge,ak as Tt,al as It,am as kt,G as re,d as Nt,an as Qe,p as ce,ao as Ft,ap as Rt,s as Ot,aq as At,v as Fe,P as ue,O as ge,a2 as Ct,ar as Mt,W as Lt,R as Dt,$ as Pt,o as W,b as zt,j as E,a0 as Vt,k as C,as as jt,at as $t,au as Bt,c as q,n as Ye,e as be,B as Ze,F as Xe,a as de,t as fe,av as Wt,aw as et,ax as Kt,a7 as Jt,ac as Ut,ay as qt,_ as Ht}from"./framework.BHjrhdiC.js";import{u as Gt,c as Qt}from"./theme.
|
|
1
|
+
import{V as He,q as De,ai as Et,h as pe,aj as Ge,ak as Tt,al as It,am as kt,G as re,d as Nt,an as Qe,p as ce,ao as Ft,ap as Rt,s as Ot,aq as At,v as Fe,P as ue,O as ge,a2 as Ct,ar as Mt,W as Lt,R as Dt,$ as Pt,o as W,b as zt,j as E,a0 as Vt,k as C,as as jt,at as $t,au as Bt,c as q,n as Ye,e as be,B as Ze,F as Xe,a as de,t as fe,av as Wt,aw as et,ax as Kt,a7 as Jt,ac as Ut,ay as qt,_ as Ht}from"./framework.BHjrhdiC.js";import{u as Gt,c as Qt}from"./theme.DLnKtfGY.js";const Yt={root:()=>He(()=>import("./@localSearchIndexroot.Dw4g7XXs.js"),[]),"en-US":()=>He(()=>import("./@localSearchIndexen-US.BEf68FQA.js"),[])};/*!
|
|
2
2
|
* tabbable 6.5.0
|
|
3
3
|
* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
|
|
4
4
|
*/var ut=["input:not([inert]):not([inert] *)","select:not([inert]):not([inert] *)","textarea:not([inert]):not([inert] *)","a[href]:not([inert]):not([inert] *)","area[href]:not([inert]):not([inert] *)","button:not([inert]):not([inert] *)","[tabindex]:not(slot):not([inert]):not([inert] *)","audio[controls]:not([inert]):not([inert] *)","video[controls]:not([inert]):not([inert] *)",'[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *)',"details>summary:first-of-type:not([inert]):not([inert] *)","details:not([inert]):not([inert] *)"],_e=ut.join(","),dt=typeof Element>"u",ee=dt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,xe=!dt&&Element.prototype.getRootNode?function(a){var e;return a==null||(e=a.getRootNode)===null||e===void 0?void 0:e.call(a)}:function(a){return a?.ownerDocument},Ee=function(e,t){var n;t===void 0&&(t=!0);var r=e==null||(n=e.getAttribute)===null||n===void 0?void 0:n.call(e,"inert"),s=r===""||r==="true",i=s||t&&e&&(typeof e.closest=="function"?e.closest("[inert]"):Ee(e.parentNode));return i},Zt=function(e){var t,n=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return n===""||n==="true"},ft=function(e,t,n){if(Ee(e))return[];var r=Array.prototype.slice.apply(e.querySelectorAll(_e));return t&&ee.call(e,_e)&&r.unshift(e),r=r.filter(n),r},Te=function(e,t,n){for(var r=[],s=Array.from(e);s.length;){var i=s.shift();if(!Ee(i,!1))if(i.tagName==="SLOT"){var o=i.assignedElements(),l=o.length?o:i.children,c=Te(l,!0,n);n.flatten?r.push.apply(r,c):r.push({scopeParent:i,candidates:c})}else{var h=ee.call(i,_e);h&&n.filter(i)&&(t||!e.includes(i))&&r.push(i);var v=i.shadowRoot||typeof n.getShadowRoot=="function"&&n.getShadowRoot(i),p=!Ee(v,!1)&&(!n.shadowRootFilter||n.shadowRootFilter(i));if(v&&p){var y=Te(v===!0?i.children:v.children,!0,n);n.flatten?r.push.apply(r,y):r.push({scopeParent:i,candidates:y})}else s.unshift.apply(s,i.children)}}return r},ht=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},X=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||Zt(e))&&!ht(e)?0:e.tabIndex},Xt=function(e,t){var n=X(e);return n<0&&t&&!ht(e)?0:n},en=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},pt=function(e){return e.tagName==="INPUT"},tn=function(e){return pt(e)&&e.type==="hidden"},nn=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(n){return n.tagName==="SUMMARY"});return t},rn=function(e,t){for(var n=0;n<e.length;n++)if(e[n].checked&&e[n].form===t)return e[n]},sn=function(e){if(!e.name)return!0;var t=e.form||xe(e),n=function(o){return t.querySelectorAll('input[type="radio"][name="'+o+'"]')},r;if(typeof window<"u"&&typeof window.CSS<"u"&&typeof window.CSS.escape=="function")r=n(window.CSS.escape(e.name));else try{r=n(e.name)}catch(i){return console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s",i.message),!1}var s=rn(r,e.form);return!s||s===e},an=function(e){return pt(e)&&e.type==="radio"},on=function(e){return an(e)&&!sn(e)},ln=function(e){var t,n=e&&xe(e),r=(t=n)===null||t===void 0?void 0:t.host,s=!1;if(n&&n!==e){var i,o,l;for(s=!!((i=r)!==null&&i!==void 0&&(o=i.ownerDocument)!==null&&o!==void 0&&o.contains(r)||e!=null&&(l=e.ownerDocument)!==null&&l!==void 0&&l.contains(e));!s&&r;){var c,h,v;n=xe(r),r=(c=n)===null||c===void 0?void 0:c.host,s=!!((h=r)!==null&&h!==void 0&&(v=h.ownerDocument)!==null&&v!==void 0&&v.contains(r))}}return s},tt=function(e){var t=e.getBoundingClientRect(),n=t.width,r=t.height;return n===0&&r===0},cn=function(e,t){var n=t.displayCheck,r=t.getShadowRoot;if(n==="full-native"&&"checkVisibility"in e){var s=e.checkVisibility({checkOpacity:!1,opacityProperty:!1,contentVisibilityAuto:!0,visibilityProperty:!0,checkVisibilityCSS:!0});return!s}var i=getComputedStyle(e),o=i.visibility;if(o==="hidden"||o==="collapse")return!0;var l=ee.call(e,"details>summary:first-of-type"),c=l?e.parentElement:e;if(ee.call(c,"details:not([open]) *"))return!0;if(!n||n==="full"||n==="full-native"||n==="legacy-full"){if(typeof r=="function"){for(var h=e;e;){var v=e.parentElement,p=xe(e);if(v&&!v.shadowRoot&&r(v)===!0)return tt(e);e.assignedSlot?e=e.assignedSlot:!v&&p!==e.ownerDocument?e=p.host:e=v}e=h}if(ln(e))return!e.getClientRects().length;if(n!=="legacy-full")return!0}else if(n==="non-zero-area")return tt(e);return!1},un=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var n=0;n<t.children.length;n++){var r=t.children.item(n);if(r.tagName==="LEGEND")return ee.call(t,"fieldset[disabled] *")?!0:!r.contains(e)}return!0}t=t.parentElement}return!1},Ie=function(e,t){return!(t.disabled||tn(t)||cn(t,e)||nn(t)||un(t))},Pe=function(e,t){return!(on(t)||X(t)<0||!Ie(e,t))},dn=function(e){var t=parseInt(e.getAttribute("tabindex"),10);return!!(isNaN(t)||t>=0)},vt=function(e){var t=[],n=[];return e.forEach(function(r,s){var i=!!r.scopeParent,o=i?r.scopeParent:r,l=Xt(o,i),c=i?vt(r.candidates):o;l===0?i?t.push.apply(t,c):t.push(o):n.push({documentOrder:s,tabIndex:l,item:r,isScope:i,content:c})}),n.sort(en).reduce(function(r,s){return s.isScope?r.push.apply(r,s.content):r.push(s.content),r},[]).concat(t)},fn=function(e,t){t=t||{};var n;return t.getShadowRoot?n=Te([e],t.includeContainer,{filter:Pe.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:dn}):n=ft(e,t.includeContainer,Pe.bind(null,t)),vt(n)},hn=function(e,t){t=t||{};var n;return t.getShadowRoot?n=Te([e],t.includeContainer,{filter:Ie.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):n=ft(e,t.includeContainer,Ie.bind(null,t)),n},te=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ee.call(e,_e)===!1?!1:Pe(t,e)},pn=ut.concat("iframe:not([inert]):not([inert] *)").join(","),Re=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ee.call(e,pn)===!1?!1:Ie(t,e)};/*!
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.
|
|
2
|
-
import{d as p,c as u,r as c,n as x,o as s,a as R,t as V,b as g,w as f,T as ue,e as h,_ as $,u as Y,i as De,f as Oe,g as de,h as y,j as d,k as r,l as G,m as se,p as S,q as H,s as X,v as D,x as Q,y as ve,z as Fe,A as Ue,F as w,B as I,C as j,D as Z,E as _,G as Le,H as B,I as Ve,J as W,K as U,L as ee,M as Re,N as Se,O as re,P as fe,Q as Te,R as te,S as Ge,U as je,V as ze,W as xe,X as we,Y as We,Z as qe,$ as Ke,a0 as Je,a1 as Ye,a2 as Xe}from"./framework.BHjrhdiC.js";const Qe=p({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(e){return(t,n)=>(s(),u("span",{class:x(["VPBadge",e.type])},[c(t.$slots,"default",{},()=>[R(V(e.text),1)])],2))}}),Ze={key:0,class:"VPBackdrop"},et=p({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(e){return(t,n)=>(s(),g(ue,{name:"fade"},{default:f(()=>[e.show?(s(),u("div",Ze)):h("",!0)]),_:1}))}}),tt=$(et,[["__scopeId","data-v-1d755e79"]]),L=Y;function nt(e,t){let n,o=!1;return()=>{n&&clearTimeout(n),o?n=setTimeout(e,t):(e(),(o=!0)&&setTimeout(()=>o=!1,t))}}function ie(e){return e.startsWith("/")?e:`/${e}`}function me(e){const{pathname:t,search:n,hash:o,protocol:a}=new URL(e,"http://a.com");if(De(e)||e.startsWith("#")||!a.startsWith("http")||!Oe(t))return e;const{site:i}=L(),l=t.endsWith("/")||t.endsWith(".html")?e:e.replace(/(?:(^\.+)\/)?.*$/,`$1${t.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${n}${o}`);return de(l)}function q({correspondingLink:e=!1}={}){const{site:t,localeIndex:n,page:o,theme:a,hash:i}=L(),l=y(()=>({label:t.value.locales[n.value]?.label,link:t.value.locales[n.value]?.link||(n.value==="root"?"/":`/${n.value}/`)}));return{localeLinks:y(()=>Object.entries(t.value.locales).flatMap(([m,b])=>l.value.label===b.label?[]:{text:b.label,link:ot(b.link||(m==="root"?"/":`/${m}/`),a.value.i18nRouting!==!1&&e,o.value.relativePath.slice(l.value.link.length-1),!t.value.cleanUrls)+i.value})),currentLang:l}}function ot(e,t,n,o){return t?e.replace(/\/$/,"")+ie(n.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,o?".html":"")):e}const at={class:"NotFound"},st={class:"code"},rt={class:"title"},it={class:"quote"},lt={class:"action"},ct=["href","aria-label"],ut=p({__name:"NotFound",setup(e){const{theme:t}=L(),{currentLang:n}=q();return(o,a)=>(s(),u("div",at,[d("p",st,V(r(t).notFound?.code??"404"),1),d("h1",rt,V(r(t).notFound?.title??"PAGE NOT FOUND"),1),a[0]||(a[0]=d("div",{class:"divider"},null,-1)),d("blockquote",it,V(r(t).notFound?.quote??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),d("div",lt,[d("a",{class:"link",href:r(de)(r(n).link),"aria-label":r(t).notFound?.linkLabel??"go to home"},V(r(t).notFound?.linkText??"Take me home"),9,ct)])]))}}),dt=$(ut,[["__scopeId","data-v-003f2b9e"]]);function Ne(e,t){if(Array.isArray(e))return K(e);if(e==null)return[];t=ie(t);const n=Object.keys(e).sort((a,i)=>i.split("/").length-a.split("/").length).find(a=>t.startsWith(ie(a))),o=n?e[n]:[];return Array.isArray(o)?K(o):K(o.items,o.base)}function vt(e){const t=[];let n=0;for(const o in e){const a=e[o];if(a.items){n=t.push(a);continue}t[n]||t.push({items:[]}),t[n].items.push(a)}return t}function ft(e){const t=[];function n(o){for(const a of o)a.text&&a.link&&t.push({text:a.text,link:a.link,docFooterText:a.docFooterText}),a.items&&n(a.items)}return n(e),t}function le(e,t){return Array.isArray(t)?t.some(n=>le(e,n)):G(e,t.link)?!0:t.items?le(e,t.items):!1}function K(e,t){return[...e].map(n=>{const o={...n},a=o.base||t;return a&&o.link&&(o.link=a+o.link),o.items&&(o.items=K(o.items,a)),o})}function O(){const{frontmatter:e,page:t,theme:n}=L(),o=se("(min-width: 960px)"),a=S(!1),i=y(()=>{const C=n.value.sidebar,A=t.value.relativePath;return C?Ne(C,A):[]}),l=S(i.value);H(i,(C,A)=>{JSON.stringify(C)!==JSON.stringify(A)&&(l.value=i.value)});const v=y(()=>e.value.sidebar!==!1&&l.value.length>0&&e.value.layout!=="home"),m=y(()=>b?e.value.aside==null?n.value.aside==="left":e.value.aside==="left":!1),b=y(()=>e.value.layout==="home"?!1:e.value.aside!=null?!!e.value.aside:n.value.aside!==!1),P=y(()=>v.value&&o.value),k=y(()=>v.value?vt(l.value):[]);function T(){a.value=!0}function N(){a.value=!1}function M(){a.value?N():T()}return{isOpen:a,sidebar:l,sidebarGroups:k,hasSidebar:v,hasAside:b,leftAside:m,isSidebarEnabled:P,open:T,close:N,toggle:M}}function mt(e,t){let n;X(()=>{n=e.value?document.activeElement:void 0}),D(()=>{window.addEventListener("keyup",o)}),Q(()=>{window.removeEventListener("keyup",o)});function o(a){a.key==="Escape"&&e.value&&(t(),n?.focus())}}function ht(e){const{page:t,hash:n}=L(),o=S(!1),a=y(()=>e.value.collapsed!=null),i=y(()=>!!e.value.link),l=S(!1),v=()=>{l.value=G(t.value.relativePath,e.value.link)};H([t,e,n],v),D(v);const m=y(()=>l.value?!0:e.value.items?le(t.value.relativePath,e.value.items):!1),b=y(()=>!!(e.value.items&&e.value.items.length));X(()=>{o.value=!!(a.value&&e.value.collapsed)}),ve(()=>{(l.value||m.value)&&(o.value=!1)});function P(){a.value&&(o.value=!o.value)}return{collapsed:o,collapsible:a,isLink:i,isActiveLink:l,hasActiveLink:m,hasChildren:b,toggle:P}}function pt(){const{hasSidebar:e}=O(),t=se("(min-width: 960px)"),n=se("(min-width: 1280px)");return{isAsideEnabled:y(()=>!n.value&&!t.value?!1:e.value?n.value:t.value)}}const _t=/\b(?:VPBadge|header-anchor|footnote-ref|ignore-header)\b/,ce=[];function Ie(e){return typeof e.outline=="object"&&!Array.isArray(e.outline)&&e.outline.label||e.outlineTitle||"On this page"}function he(e){const t=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(n=>n.id&&n.hasChildNodes()).map(n=>{const o=Number(n.tagName[1]);return{element:n,title:gt(n),link:"#"+n.id,level:o}});return kt(t,e)}function gt(e){let t="";for(const n of e.childNodes)if(n.nodeType===1){if(_t.test(n.className))continue;t+=n.textContent}else n.nodeType===3&&(t+=n.textContent);return t.trim()}function kt(e,t){if(t===!1)return[];const n=(typeof t=="object"&&!Array.isArray(t)?t.level:t)||2,[o,a]=typeof n=="number"?[n,n]:n==="deep"?[2,6]:n;return yt(e,o,a)}function bt(e,t){const{isAsideEnabled:n}=pt(),o=nt(i,100);let a=null;D(()=>{requestAnimationFrame(i),window.addEventListener("scroll",o)}),Fe(()=>{l(location.hash)}),Q(()=>{window.removeEventListener("scroll",o)});function i(){if(!n.value)return;const v=window.scrollY,m=window.innerHeight,b=document.body.offsetHeight,P=Math.abs(v+m-b)<1,k=ce.map(({element:N,link:M})=>({link:M,top:$t(N)})).filter(({top:N})=>!Number.isNaN(N)).sort((N,M)=>N.top-M.top);if(!k.length){l(null);return}if(v<1){l(null);return}if(P){l(k[k.length-1].link);return}let T=null;for(const{link:N,top:M}of k){if(M>v+Ue()+4)break;T=N}l(T)}function l(v){a&&a.classList.remove("active"),v==null?a=null:a=e.value.querySelector(`a[href="${decodeURIComponent(v)}"]`);const m=a;m?(m.classList.add("active"),t.value.style.top=m.offsetTop+39+"px",t.value.style.opacity="1"):(t.value.style.top="33px",t.value.style.opacity="0")}}function $t(e){let t=0;for(;e!==document.body;){if(e===null)return NaN;t+=e.offsetTop,e=e.offsetParent}return t}function yt(e,t,n){ce.length=0;const o=[],a=[];return e.forEach(i=>{const l={...i,children:[]};let v=a[a.length-1];for(;v&&v.level>=l.level;)a.pop(),v=a[a.length-1];if(l.element.classList.contains("ignore-header")||v&&"shouldIgnore"in v){a.push({level:l.level,shouldIgnore:!0});return}l.level>n||l.level<t||(ce.push({element:l.element,link:l.link}),v?v.children.push(l):o.push(l),a.push(l))}),o}const Pt=["href","title"],Lt=p({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(e){function t({target:n}){const o=n.href.split("#")[1];document.getElementById(decodeURIComponent(o))?.focus({preventScroll:!0})}return(n,o)=>{const a=j("VPDocOutlineItem",!0);return s(),u("ul",{class:x(["VPDocOutlineItem",e.root?"root":"nested"])},[(s(!0),u(w,null,I(e.headers,({children:i,link:l,title:v})=>(s(),u("li",null,[d("a",{class:"outline-link",href:l,onClick:t,title:v},V(v),9,Pt),i?.length?(s(),g(a,{key:0,headers:i},null,8,["headers"])):h("",!0)]))),256))],2)}}}),Me=$(Lt,[["__scopeId","data-v-da64eb8d"]]),Vt={class:"content"},St={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},Tt=p({__name:"VPDocAsideOutline",setup(e){const{frontmatter:t,theme:n}=L(),o=Le([]);Z(()=>{o.value=he(t.value.outline??n.value.outline)});const a=S(),i=S();return bt(a,i),(l,v)=>(s(),u("nav",{"aria-labelledby":"doc-outline-aria-label",class:x(["VPDocAsideOutline",{"has-outline":o.value.length>0}]),ref_key:"container",ref:a},[d("div",Vt,[d("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),d("div",St,V(r(Ie)(r(n))),1),_(Me,{headers:o.value,root:!0},null,8,["headers"])])],2))}}),xt=$(Tt,[["__scopeId","data-v-30a0162a"]]),wt={class:"VPDocAsideCarbonAds"},Nt=p({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(e){const t=()=>null;return(n,o)=>(s(),u("div",wt,[_(r(t),{"carbon-ads":e.carbonAds},null,8,["carbon-ads"])]))}}),It={class:"VPDocAside"},Mt=p({__name:"VPDocAside",setup(e){const{theme:t}=L();return(n,o)=>(s(),u("div",It,[c(n.$slots,"aside-top",{},void 0,!0),c(n.$slots,"aside-outline-before",{},void 0,!0),_(xt),c(n.$slots,"aside-outline-after",{},void 0,!0),o[0]||(o[0]=d("div",{class:"spacer"},null,-1)),c(n.$slots,"aside-ads-before",{},void 0,!0),r(t).carbonAds?(s(),g(Nt,{key:0,"carbon-ads":r(t).carbonAds},null,8,["carbon-ads"])):h("",!0),c(n.$slots,"aside-ads-after",{},void 0,!0),c(n.$slots,"aside-bottom",{},void 0,!0)]))}}),Ct=$(Mt,[["__scopeId","data-v-56ec1007"]]);function At(){const{theme:e,page:t}=L();return y(()=>{const{text:n="Edit this page",pattern:o=""}=e.value.editLink||{};let a;return typeof o=="function"?a=o(t.value):a=o.replace(/:path/g,t.value.filePath),{url:a,text:n}})}function Ht(){const{page:e,theme:t,frontmatter:n}=L();return y(()=>{const o=Ne(t.value.sidebar,e.value.relativePath),a=ft(o),i=Bt(a,b=>b.link.replace(/[?#].*$/,"")),l=i.findIndex(b=>G(e.value.relativePath,b.link)),v=t.value.docFooter?.prev===!1&&!n.value.prev||n.value.prev===!1,m=t.value.docFooter?.next===!1&&!n.value.next||n.value.next===!1;return{prev:v?void 0:{text:(typeof n.value.prev=="string"?n.value.prev:typeof n.value.prev=="object"?n.value.prev.text:void 0)??i[l-1]?.docFooterText??i[l-1]?.text,link:(typeof n.value.prev=="object"?n.value.prev.link:void 0)??i[l-1]?.link},next:m?void 0:{text:(typeof n.value.next=="string"?n.value.next:typeof n.value.next=="object"?n.value.next.text:void 0)??i[l+1]?.docFooterText??i[l+1]?.text,link:(typeof n.value.next=="object"?n.value.next.link:void 0)??i[l+1]?.link}}})}function Bt(e,t){const n=new Set;return e.filter(o=>{const a=t(o);return n.has(a)?!1:n.add(a)})}const E=p({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(e){const t=e,n=y(()=>t.tag??(t.href?"a":"span")),o=y(()=>t.href&&Ve.test(t.href)||t.target==="_blank");return(a,i)=>(s(),g(B(n.value),{class:x(["VPLink",{link:e.href,"vp-external-link-icon":o.value,"no-icon":e.noIcon}]),href:e.href?r(me)(e.href):void 0,target:e.target??(o.value?"_blank":void 0),rel:e.rel??(o.value?"noreferrer":void 0)},{default:f(()=>[c(a.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Et={class:"VPLastUpdated"},Dt=["datetime"],Ot=p({__name:"VPDocFooterLastUpdated",setup(e){const{theme:t,page:n,lang:o}=L(),a=y(()=>new Date(n.value.lastUpdated)),i=y(()=>a.value.toISOString()),l=S("");return D(()=>{X(()=>{l.value=new Intl.DateTimeFormat(t.value.lastUpdated?.formatOptions?.forceLocale?o.value:void 0,t.value.lastUpdated?.formatOptions??{dateStyle:"short",timeStyle:"short"}).format(a.value)})}),(v,m)=>(s(),u("p",Et,[R(V(r(t).lastUpdated?.text||r(t).lastUpdatedText||"Last updated")+": ",1),d("time",{datetime:i.value},V(l.value),9,Dt)]))}}),Ft=$(Ot,[["__scopeId","data-v-9c08415f"]]),Ut={key:0,class:"VPDocFooter"},Rt={key:0,class:"edit-info"},Gt={key:0,class:"edit-link"},jt={key:1,class:"last-updated"},zt={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},Wt={class:"pager"},qt=["innerHTML"],Kt=["innerHTML"],Jt={class:"pager"},Yt=["innerHTML"],Xt=["innerHTML"],Qt=p({__name:"VPDocFooter",setup(e){const{theme:t,page:n,frontmatter:o}=L(),a=At(),i=Ht(),l=y(()=>t.value.editLink&&o.value.editLink!==!1),v=y(()=>n.value.lastUpdated),m=y(()=>l.value||v.value||i.value.prev||i.value.next);return(b,P)=>m.value?(s(),u("footer",Ut,[c(b.$slots,"doc-footer-before",{},void 0,!0),l.value||v.value?(s(),u("div",Rt,[l.value?(s(),u("div",Gt,[_(E,{class:"edit-link-button",href:r(a).url,"no-icon":!0},{default:f(()=>[P[0]||(P[0]=d("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),R(" "+V(r(a).text),1)]),_:1},8,["href"])])):h("",!0),v.value?(s(),u("div",jt,[_(Ft)])):h("",!0)])):h("",!0),r(i).prev?.link||r(i).next?.link?(s(),u("nav",zt,[P[1]||(P[1]=d("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),d("div",Wt,[r(i).prev?.link?(s(),g(E,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:f(()=>[d("span",{class:"desc",innerHTML:r(t).docFooter?.prev||"Previous page"},null,8,qt),d("span",{class:"title",innerHTML:r(i).prev.text},null,8,Kt)]),_:1},8,["href"])):h("",!0)]),d("div",Jt,[r(i).next?.link?(s(),g(E,{key:0,class:"pager-link next",href:r(i).next.link},{default:f(()=>[d("span",{class:"desc",innerHTML:r(t).docFooter?.next||"Next page"},null,8,Yt),d("span",{class:"title",innerHTML:r(i).next.text},null,8,Xt)]),_:1},8,["href"])):h("",!0)])])):h("",!0)])):h("",!0)}}),Zt=$(Qt,[["__scopeId","data-v-579b47ad"]]),en={class:"container"},tn={class:"aside-container"},nn={class:"aside-content"},on={class:"content"},an={class:"content-container"},sn={class:"main"},rn=p({__name:"VPDoc",setup(e){const{theme:t}=L(),n=W(),{hasSidebar:o,hasAside:a,leftAside:i}=O(),l=y(()=>n.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(v,m)=>{const b=j("Content");return s(),u("div",{class:x(["VPDoc",{"has-sidebar":r(o),"has-aside":r(a)}])},[c(v.$slots,"doc-top",{},void 0,!0),d("div",en,[r(a)?(s(),u("div",{key:0,class:x(["aside",{"left-aside":r(i)}])},[m[0]||(m[0]=d("div",{class:"aside-curtain"},null,-1)),d("div",tn,[d("div",nn,[_(Ct,null,{"aside-top":f(()=>[c(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[c(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[c(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):h("",!0),d("div",on,[d("div",an,[c(v.$slots,"doc-before",{},void 0,!0),d("main",sn,[_(b,{class:x(["vp-doc",[l.value,r(t).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),_(Zt,null,{"doc-footer-before":f(()=>[c(v.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),c(v.$slots,"doc-after",{},void 0,!0)])])]),c(v.$slots,"doc-bottom",{},void 0,!0)],2)}}}),ln=$(rn,[["__scopeId","data-v-cd08f8de"]]),cn=p({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(e){const t=e,n=y(()=>t.href&&Ve.test(t.href)),o=y(()=>t.tag||(t.href?"a":"button"));return(a,i)=>(s(),g(B(o.value),{class:x(["VPButton",[e.size,e.theme]]),href:e.href?r(me)(e.href):void 0,target:t.target??(n.value?"_blank":void 0),rel:t.rel??(n.value?"noreferrer":void 0)},{default:f(()=>[R(V(e.text),1)]),_:1},8,["class","href","target","rel"]))}}),un=$(cn,[["__scopeId","data-v-28d59202"]]),dn=["src","alt"],vn=p({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(e){return(t,n)=>{const o=j("VPImage",!0);return e.image?(s(),u(w,{key:0},[typeof e.image=="string"||"src"in e.image?(s(),u("img",U({key:0,class:"VPImage"},typeof e.image=="string"?t.$attrs:{...e.image,...t.$attrs},{src:r(de)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,dn)):(s(),u(w,{key:1},[_(o,U({class:"dark",image:e.image.dark,alt:e.image.alt},t.$attrs),null,16,["image","alt"]),_(o,U({class:"light",image:e.image.light,alt:e.image.alt},t.$attrs),null,16,["image","alt"])],64))],64)):h("",!0)}}}),J=$(vn,[["__scopeId","data-v-dd4a1533"]]),fn={class:"container"},mn={class:"main"},hn={class:"heading"},pn=["innerHTML"],_n=["innerHTML"],gn=["innerHTML"],kn={key:0,class:"actions"},bn={key:0,class:"image"},$n={class:"image-container"},yn=p({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(e){const t=ee("hero-image-slot-exists");return(n,o)=>(s(),u("div",{class:x(["VPHero",{"has-image":e.image||r(t)}])},[d("div",fn,[d("div",mn,[c(n.$slots,"home-hero-info-before",{},void 0,!0),c(n.$slots,"home-hero-info",{},()=>[d("h1",hn,[e.name?(s(),u("span",{key:0,innerHTML:e.name,class:"name clip"},null,8,pn)):h("",!0),e.text?(s(),u("span",{key:1,innerHTML:e.text,class:"text"},null,8,_n)):h("",!0)]),e.tagline?(s(),u("p",{key:0,innerHTML:e.tagline,class:"tagline"},null,8,gn)):h("",!0)],!0),c(n.$slots,"home-hero-info-after",{},void 0,!0),e.actions?(s(),u("div",kn,[(s(!0),u(w,null,I(e.actions,a=>(s(),u("div",{key:a.link,class:"action"},[_(un,{tag:"a",size:"medium",theme:a.theme,text:a.text,href:a.link,target:a.target,rel:a.rel},null,8,["theme","text","href","target","rel"])]))),128))])):h("",!0),c(n.$slots,"home-hero-actions-after",{},void 0,!0)]),e.image||r(t)?(s(),u("div",bn,[d("div",$n,[o[0]||(o[0]=d("div",{class:"image-bg"},null,-1)),c(n.$slots,"home-hero-image",{},()=>[e.image?(s(),g(J,{key:0,class:"image-src",image:e.image},null,8,["image"])):h("",!0)],!0)])])):h("",!0)])],2))}}),Pn=$(yn,[["__scopeId","data-v-afa10fa7"]]),Ln=p({__name:"VPHomeHero",setup(e){const{frontmatter:t}=L();return(n,o)=>r(t).hero?(s(),g(Pn,{key:0,class:"VPHomeHero",name:r(t).hero.name,text:r(t).hero.text,tagline:r(t).hero.tagline,image:r(t).hero.image,actions:r(t).hero.actions},{"home-hero-info-before":f(()=>[c(n.$slots,"home-hero-info-before")]),"home-hero-info":f(()=>[c(n.$slots,"home-hero-info")]),"home-hero-info-after":f(()=>[c(n.$slots,"home-hero-info-after")]),"home-hero-actions-after":f(()=>[c(n.$slots,"home-hero-actions-after")]),"home-hero-image":f(()=>[c(n.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):h("",!0)}}),Vn={class:"box"},Sn={key:0,class:"icon"},Tn=["innerHTML"],xn=["innerHTML"],wn=["innerHTML"],Nn={key:4,class:"link-text"},In={class:"link-text-value"},Mn=p({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(e){return(t,n)=>(s(),g(E,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:f(()=>[d("article",Vn,[typeof e.icon=="object"&&e.icon.wrap?(s(),u("div",Sn,[_(J,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(s(),g(J,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(s(),u("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Tn)):h("",!0),d("h2",{class:"title",innerHTML:e.title},null,8,xn),e.details?(s(),u("p",{key:3,class:"details",innerHTML:e.details},null,8,wn)):h("",!0),e.linkText?(s(),u("div",Nn,[d("p",In,[R(V(e.linkText)+" ",1),n[0]||(n[0]=d("span",{class:"vpi-arrow-right link-text-icon"},null,-1))])])):h("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),Cn=$(Mn,[["__scopeId","data-v-e68f5c54"]]),An={key:0,class:"VPFeatures"},Hn={class:"container"},Bn={class:"items"},En=p({__name:"VPFeatures",props:{features:{}},setup(e){const t=e,n=y(()=>{const o=t.features.length;if(o){if(o===2)return"grid-2";if(o===3)return"grid-3";if(o%3===0)return"grid-6";if(o>3)return"grid-4"}else return});return(o,a)=>e.features?(s(),u("div",An,[d("div",Hn,[d("div",Bn,[(s(!0),u(w,null,I(e.features,i=>(s(),u("div",{key:i.title,class:x(["item",[n.value]])},[_(Cn,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):h("",!0)}}),Dn=$(En,[["__scopeId","data-v-c29cee3c"]]),On=p({__name:"VPHomeFeatures",setup(e){const{frontmatter:t}=L();return(n,o)=>r(t).features?(s(),g(Dn,{key:0,class:"VPHomeFeatures",features:r(t).features},null,8,["features"])):h("",!0)}}),Fn=p({__name:"VPHomeContent",setup(e){const{width:t}=Re({initialWidth:0,includeScrollbar:!1});return(n,o)=>(s(),u("div",{class:"vp-doc container",style:Se(r(t)?{"--vp-offset":`calc(50% - ${r(t)/2}px)`}:{})},[c(n.$slots,"default",{},void 0,!0)],4))}}),Un=$(Fn,[["__scopeId","data-v-bd322132"]]),Rn=p({__name:"VPHome",setup(e){const{frontmatter:t,theme:n}=L();return(o,a)=>{const i=j("Content");return s(),u("div",{class:x(["VPHome",{"external-link-icon-enabled":r(n).externalLinkIcon}])},[c(o.$slots,"home-hero-before",{},void 0,!0),_(Ln,null,{"home-hero-info-before":f(()=>[c(o.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(o.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(o.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(o.$slots,"home-hero-image",{},void 0,!0)]),_:3}),c(o.$slots,"home-hero-after",{},void 0,!0),c(o.$slots,"home-features-before",{},void 0,!0),_(On),c(o.$slots,"home-features-after",{},void 0,!0),r(t).markdownStyles!==!1?(s(),g(Un,{key:0},{default:f(()=>[_(i)]),_:1})):(s(),g(i,{key:1}))],2)}}}),Gn=$(Rn,[["__scopeId","data-v-75436bba"]]),jn={},zn={class:"VPPage"};function Wn(e,t){const n=j("Content");return s(),u("div",zn,[c(e.$slots,"page-top"),_(n),c(e.$slots,"page-bottom")])}const qn=$(jn,[["render",Wn]]),Kn=p({__name:"VPContent",setup(e){const{page:t,frontmatter:n}=L(),{hasSidebar:o}=O();return(a,i)=>(s(),u("div",{class:x(["VPContent",{"has-sidebar":r(o),"is-home":r(n).layout==="home"}]),id:"VPContent"},[r(t).isNotFound?c(a.$slots,"not-found",{},()=>[_(dt)],!0,0):r(n).layout==="page"?(s(),g(qn,{key:1},{"page-top":f(()=>[c(a.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[c(a.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(n).layout==="home"?(s(),g(Gn,{key:2},{"home-hero-before":f(()=>[c(a.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[c(a.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(a.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(a.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(a.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(a.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[c(a.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[c(a.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[c(a.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(n).layout&&r(n).layout!=="doc"?(s(),g(B(r(n).layout),{key:3})):(s(),g(ln,{key:4},{"doc-top":f(()=>[c(a.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[c(a.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":f(()=>[c(a.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[c(a.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[c(a.$slots,"doc-after",{},void 0,!0)]),"aside-top":f(()=>[c(a.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":f(()=>[c(a.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(a.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(a.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(a.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":f(()=>[c(a.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),Jn=$(Kn,[["__scopeId","data-v-8da8809f"]]),Yn={class:"container"},Xn=["innerHTML"],Qn=["innerHTML"],Zn=p({__name:"VPFooter",setup(e){const{theme:t,frontmatter:n}=L(),{hasSidebar:o}=O();return(a,i)=>r(t).footer&&r(n).footer!==!1?(s(),u("footer",{key:0,class:x(["VPFooter",{"has-sidebar":r(o)}])},[d("div",Yn,[r(t).footer.message?(s(),u("p",{key:0,class:"message",innerHTML:r(t).footer.message},null,8,Xn)):h("",!0),r(t).footer.copyright?(s(),u("p",{key:1,class:"copyright",innerHTML:r(t).footer.copyright},null,8,Qn)):h("",!0)])],2)):h("",!0)}}),eo=$(Zn,[["__scopeId","data-v-51ac4691"]]);function to(){const{theme:e,frontmatter:t}=L(),n=Le([]),o=y(()=>n.value.length>0);return Z(()=>{n.value=he(t.value.outline??e.value.outline)}),{headers:n,hasLocalNav:o}}const no={class:"menu-text"},oo={class:"header"},ao={class:"outline"},so=p({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(e){const t=e,{theme:n}=L(),o=S(!1),a=S(0),i=S(),l=S();function v(k){i.value?.contains(k.target)||(o.value=!1)}H(o,k=>{if(k){document.addEventListener("click",v);return}document.removeEventListener("click",v)}),re("Escape",()=>{o.value=!1}),Z(()=>{o.value=!1});function m(){o.value=!o.value,a.value=window.innerHeight+Math.min(window.scrollY-t.navHeight,0)}function b(k){k.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),fe(()=>{o.value=!1}))}function P(){o.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(k,T)=>(s(),u("div",{class:"VPLocalNavOutlineDropdown",style:Se({"--vp-vh":a.value+"px"}),ref_key:"main",ref:i},[e.headers.length>0?(s(),u("button",{key:0,onClick:m,class:x({open:o.value})},[d("span",no,V(r(Ie)(r(n))),1),T[0]||(T[0]=d("span",{class:"vpi-chevron-right icon"},null,-1))],2)):(s(),u("button",{key:1,onClick:P},V(r(n).returnToTopLabel||"Return to top"),1)),_(ue,{name:"flyout"},{default:f(()=>[o.value?(s(),u("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:b},[d("div",oo,[d("a",{class:"top-link",href:"#",onClick:P},V(r(n).returnToTopLabel||"Return to top"),1)]),d("div",ao,[_(Me,{headers:e.headers},null,8,["headers"])])],512)):h("",!0)]),_:1})],4))}}),ro=$(so,[["__scopeId","data-v-8da33559"]]),io={class:"container"},lo=["aria-expanded"],co={class:"menu-text"},uo=p({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(e){const{theme:t,frontmatter:n}=L(),{hasSidebar:o}=O(),{headers:a}=to(),{y:i}=Te(),l=S(0);D(()=>{l.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),Z(()=>{a.value=he(n.value.outline??t.value.outline)});const v=y(()=>a.value.length===0),m=y(()=>v.value&&!o.value),b=y(()=>({VPLocalNav:!0,"has-sidebar":o.value,empty:v.value,fixed:m.value}));return(P,k)=>r(n).layout!=="home"&&(!m.value||r(i)>=l.value)?(s(),u("div",{key:0,class:x(b.value)},[d("div",io,[r(o)?(s(),u("button",{key:0,class:"menu","aria-expanded":e.open,"aria-controls":"VPSidebarNav",onClick:k[0]||(k[0]=T=>P.$emit("open-menu"))},[k[1]||(k[1]=d("span",{class:"vpi-align-left menu-icon"},null,-1)),d("span",co,V(r(t).sidebarMenuLabel||"Menu"),1)],8,lo)):h("",!0),_(ro,{headers:r(a),navHeight:l.value},null,8,["headers","navHeight"])])],2)):h("",!0)}}),vo=$(uo,[["__scopeId","data-v-0f137e95"]]);function fo(){const e=S(!1);function t(){e.value=!0,window.addEventListener("resize",a)}function n(){e.value=!1,window.removeEventListener("resize",a)}function o(){e.value?n():t()}function a(){window.outerWidth>=768&&n()}const i=W();return H(()=>i.path,n),{isScreenOpen:e,openScreen:t,closeScreen:n,toggleScreen:o}}const mo={},ho={class:"VPSwitch",type:"button",role:"switch"},po={class:"check"},_o={key:0,class:"icon"};function go(e,t){return s(),u("button",ho,[d("span",po,[e.$slots.default?(s(),u("span",_o,[c(e.$slots,"default",{},void 0,!0)])):h("",!0)])])}const ko=$(mo,[["render",go],["__scopeId","data-v-595ed02e"]]),bo=p({__name:"VPSwitchAppearance",setup(e){const{isDark:t,theme:n}=L(),o=ee("toggle-appearance",()=>{t.value=!t.value}),a=S("");return ve(()=>{a.value=t.value?n.value.lightModeSwitchTitle||"Switch to light theme":n.value.darkModeSwitchTitle||"Switch to dark theme"}),(i,l)=>(s(),g(ko,{title:a.value,class:"VPSwitchAppearance","aria-checked":r(t),onClick:r(o)},{default:f(()=>[...l[0]||(l[0]=[d("span",{class:"vpi-sun sun"},null,-1),d("span",{class:"vpi-moon moon"},null,-1)])]),_:1},8,["title","aria-checked","onClick"]))}}),pe=$(bo,[["__scopeId","data-v-273278d3"]]),$o={key:0,class:"VPNavBarAppearance"},yo=p({__name:"VPNavBarAppearance",setup(e){const{site:t}=L();return(n,o)=>r(t).appearance&&r(t).appearance!=="force-dark"&&r(t).appearance!=="force-auto"?(s(),u("div",$o,[_(pe)])):h("",!0)}}),Po=$(yo,[["__scopeId","data-v-b81617e7"]]),_e=S();let Ce=!1,oe=0;function Lo(e){const t=S(!1);if(te){!Ce&&Vo(),oe++;const n=H(_e,o=>{o===e.el.value||e.el.value?.contains(o)?(t.value=!0,e.onFocus?.()):(t.value=!1,e.onBlur?.())});Q(()=>{n(),oe--,oe||So()})}return Ge(t)}function Vo(){document.addEventListener("focusin",Ae),Ce=!0,_e.value=document.activeElement}function So(){document.removeEventListener("focusin",Ae)}function Ae(){_e.value=document.activeElement}const To={class:"VPMenuLink"},xo=["innerHTML"],wo=p({__name:"VPMenuLink",props:{item:{}},setup(e){const{page:t}=L();return(n,o)=>(s(),u("div",To,[_(E,{class:x({active:r(G)(r(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon},{default:f(()=>[d("span",{innerHTML:e.item.text},null,8,xo)]),_:1},8,["class","href","target","rel","no-icon"])]))}}),ne=$(wo,[["__scopeId","data-v-d62fa8e2"]]),No={class:"VPMenuGroup"},Io={key:0,class:"title"},Mo=p({__name:"VPMenuGroup",props:{text:{},items:{}},setup(e){return(t,n)=>(s(),u("div",No,[e.text?(s(),u("p",Io,V(e.text),1)):h("",!0),(s(!0),u(w,null,I(e.items,o=>(s(),u(w,null,["link"in o?(s(),g(ne,{key:0,item:o},null,8,["item"])):h("",!0)],64))),256))]))}}),Co=$(Mo,[["__scopeId","data-v-ad97fc48"]]),Ao={class:"VPMenu"},Ho={key:0,class:"items"},Bo=p({__name:"VPMenu",props:{items:{}},setup(e){return(t,n)=>(s(),u("div",Ao,[e.items?(s(),u("div",Ho,[(s(!0),u(w,null,I(e.items,o=>(s(),u(w,{key:JSON.stringify(o)},["link"in o?(s(),g(ne,{key:0,item:o},null,8,["item"])):"component"in o?(s(),g(B(o.component),U({key:1,ref_for:!0},o.props),null,16)):(s(),g(Co,{key:2,text:o.text,items:o.items},null,8,["text","items"]))],64))),128))])):h("",!0),c(t.$slots,"default",{},void 0,!0)]))}}),Eo=$(Bo,[["__scopeId","data-v-3fafad00"]]),Do=["aria-expanded","aria-label"],Oo={key:0,class:"text"},Fo=["innerHTML"],Uo={key:1,class:"vpi-more-horizontal icon"},Ro={class:"menu"},Go=p({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(e){const t=S(!1),n=S();Lo({el:n,onBlur:o});function o(){t.value=!1}return(a,i)=>(s(),u("div",{class:"VPFlyout",ref_key:"el",ref:n,onMouseenter:i[1]||(i[1]=l=>t.value=!0),onMouseleave:i[2]||(i[2]=l=>t.value=!1)},[d("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":t.value,"aria-label":e.label,onClick:i[0]||(i[0]=l=>t.value=!t.value)},[e.button||e.icon?(s(),u("span",Oo,[e.icon?(s(),u("span",{key:0,class:x([e.icon,"option-icon"])},null,2)):h("",!0),e.button?(s(),u("span",{key:1,innerHTML:e.button},null,8,Fo)):h("",!0),i[3]||(i[3]=d("span",{class:"vpi-chevron-down text-icon"},null,-1))])):(s(),u("span",Uo))],8,Do),d("div",Ro,[_(Eo,{items:e.items},{default:f(()=>[c(a.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),ge=$(Go,[["__scopeId","data-v-5d7cf148"]]),jo=["href","aria-label","innerHTML"],zo=p({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(e){const t=e,n=S();D(async()=>{await fe();const a=n.value?.children[0];a instanceof HTMLElement&&a.className.startsWith("vpi-social-")&&(getComputedStyle(a).maskImage||getComputedStyle(a).webkitMaskImage)==="none"&&a.style.setProperty("--icon",`url('https://api.iconify.design/simple-icons/${t.icon}.svg')`)});const o=y(()=>typeof t.icon=="object"?t.icon.svg:`<span class="vpi-social-${t.icon}"></span>`);return(a,i)=>(s(),u("a",{ref_key:"el",ref:n,class:"VPSocialLink no-icon",href:e.link,"aria-label":e.ariaLabel??(typeof e.icon=="string"?e.icon:""),target:"_blank",rel:"noopener",innerHTML:o.value},null,8,jo))}}),Wo=$(zo,[["__scopeId","data-v-74114f55"]]),qo={class:"VPSocialLinks"},Ko=p({__name:"VPSocialLinks",props:{links:{}},setup(e){return(t,n)=>(s(),u("div",qo,[(s(!0),u(w,null,I(e.links,({link:o,icon:a,ariaLabel:i})=>(s(),g(Wo,{key:o,icon:a,link:o,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),ke=$(Ko,[["__scopeId","data-v-9a5d404c"]]),Jo={key:0,class:"group translations"},Yo={class:"trans-title"},Xo={key:1,class:"group"},Qo={class:"item appearance"},Zo={class:"label"},ea={class:"appearance-action"},ta={key:2,class:"group"},na={class:"item social-links"},oa=p({__name:"VPNavBarExtra",setup(e){const{site:t,theme:n}=L(),{localeLinks:o,currentLang:a}=q({correspondingLink:!0}),i=y(()=>o.value.length&&a.value.label||t.value.appearance||n.value.socialLinks);return(l,v)=>i.value?(s(),g(ge,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:f(()=>[r(o).length&&r(a).label?(s(),u("div",Jo,[d("p",Yo,V(r(a).label),1),(s(!0),u(w,null,I(r(o),m=>(s(),g(ne,{key:m.link,item:m},null,8,["item"]))),128))])):h("",!0),r(t).appearance&&r(t).appearance!=="force-dark"&&r(t).appearance!=="force-auto"?(s(),u("div",Xo,[d("div",Qo,[d("p",Zo,V(r(n).darkModeSwitchLabel||"Appearance"),1),d("div",ea,[_(pe)])])])):h("",!0),r(n).socialLinks?(s(),u("div",ta,[d("div",na,[_(ke,{class:"social-links-list",links:r(n).socialLinks},null,8,["links"])])])):h("",!0)]),_:1})):h("",!0)}}),aa=$(oa,[["__scopeId","data-v-0e59b9da"]]),sa=["aria-expanded"],ra=p({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(e){return(t,n)=>(s(),u("button",{type:"button",class:x(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:n[0]||(n[0]=o=>t.$emit("click"))},[...n[1]||(n[1]=[d("span",{class:"container"},[d("span",{class:"top"}),d("span",{class:"middle"}),d("span",{class:"bottom"})],-1)])],10,sa))}}),ia=$(ra,[["__scopeId","data-v-f8aa66a1"]]),la=["innerHTML"],ca=p({__name:"VPNavBarMenuLink",props:{item:{}},setup(e){const{page:t}=L();return(n,o)=>(s(),g(E,{class:x({VPNavBarMenuLink:!0,active:r(G)(r(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,tabindex:"0"},{default:f(()=>[d("span",{innerHTML:e.item.text},null,8,la)]),_:1},8,["class","href","target","rel","no-icon"]))}}),ua=$(ca,[["__scopeId","data-v-7f6d531c"]]),da=p({__name:"VPNavBarMenuGroup",props:{item:{}},setup(e){const t=e,{page:n}=L(),o=i=>"component"in i?!1:"link"in i?G(n.value.relativePath,i.link,!!t.item.activeMatch):i.items.some(o),a=y(()=>o(t.item));return(i,l)=>(s(),g(ge,{class:x({VPNavBarMenuGroup:!0,active:r(G)(r(n).relativePath,e.item.activeMatch,!!e.item.activeMatch)||a.value}),button:e.item.text,items:e.item.items},null,8,["class","button","items"]))}}),va={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},fa=p({__name:"VPNavBarMenu",setup(e){const{theme:t}=L();return(n,o)=>r(t).nav?(s(),u("nav",va,[o[0]||(o[0]=d("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),(s(!0),u(w,null,I(r(t).nav,a=>(s(),u(w,{key:JSON.stringify(a)},["link"in a?(s(),g(ua,{key:0,item:a},null,8,["item"])):"component"in a?(s(),g(B(a.component),U({key:1,ref_for:!0},a.props),null,16)):(s(),g(da,{key:2,item:a},null,8,["item"]))],64))),128))])):h("",!0)}}),ma=$(fa,[["__scopeId","data-v-6e3574fc"]]);function ha(e){const{localeIndex:t,theme:n}=L();function o(a){const i=a.split("."),l=n.value.search?.options,v=l&&typeof l=="object",m=v&&l.locales?.[t.value]?.translations||null,b=v&&l.translations||null;let P=m,k=b,T=e;const N=i.pop();for(const M of i){let C=null;const A=T?.[M];A&&(C=T=A);const F=k?.[M];F&&(C=k=F);const z=P?.[M];z&&(C=P=z),A||(T=C),F||(k=C),z||(P=C)}return P?.[N]??k?.[N]??T?.[N]??""}return o}const pa=["aria-label"],_a={class:"DocSearch-Button-Container"},ga={class:"DocSearch-Button-Placeholder"},ye=p({__name:"VPNavBarSearchButton",setup(e){const n=ha({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(o,a)=>(s(),u("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(n)("button.buttonAriaLabel")},[d("span",_a,[a[0]||(a[0]=d("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1)),d("span",ga,V(r(n)("button.buttonText")),1)]),a[1]||(a[1]=d("span",{class:"DocSearch-Button-Keys"},[d("kbd",{class:"DocSearch-Button-Key"}),d("kbd",{class:"DocSearch-Button-Key"},"K")],-1))],8,pa))}}),ka={class:"VPNavBarSearch"},ba={id:"local-search"},$a={key:1,id:"docsearch"},ya=p({__name:"VPNavBarSearch",setup(e){const t=je(()=>ze(()=>import("./VPLocalSearchBox.vP8fXe46.js"),__vite__mapDeps([0,1]))),n=()=>null,{theme:o}=L(),a=S(!1),i=S(!1);D(()=>{});function l(){a.value||(a.value=!0,setTimeout(v,16))}function v(){const k=new Event("keydown");k.key="k",k.metaKey=!0,window.dispatchEvent(k),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||v()},16)}function m(k){const T=k.target,N=T.tagName;return T.isContentEditable||N==="INPUT"||N==="SELECT"||N==="TEXTAREA"}const b=S(!1);re("k",k=>{(k.ctrlKey||k.metaKey)&&(k.preventDefault(),b.value=!0)}),re("/",k=>{m(k)||(k.preventDefault(),b.value=!0)});const P="local";return(k,T)=>(s(),u("div",ka,[r(P)==="local"?(s(),u(w,{key:0},[b.value?(s(),g(r(t),{key:0,onClose:T[0]||(T[0]=N=>b.value=!1)})):h("",!0),d("div",ba,[_(ye,{onClick:T[1]||(T[1]=N=>b.value=!0)})])],64)):r(P)==="algolia"?(s(),u(w,{key:1},[a.value?(s(),g(r(n),{key:0,algolia:r(o).search?.options??r(o).algolia,onVnodeBeforeMount:T[2]||(T[2]=N=>i.value=!0)},null,8,["algolia"])):h("",!0),i.value?h("",!0):(s(),u("div",$a,[_(ye,{onClick:l})]))],64)):h("",!0)]))}}),Pa=p({__name:"VPNavBarSocialLinks",setup(e){const{theme:t}=L();return(n,o)=>r(t).socialLinks?(s(),g(ke,{key:0,class:"VPNavBarSocialLinks",links:r(t).socialLinks},null,8,["links"])):h("",!0)}}),La=$(Pa,[["__scopeId","data-v-e2774f93"]]),Va=["href","rel","target"],Sa=["innerHTML"],Ta={key:2},xa=p({__name:"VPNavBarTitle",setup(e){const{site:t,theme:n}=L(),{hasSidebar:o}=O(),{currentLang:a}=q(),i=y(()=>typeof n.value.logoLink=="string"?n.value.logoLink:n.value.logoLink?.link),l=y(()=>typeof n.value.logoLink=="string"?void 0:n.value.logoLink?.rel),v=y(()=>typeof n.value.logoLink=="string"?void 0:n.value.logoLink?.target);return(m,b)=>(s(),u("div",{class:x(["VPNavBarTitle",{"has-sidebar":r(o)}])},[d("a",{class:"title",href:i.value??r(me)(r(a).link),rel:l.value,target:v.value},[c(m.$slots,"nav-bar-title-before",{},void 0,!0),r(n).logo?(s(),g(J,{key:0,class:"logo",image:r(n).logo},null,8,["image"])):h("",!0),r(n).siteTitle?(s(),u("span",{key:1,innerHTML:r(n).siteTitle},null,8,Sa)):r(n).siteTitle===void 0?(s(),u("span",Ta,V(r(t).title),1)):h("",!0),c(m.$slots,"nav-bar-title-after",{},void 0,!0)],8,Va)],2))}}),wa=$(xa,[["__scopeId","data-v-52450919"]]),Na={class:"items"},Ia={class:"title"},Ma=p({__name:"VPNavBarTranslations",setup(e){const{theme:t}=L(),{localeLinks:n,currentLang:o}=q({correspondingLink:!0});return(a,i)=>r(n).length&&r(o).label?(s(),g(ge,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:r(t).langMenuLabel||"Change language"},{default:f(()=>[d("div",Na,[d("p",Ia,V(r(o).label),1),(s(!0),u(w,null,I(r(n),l=>(s(),g(ne,{key:l.link,item:l},null,8,["item"]))),128))])]),_:1},8,["label"])):h("",!0)}}),Ca=$(Ma,[["__scopeId","data-v-7547c9e2"]]),Aa={class:"wrapper"},Ha={class:"container"},Ba={class:"title"},Ea={class:"content"},Da={class:"content-body"},Oa=p({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(e){const t=e,{y:n}=Te(),{hasSidebar:o}=O(),{frontmatter:a}=L(),i=S({});return ve(()=>{i.value={"has-sidebar":o.value,home:a.value.layout==="home",top:n.value===0,"screen-open":t.isScreenOpen}}),(l,v)=>(s(),u("div",{class:x(["VPNavBar",i.value])},[d("div",Aa,[d("div",Ha,[d("div",Ba,[_(wa,null,{"nav-bar-title-before":f(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),d("div",Ea,[d("div",Da,[c(l.$slots,"nav-bar-content-before",{},void 0,!0),_(ya,{class:"search"}),_(ma,{class:"menu"}),_(Ca,{class:"translations"}),_(Po,{class:"appearance"}),_(La,{class:"social-links"}),_(aa,{class:"extra"}),c(l.$slots,"nav-bar-content-after",{},void 0,!0),_(ia,{class:"hamburger",active:e.isScreenOpen,onClick:v[0]||(v[0]=m=>l.$emit("toggle-screen"))},null,8,["active"])])])])]),v[1]||(v[1]=d("div",{class:"divider"},[d("div",{class:"divider-line"})],-1))],2))}}),Fa=$(Oa,[["__scopeId","data-v-94126289"]]),Ua={key:0,class:"VPNavScreenAppearance"},Ra={class:"text"},Ga=p({__name:"VPNavScreenAppearance",setup(e){const{site:t,theme:n}=L();return(o,a)=>r(t).appearance&&r(t).appearance!=="force-dark"&&r(t).appearance!=="force-auto"?(s(),u("div",Ua,[d("p",Ra,V(r(n).darkModeSwitchLabel||"Appearance"),1),_(pe)])):h("",!0)}}),ja=$(Ga,[["__scopeId","data-v-5f5b4400"]]),za=["innerHTML"],Wa=p({__name:"VPNavScreenMenuLink",props:{item:{}},setup(e){const t=ee("close-screen");return(n,o)=>(s(),g(E,{class:"VPNavScreenMenuLink",href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,onClick:r(t)},{default:f(()=>[d("span",{innerHTML:e.item.text},null,8,za)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),qa=$(Wa,[["__scopeId","data-v-b1f6371a"]]),Ka=["innerHTML"],Ja=p({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(e){const t=ee("close-screen");return(n,o)=>(s(),g(E,{class:"VPNavScreenMenuGroupLink",href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,onClick:r(t)},{default:f(()=>[d("span",{innerHTML:e.item.text},null,8,Ka)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),He=$(Ja,[["__scopeId","data-v-0842708b"]]),Ya={class:"VPNavScreenMenuGroupSection"},Xa={key:0,class:"title"},Qa=p({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(e){return(t,n)=>(s(),u("div",Ya,[e.text?(s(),u("p",Xa,V(e.text),1)):h("",!0),(s(!0),u(w,null,I(e.items,o=>(s(),g(He,{key:o.text,item:o},null,8,["item"]))),128))]))}}),Za=$(Qa,[["__scopeId","data-v-1604621b"]]),es=["aria-controls","aria-expanded"],ts=["innerHTML"],ns=["id"],os={key:0,class:"item"},as={key:1,class:"item"},ss={key:2,class:"group"},rs=p({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(e){const t=e,n=S(!1),o=y(()=>`NavScreenGroup-${t.text.replace(" ","-").toLowerCase()}`);function a(){n.value=!n.value}return(i,l)=>(s(),u("div",{class:x(["VPNavScreenMenuGroup",{open:n.value}])},[d("button",{class:"button","aria-controls":o.value,"aria-expanded":n.value,onClick:a},[d("span",{class:"button-text",innerHTML:e.text},null,8,ts),l[0]||(l[0]=d("span",{class:"vpi-plus button-icon"},null,-1))],8,es),d("div",{id:o.value,class:"items"},[(s(!0),u(w,null,I(e.items,v=>(s(),u(w,{key:JSON.stringify(v)},["link"in v?(s(),u("div",os,[_(He,{item:v},null,8,["item"])])):"component"in v?(s(),u("div",as,[(s(),g(B(v.component),U({ref_for:!0},v.props,{"screen-menu":""}),null,16))])):(s(),u("div",ss,[_(Za,{text:v.text,items:v.items},null,8,["text","items"])]))],64))),128))],8,ns)],2))}}),is=$(rs,[["__scopeId","data-v-17b2f265"]]),ls={key:0,class:"VPNavScreenMenu"},cs=p({__name:"VPNavScreenMenu",setup(e){const{theme:t}=L();return(n,o)=>r(t).nav?(s(),u("nav",ls,[(s(!0),u(w,null,I(r(t).nav,a=>(s(),u(w,{key:JSON.stringify(a)},["link"in a?(s(),g(qa,{key:0,item:a},null,8,["item"])):"component"in a?(s(),g(B(a.component),U({key:1,ref_for:!0},a.props,{"screen-menu":""}),null,16)):(s(),g(is,{key:2,text:a.text||"",items:a.items},null,8,["text","items"]))],64))),128))])):h("",!0)}}),us=p({__name:"VPNavScreenSocialLinks",setup(e){const{theme:t}=L();return(n,o)=>r(t).socialLinks?(s(),g(ke,{key:0,class:"VPNavScreenSocialLinks",links:r(t).socialLinks},null,8,["links"])):h("",!0)}}),ds={class:"list"},vs=p({__name:"VPNavScreenTranslations",setup(e){const{localeLinks:t,currentLang:n}=q({correspondingLink:!0}),o=S(!1);function a(){o.value=!o.value}return(i,l)=>r(t).length&&r(n).label?(s(),u("div",{key:0,class:x(["VPNavScreenTranslations",{open:o.value}])},[d("button",{class:"title",onClick:a},[l[0]||(l[0]=d("span",{class:"vpi-languages icon lang"},null,-1)),R(" "+V(r(n).label)+" ",1),l[1]||(l[1]=d("span",{class:"vpi-chevron-down icon chevron"},null,-1))]),d("ul",ds,[(s(!0),u(w,null,I(r(t),v=>(s(),u("li",{key:v.link,class:"item"},[_(E,{class:"link",href:v.link},{default:f(()=>[R(V(v.text),1)]),_:2},1032,["href"])]))),128))])],2)):h("",!0)}}),fs=$(vs,[["__scopeId","data-v-eca6d244"]]),ms={class:"container"},hs=p({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(e){const t=S(null),n=xe(te?document.body:null);return(o,a)=>(s(),g(ue,{name:"fade",onEnter:a[0]||(a[0]=i=>n.value=!0),onAfterLeave:a[1]||(a[1]=i=>n.value=!1)},{default:f(()=>[e.open?(s(),u("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:t,id:"VPNavScreen"},[d("div",ms,[c(o.$slots,"nav-screen-content-before",{},void 0,!0),_(cs,{class:"menu"}),_(fs,{class:"translations"}),_(ja,{class:"appearance"}),_(us,{class:"social-links"}),c(o.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):h("",!0)]),_:3}))}}),ps=$(hs,[["__scopeId","data-v-f0b27409"]]),_s={key:0,class:"VPNav"},gs=p({__name:"VPNav",setup(e){const{isScreenOpen:t,closeScreen:n,toggleScreen:o}=fo(),{frontmatter:a}=L(),i=y(()=>a.value.navbar!==!1);return we("close-screen",n),X(()=>{te&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(l,v)=>i.value?(s(),u("header",_s,[_(Fa,{"is-screen-open":r(t),onToggleScreen:r(o)},{"nav-bar-title-before":f(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[c(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[c(l.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),_(ps,{open:r(t)},{"nav-screen-content-before":f(()=>[c(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[c(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):h("",!0)}}),ks=$(gs,[["__scopeId","data-v-974a37fc"]]),bs=["role","tabindex"],$s={key:1,class:"items"},ys=p({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(e){const t=e,{collapsed:n,collapsible:o,isLink:a,isActiveLink:i,hasActiveLink:l,hasChildren:v,toggle:m}=ht(y(()=>t.item)),b=y(()=>v.value?"section":"div"),P=y(()=>a.value?"a":"div"),k=y(()=>v.value?t.depth+2===7?"p":`h${t.depth+2}`:"p"),T=y(()=>a.value?void 0:"button"),N=y(()=>[[`level-${t.depth}`],{collapsible:o.value},{collapsed:n.value},{"is-link":a.value},{"is-active":i.value},{"has-active":l.value}]);function M(A){"key"in A&&A.key!=="Enter"||!t.item.link&&m()}function C(){t.item.link&&m()}return(A,F)=>{const z=j("VPSidebarItem",!0);return s(),g(B(b.value),{class:x(["VPSidebarItem",N.value])},{default:f(()=>[e.item.text?(s(),u("div",U({key:0,class:"item",role:T.value},We(e.item.items?{click:M,keydown:M}:{},!0),{tabindex:e.item.items&&0}),[F[1]||(F[1]=d("div",{class:"indicator"},null,-1)),e.item.link?(s(),g(E,{key:0,tag:P.value,class:"link",href:e.item.link,rel:e.item.rel,target:e.item.target},{default:f(()=>[(s(),g(B(k.value),{class:"text",innerHTML:e.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(s(),g(B(k.value),{key:1,class:"text",innerHTML:e.item.text},null,8,["innerHTML"])),e.item.collapsed!=null&&e.item.items&&e.item.items.length?(s(),u("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:C,onKeydown:qe(C,["enter"]),tabindex:"0"},[...F[0]||(F[0]=[d("span",{class:"vpi-chevron-right caret-icon"},null,-1)])],32)):h("",!0)],16,bs)):h("",!0),e.item.items&&e.item.items.length?(s(),u("div",$s,[e.depth<5?(s(!0),u(w,{key:0},I(e.item.items,$e=>(s(),g(z,{key:$e.text,item:$e,depth:e.depth+1},null,8,["item","depth"]))),128)):h("",!0)])):h("",!0)]),_:1},8,["class"])}}}),Ps=$(ys,[["__scopeId","data-v-65c16b06"]]),Ls=p({__name:"VPSidebarGroup",props:{items:{}},setup(e){const t=S(!0);let n=null;return D(()=>{n=setTimeout(()=>{n=null,t.value=!1},300)}),Ke(()=>{n!=null&&(clearTimeout(n),n=null)}),(o,a)=>(s(!0),u(w,null,I(e.items,i=>(s(),u("div",{key:i.text,class:x(["group",{"no-transition":t.value}])},[_(Ps,{item:i,depth:0},null,8,["item"])],2))),128))}}),Vs=$(Ls,[["__scopeId","data-v-e55dc7ff"]]),Ss={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Ts=p({__name:"VPSidebar",props:{open:{type:Boolean}},setup(e){const{sidebarGroups:t,hasSidebar:n}=O(),o=e,a=S(null),i=xe(te?document.body:null);H([o,a],()=>{o.open?(i.value=!0,a.value?.focus()):i.value=!1},{immediate:!0,flush:"post"});const l=S(0);return H(t,()=>{l.value+=1},{deep:!0}),(v,m)=>r(n)?(s(),u("aside",{key:0,class:x(["VPSidebar",{open:e.open}]),ref_key:"navEl",ref:a,onClick:m[0]||(m[0]=Je(()=>{},["stop"]))},[m[2]||(m[2]=d("div",{class:"curtain"},null,-1)),d("nav",Ss,[m[1]||(m[1]=d("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),c(v.$slots,"sidebar-nav-before",{},void 0,!0),(s(),g(Vs,{items:r(t),key:l.value},null,8,["items"])),c(v.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):h("",!0)}}),xs=$(Ts,[["__scopeId","data-v-25c855a9"]]),ws=p({__name:"VPSkipLink",setup(e){const{theme:t}=L(),n=W(),o=S();H(()=>n.path,()=>o.value.focus());function a({target:i}){const l=document.getElementById(decodeURIComponent(i.hash).slice(1));if(l){const v=()=>{l.removeAttribute("tabindex"),l.removeEventListener("blur",v)};l.setAttribute("tabindex","-1"),l.addEventListener("blur",v),l.focus(),window.scrollTo(0,0)}}return(i,l)=>(s(),u(w,null,[d("span",{ref_key:"backToTop",ref:o,tabindex:"-1"},null,512),d("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:a},V(r(t).skipToContentLabel||"Skip to content"),1)],64))}}),Ns=$(ws,[["__scopeId","data-v-bbc8ff95"]]),Is=p({__name:"Layout",setup(e){const{isOpen:t,open:n,close:o}=O(),a=W();H(()=>a.path,o),mt(t,o);const{frontmatter:i}=L(),l=Ye(),v=y(()=>!!l["home-hero-image"]);return we("hero-image-slot-exists",v),(m,b)=>{const P=j("Content");return r(i).layout!==!1?(s(),u("div",{key:0,class:x(["Layout",r(i).pageClass])},[c(m.$slots,"layout-top",{},void 0,!0),_(Ns),_(tt,{class:"backdrop",show:r(t),onClick:r(o)},null,8,["show","onClick"]),_(ks,null,{"nav-bar-title-before":f(()=>[c(m.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(m.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[c(m.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[c(m.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":f(()=>[c(m.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[c(m.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),_(vo,{open:r(t),onOpenMenu:r(n)},null,8,["open","onOpenMenu"]),_(xs,{open:r(t)},{"sidebar-nav-before":f(()=>[c(m.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":f(()=>[c(m.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),_(Jn,null,{"page-top":f(()=>[c(m.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[c(m.$slots,"page-bottom",{},void 0,!0)]),"not-found":f(()=>[c(m.$slots,"not-found",{},void 0,!0)]),"home-hero-before":f(()=>[c(m.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[c(m.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(m.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(m.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(m.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(m.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[c(m.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[c(m.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[c(m.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":f(()=>[c(m.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[c(m.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[c(m.$slots,"doc-after",{},void 0,!0)]),"doc-top":f(()=>[c(m.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[c(m.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":f(()=>[c(m.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[c(m.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[c(m.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(m.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(m.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(m.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),_(eo),c(m.$slots,"layout-bottom",{},void 0,!0)],2)):(s(),g(P,{key:1}))}}}),Ms=$(Is,[["__scopeId","data-v-ef19ba22"]]),Be={Layout:Ms,enhanceApp:({app:e})=>{e.component("Badge",Qe)}},Ee={console:"Console",lastUpdated:"Last updated:",notSpecified:"Not specified",copyPage:"Copy Page",copied:"Copied",copyFailed:"Copy failed",copyCode:"Copy code",versionPending:"Loaded after console sign-in",versionPlaceholder:"<loaded after console sign-in>",currentServerVersion:"Current server version:",versionPendingHint:" (loaded after console sign-in)"},Cs={console:"控制台",lastUpdated:"最后更新:",notSpecified:"未标注",copyPage:"复制本页内容",copied:"已复制",copyFailed:"复制失败",copyCode:"复制代码",versionPending:"登录管理台后自动回填",versionPlaceholder:"<登录管理台后自动回填>",currentServerVersion:"当前 Server 版本:",versionPendingHint:"(登录控制台后自动读取)"},Pe="mar.locale.v2",As=[{value:"zh-CN",nativeLabel:"简体中文",docsPrefix:"/docs",browserPrefixes:["zh"]},{value:"en-US",nativeLabel:"English",docsPrefix:"/docs/en-US",browserPrefixes:["en"]}],ae=As.map(e=>({value:e.value,pathPrefix:e.docsPrefix})),Hs={"en-US":Ee,"zh-CN":Cs};function be(){const{lang:e}=Y(),t=y(()=>Hs[e.value]??Ee);return{t:n=>t.value[n]}}const Bs={class:"document-meta"},Es=p({__name:"DocumentMeta",setup(e){const{frontmatter:t}=Y(),{t:n}=be(),o=S(!1),a=S(!1),i=y(()=>{const m=t.value.lastUpdated;if(m instanceof Date&&!Number.isNaN(m.valueOf()))return m.toISOString().slice(0,10);const b=String(m??"");return/^\d{4}-\d{2}-\d{2}/u.exec(b)?.[0]??n("notSpecified")});async function l(m){if(navigator.clipboard?.writeText!==void 0)try{await navigator.clipboard.writeText(m);return}catch{}const b=document.createElement("textarea");b.value=m,b.style.position="fixed",b.style.opacity="0",document.body.append(b),b.select();const P=document.execCommand("copy");if(b.remove(),!P)throw new Error("CLIPBOARD_WRITE_FAILED")}async function v(){const m=document.querySelector(".vp-doc");if(m===null)return;const b=[...m.children].filter(P=>!P.classList.contains("document-meta")).map(P=>P.innerText.trim()).filter(Boolean).join(`
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.P9CapR4-.js","assets/chunks/framework.BHjrhdiC.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{d as p,c as u,r as c,n as x,o as s,a as R,t as V,b as g,w as f,T as ue,e as h,_ as $,u as Y,i as De,f as Oe,g as de,h as y,j as d,k as r,l as G,m as se,p as S,q as H,s as X,v as D,x as Q,y as ve,z as Fe,A as Ue,F as w,B as I,C as j,D as Z,E as _,G as Le,H as B,I as Ve,J as W,K as U,L as ee,M as Re,N as Se,O as re,P as fe,Q as Te,R as te,S as Ge,U as je,V as ze,W as xe,X as we,Y as We,Z as qe,$ as Ke,a0 as Je,a1 as Ye,a2 as Xe}from"./framework.BHjrhdiC.js";const Qe=p({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(e){return(t,n)=>(s(),u("span",{class:x(["VPBadge",e.type])},[c(t.$slots,"default",{},()=>[R(V(e.text),1)])],2))}}),Ze={key:0,class:"VPBackdrop"},et=p({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(e){return(t,n)=>(s(),g(ue,{name:"fade"},{default:f(()=>[e.show?(s(),u("div",Ze)):h("",!0)]),_:1}))}}),tt=$(et,[["__scopeId","data-v-1d755e79"]]),L=Y;function nt(e,t){let n,o=!1;return()=>{n&&clearTimeout(n),o?n=setTimeout(e,t):(e(),(o=!0)&&setTimeout(()=>o=!1,t))}}function ie(e){return e.startsWith("/")?e:`/${e}`}function me(e){const{pathname:t,search:n,hash:o,protocol:a}=new URL(e,"http://a.com");if(De(e)||e.startsWith("#")||!a.startsWith("http")||!Oe(t))return e;const{site:i}=L(),l=t.endsWith("/")||t.endsWith(".html")?e:e.replace(/(?:(^\.+)\/)?.*$/,`$1${t.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${n}${o}`);return de(l)}function q({correspondingLink:e=!1}={}){const{site:t,localeIndex:n,page:o,theme:a,hash:i}=L(),l=y(()=>({label:t.value.locales[n.value]?.label,link:t.value.locales[n.value]?.link||(n.value==="root"?"/":`/${n.value}/`)}));return{localeLinks:y(()=>Object.entries(t.value.locales).flatMap(([m,b])=>l.value.label===b.label?[]:{text:b.label,link:ot(b.link||(m==="root"?"/":`/${m}/`),a.value.i18nRouting!==!1&&e,o.value.relativePath.slice(l.value.link.length-1),!t.value.cleanUrls)+i.value})),currentLang:l}}function ot(e,t,n,o){return t?e.replace(/\/$/,"")+ie(n.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,o?".html":"")):e}const at={class:"NotFound"},st={class:"code"},rt={class:"title"},it={class:"quote"},lt={class:"action"},ct=["href","aria-label"],ut=p({__name:"NotFound",setup(e){const{theme:t}=L(),{currentLang:n}=q();return(o,a)=>(s(),u("div",at,[d("p",st,V(r(t).notFound?.code??"404"),1),d("h1",rt,V(r(t).notFound?.title??"PAGE NOT FOUND"),1),a[0]||(a[0]=d("div",{class:"divider"},null,-1)),d("blockquote",it,V(r(t).notFound?.quote??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),d("div",lt,[d("a",{class:"link",href:r(de)(r(n).link),"aria-label":r(t).notFound?.linkLabel??"go to home"},V(r(t).notFound?.linkText??"Take me home"),9,ct)])]))}}),dt=$(ut,[["__scopeId","data-v-003f2b9e"]]);function Ne(e,t){if(Array.isArray(e))return K(e);if(e==null)return[];t=ie(t);const n=Object.keys(e).sort((a,i)=>i.split("/").length-a.split("/").length).find(a=>t.startsWith(ie(a))),o=n?e[n]:[];return Array.isArray(o)?K(o):K(o.items,o.base)}function vt(e){const t=[];let n=0;for(const o in e){const a=e[o];if(a.items){n=t.push(a);continue}t[n]||t.push({items:[]}),t[n].items.push(a)}return t}function ft(e){const t=[];function n(o){for(const a of o)a.text&&a.link&&t.push({text:a.text,link:a.link,docFooterText:a.docFooterText}),a.items&&n(a.items)}return n(e),t}function le(e,t){return Array.isArray(t)?t.some(n=>le(e,n)):G(e,t.link)?!0:t.items?le(e,t.items):!1}function K(e,t){return[...e].map(n=>{const o={...n},a=o.base||t;return a&&o.link&&(o.link=a+o.link),o.items&&(o.items=K(o.items,a)),o})}function O(){const{frontmatter:e,page:t,theme:n}=L(),o=se("(min-width: 960px)"),a=S(!1),i=y(()=>{const C=n.value.sidebar,A=t.value.relativePath;return C?Ne(C,A):[]}),l=S(i.value);H(i,(C,A)=>{JSON.stringify(C)!==JSON.stringify(A)&&(l.value=i.value)});const v=y(()=>e.value.sidebar!==!1&&l.value.length>0&&e.value.layout!=="home"),m=y(()=>b?e.value.aside==null?n.value.aside==="left":e.value.aside==="left":!1),b=y(()=>e.value.layout==="home"?!1:e.value.aside!=null?!!e.value.aside:n.value.aside!==!1),P=y(()=>v.value&&o.value),k=y(()=>v.value?vt(l.value):[]);function T(){a.value=!0}function N(){a.value=!1}function M(){a.value?N():T()}return{isOpen:a,sidebar:l,sidebarGroups:k,hasSidebar:v,hasAside:b,leftAside:m,isSidebarEnabled:P,open:T,close:N,toggle:M}}function mt(e,t){let n;X(()=>{n=e.value?document.activeElement:void 0}),D(()=>{window.addEventListener("keyup",o)}),Q(()=>{window.removeEventListener("keyup",o)});function o(a){a.key==="Escape"&&e.value&&(t(),n?.focus())}}function ht(e){const{page:t,hash:n}=L(),o=S(!1),a=y(()=>e.value.collapsed!=null),i=y(()=>!!e.value.link),l=S(!1),v=()=>{l.value=G(t.value.relativePath,e.value.link)};H([t,e,n],v),D(v);const m=y(()=>l.value?!0:e.value.items?le(t.value.relativePath,e.value.items):!1),b=y(()=>!!(e.value.items&&e.value.items.length));X(()=>{o.value=!!(a.value&&e.value.collapsed)}),ve(()=>{(l.value||m.value)&&(o.value=!1)});function P(){a.value&&(o.value=!o.value)}return{collapsed:o,collapsible:a,isLink:i,isActiveLink:l,hasActiveLink:m,hasChildren:b,toggle:P}}function pt(){const{hasSidebar:e}=O(),t=se("(min-width: 960px)"),n=se("(min-width: 1280px)");return{isAsideEnabled:y(()=>!n.value&&!t.value?!1:e.value?n.value:t.value)}}const _t=/\b(?:VPBadge|header-anchor|footnote-ref|ignore-header)\b/,ce=[];function Ie(e){return typeof e.outline=="object"&&!Array.isArray(e.outline)&&e.outline.label||e.outlineTitle||"On this page"}function he(e){const t=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(n=>n.id&&n.hasChildNodes()).map(n=>{const o=Number(n.tagName[1]);return{element:n,title:gt(n),link:"#"+n.id,level:o}});return kt(t,e)}function gt(e){let t="";for(const n of e.childNodes)if(n.nodeType===1){if(_t.test(n.className))continue;t+=n.textContent}else n.nodeType===3&&(t+=n.textContent);return t.trim()}function kt(e,t){if(t===!1)return[];const n=(typeof t=="object"&&!Array.isArray(t)?t.level:t)||2,[o,a]=typeof n=="number"?[n,n]:n==="deep"?[2,6]:n;return yt(e,o,a)}function bt(e,t){const{isAsideEnabled:n}=pt(),o=nt(i,100);let a=null;D(()=>{requestAnimationFrame(i),window.addEventListener("scroll",o)}),Fe(()=>{l(location.hash)}),Q(()=>{window.removeEventListener("scroll",o)});function i(){if(!n.value)return;const v=window.scrollY,m=window.innerHeight,b=document.body.offsetHeight,P=Math.abs(v+m-b)<1,k=ce.map(({element:N,link:M})=>({link:M,top:$t(N)})).filter(({top:N})=>!Number.isNaN(N)).sort((N,M)=>N.top-M.top);if(!k.length){l(null);return}if(v<1){l(null);return}if(P){l(k[k.length-1].link);return}let T=null;for(const{link:N,top:M}of k){if(M>v+Ue()+4)break;T=N}l(T)}function l(v){a&&a.classList.remove("active"),v==null?a=null:a=e.value.querySelector(`a[href="${decodeURIComponent(v)}"]`);const m=a;m?(m.classList.add("active"),t.value.style.top=m.offsetTop+39+"px",t.value.style.opacity="1"):(t.value.style.top="33px",t.value.style.opacity="0")}}function $t(e){let t=0;for(;e!==document.body;){if(e===null)return NaN;t+=e.offsetTop,e=e.offsetParent}return t}function yt(e,t,n){ce.length=0;const o=[],a=[];return e.forEach(i=>{const l={...i,children:[]};let v=a[a.length-1];for(;v&&v.level>=l.level;)a.pop(),v=a[a.length-1];if(l.element.classList.contains("ignore-header")||v&&"shouldIgnore"in v){a.push({level:l.level,shouldIgnore:!0});return}l.level>n||l.level<t||(ce.push({element:l.element,link:l.link}),v?v.children.push(l):o.push(l),a.push(l))}),o}const Pt=["href","title"],Lt=p({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(e){function t({target:n}){const o=n.href.split("#")[1];document.getElementById(decodeURIComponent(o))?.focus({preventScroll:!0})}return(n,o)=>{const a=j("VPDocOutlineItem",!0);return s(),u("ul",{class:x(["VPDocOutlineItem",e.root?"root":"nested"])},[(s(!0),u(w,null,I(e.headers,({children:i,link:l,title:v})=>(s(),u("li",null,[d("a",{class:"outline-link",href:l,onClick:t,title:v},V(v),9,Pt),i?.length?(s(),g(a,{key:0,headers:i},null,8,["headers"])):h("",!0)]))),256))],2)}}}),Me=$(Lt,[["__scopeId","data-v-da64eb8d"]]),Vt={class:"content"},St={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},Tt=p({__name:"VPDocAsideOutline",setup(e){const{frontmatter:t,theme:n}=L(),o=Le([]);Z(()=>{o.value=he(t.value.outline??n.value.outline)});const a=S(),i=S();return bt(a,i),(l,v)=>(s(),u("nav",{"aria-labelledby":"doc-outline-aria-label",class:x(["VPDocAsideOutline",{"has-outline":o.value.length>0}]),ref_key:"container",ref:a},[d("div",Vt,[d("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),d("div",St,V(r(Ie)(r(n))),1),_(Me,{headers:o.value,root:!0},null,8,["headers"])])],2))}}),xt=$(Tt,[["__scopeId","data-v-30a0162a"]]),wt={class:"VPDocAsideCarbonAds"},Nt=p({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(e){const t=()=>null;return(n,o)=>(s(),u("div",wt,[_(r(t),{"carbon-ads":e.carbonAds},null,8,["carbon-ads"])]))}}),It={class:"VPDocAside"},Mt=p({__name:"VPDocAside",setup(e){const{theme:t}=L();return(n,o)=>(s(),u("div",It,[c(n.$slots,"aside-top",{},void 0,!0),c(n.$slots,"aside-outline-before",{},void 0,!0),_(xt),c(n.$slots,"aside-outline-after",{},void 0,!0),o[0]||(o[0]=d("div",{class:"spacer"},null,-1)),c(n.$slots,"aside-ads-before",{},void 0,!0),r(t).carbonAds?(s(),g(Nt,{key:0,"carbon-ads":r(t).carbonAds},null,8,["carbon-ads"])):h("",!0),c(n.$slots,"aside-ads-after",{},void 0,!0),c(n.$slots,"aside-bottom",{},void 0,!0)]))}}),Ct=$(Mt,[["__scopeId","data-v-56ec1007"]]);function At(){const{theme:e,page:t}=L();return y(()=>{const{text:n="Edit this page",pattern:o=""}=e.value.editLink||{};let a;return typeof o=="function"?a=o(t.value):a=o.replace(/:path/g,t.value.filePath),{url:a,text:n}})}function Ht(){const{page:e,theme:t,frontmatter:n}=L();return y(()=>{const o=Ne(t.value.sidebar,e.value.relativePath),a=ft(o),i=Bt(a,b=>b.link.replace(/[?#].*$/,"")),l=i.findIndex(b=>G(e.value.relativePath,b.link)),v=t.value.docFooter?.prev===!1&&!n.value.prev||n.value.prev===!1,m=t.value.docFooter?.next===!1&&!n.value.next||n.value.next===!1;return{prev:v?void 0:{text:(typeof n.value.prev=="string"?n.value.prev:typeof n.value.prev=="object"?n.value.prev.text:void 0)??i[l-1]?.docFooterText??i[l-1]?.text,link:(typeof n.value.prev=="object"?n.value.prev.link:void 0)??i[l-1]?.link},next:m?void 0:{text:(typeof n.value.next=="string"?n.value.next:typeof n.value.next=="object"?n.value.next.text:void 0)??i[l+1]?.docFooterText??i[l+1]?.text,link:(typeof n.value.next=="object"?n.value.next.link:void 0)??i[l+1]?.link}}})}function Bt(e,t){const n=new Set;return e.filter(o=>{const a=t(o);return n.has(a)?!1:n.add(a)})}const E=p({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(e){const t=e,n=y(()=>t.tag??(t.href?"a":"span")),o=y(()=>t.href&&Ve.test(t.href)||t.target==="_blank");return(a,i)=>(s(),g(B(n.value),{class:x(["VPLink",{link:e.href,"vp-external-link-icon":o.value,"no-icon":e.noIcon}]),href:e.href?r(me)(e.href):void 0,target:e.target??(o.value?"_blank":void 0),rel:e.rel??(o.value?"noreferrer":void 0)},{default:f(()=>[c(a.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Et={class:"VPLastUpdated"},Dt=["datetime"],Ot=p({__name:"VPDocFooterLastUpdated",setup(e){const{theme:t,page:n,lang:o}=L(),a=y(()=>new Date(n.value.lastUpdated)),i=y(()=>a.value.toISOString()),l=S("");return D(()=>{X(()=>{l.value=new Intl.DateTimeFormat(t.value.lastUpdated?.formatOptions?.forceLocale?o.value:void 0,t.value.lastUpdated?.formatOptions??{dateStyle:"short",timeStyle:"short"}).format(a.value)})}),(v,m)=>(s(),u("p",Et,[R(V(r(t).lastUpdated?.text||r(t).lastUpdatedText||"Last updated")+": ",1),d("time",{datetime:i.value},V(l.value),9,Dt)]))}}),Ft=$(Ot,[["__scopeId","data-v-9c08415f"]]),Ut={key:0,class:"VPDocFooter"},Rt={key:0,class:"edit-info"},Gt={key:0,class:"edit-link"},jt={key:1,class:"last-updated"},zt={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},Wt={class:"pager"},qt=["innerHTML"],Kt=["innerHTML"],Jt={class:"pager"},Yt=["innerHTML"],Xt=["innerHTML"],Qt=p({__name:"VPDocFooter",setup(e){const{theme:t,page:n,frontmatter:o}=L(),a=At(),i=Ht(),l=y(()=>t.value.editLink&&o.value.editLink!==!1),v=y(()=>n.value.lastUpdated),m=y(()=>l.value||v.value||i.value.prev||i.value.next);return(b,P)=>m.value?(s(),u("footer",Ut,[c(b.$slots,"doc-footer-before",{},void 0,!0),l.value||v.value?(s(),u("div",Rt,[l.value?(s(),u("div",Gt,[_(E,{class:"edit-link-button",href:r(a).url,"no-icon":!0},{default:f(()=>[P[0]||(P[0]=d("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),R(" "+V(r(a).text),1)]),_:1},8,["href"])])):h("",!0),v.value?(s(),u("div",jt,[_(Ft)])):h("",!0)])):h("",!0),r(i).prev?.link||r(i).next?.link?(s(),u("nav",zt,[P[1]||(P[1]=d("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),d("div",Wt,[r(i).prev?.link?(s(),g(E,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:f(()=>[d("span",{class:"desc",innerHTML:r(t).docFooter?.prev||"Previous page"},null,8,qt),d("span",{class:"title",innerHTML:r(i).prev.text},null,8,Kt)]),_:1},8,["href"])):h("",!0)]),d("div",Jt,[r(i).next?.link?(s(),g(E,{key:0,class:"pager-link next",href:r(i).next.link},{default:f(()=>[d("span",{class:"desc",innerHTML:r(t).docFooter?.next||"Next page"},null,8,Yt),d("span",{class:"title",innerHTML:r(i).next.text},null,8,Xt)]),_:1},8,["href"])):h("",!0)])])):h("",!0)])):h("",!0)}}),Zt=$(Qt,[["__scopeId","data-v-579b47ad"]]),en={class:"container"},tn={class:"aside-container"},nn={class:"aside-content"},on={class:"content"},an={class:"content-container"},sn={class:"main"},rn=p({__name:"VPDoc",setup(e){const{theme:t}=L(),n=W(),{hasSidebar:o,hasAside:a,leftAside:i}=O(),l=y(()=>n.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(v,m)=>{const b=j("Content");return s(),u("div",{class:x(["VPDoc",{"has-sidebar":r(o),"has-aside":r(a)}])},[c(v.$slots,"doc-top",{},void 0,!0),d("div",en,[r(a)?(s(),u("div",{key:0,class:x(["aside",{"left-aside":r(i)}])},[m[0]||(m[0]=d("div",{class:"aside-curtain"},null,-1)),d("div",tn,[d("div",nn,[_(Ct,null,{"aside-top":f(()=>[c(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[c(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[c(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):h("",!0),d("div",on,[d("div",an,[c(v.$slots,"doc-before",{},void 0,!0),d("main",sn,[_(b,{class:x(["vp-doc",[l.value,r(t).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),_(Zt,null,{"doc-footer-before":f(()=>[c(v.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),c(v.$slots,"doc-after",{},void 0,!0)])])]),c(v.$slots,"doc-bottom",{},void 0,!0)],2)}}}),ln=$(rn,[["__scopeId","data-v-cd08f8de"]]),cn=p({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(e){const t=e,n=y(()=>t.href&&Ve.test(t.href)),o=y(()=>t.tag||(t.href?"a":"button"));return(a,i)=>(s(),g(B(o.value),{class:x(["VPButton",[e.size,e.theme]]),href:e.href?r(me)(e.href):void 0,target:t.target??(n.value?"_blank":void 0),rel:t.rel??(n.value?"noreferrer":void 0)},{default:f(()=>[R(V(e.text),1)]),_:1},8,["class","href","target","rel"]))}}),un=$(cn,[["__scopeId","data-v-28d59202"]]),dn=["src","alt"],vn=p({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(e){return(t,n)=>{const o=j("VPImage",!0);return e.image?(s(),u(w,{key:0},[typeof e.image=="string"||"src"in e.image?(s(),u("img",U({key:0,class:"VPImage"},typeof e.image=="string"?t.$attrs:{...e.image,...t.$attrs},{src:r(de)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,dn)):(s(),u(w,{key:1},[_(o,U({class:"dark",image:e.image.dark,alt:e.image.alt},t.$attrs),null,16,["image","alt"]),_(o,U({class:"light",image:e.image.light,alt:e.image.alt},t.$attrs),null,16,["image","alt"])],64))],64)):h("",!0)}}}),J=$(vn,[["__scopeId","data-v-dd4a1533"]]),fn={class:"container"},mn={class:"main"},hn={class:"heading"},pn=["innerHTML"],_n=["innerHTML"],gn=["innerHTML"],kn={key:0,class:"actions"},bn={key:0,class:"image"},$n={class:"image-container"},yn=p({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(e){const t=ee("hero-image-slot-exists");return(n,o)=>(s(),u("div",{class:x(["VPHero",{"has-image":e.image||r(t)}])},[d("div",fn,[d("div",mn,[c(n.$slots,"home-hero-info-before",{},void 0,!0),c(n.$slots,"home-hero-info",{},()=>[d("h1",hn,[e.name?(s(),u("span",{key:0,innerHTML:e.name,class:"name clip"},null,8,pn)):h("",!0),e.text?(s(),u("span",{key:1,innerHTML:e.text,class:"text"},null,8,_n)):h("",!0)]),e.tagline?(s(),u("p",{key:0,innerHTML:e.tagline,class:"tagline"},null,8,gn)):h("",!0)],!0),c(n.$slots,"home-hero-info-after",{},void 0,!0),e.actions?(s(),u("div",kn,[(s(!0),u(w,null,I(e.actions,a=>(s(),u("div",{key:a.link,class:"action"},[_(un,{tag:"a",size:"medium",theme:a.theme,text:a.text,href:a.link,target:a.target,rel:a.rel},null,8,["theme","text","href","target","rel"])]))),128))])):h("",!0),c(n.$slots,"home-hero-actions-after",{},void 0,!0)]),e.image||r(t)?(s(),u("div",bn,[d("div",$n,[o[0]||(o[0]=d("div",{class:"image-bg"},null,-1)),c(n.$slots,"home-hero-image",{},()=>[e.image?(s(),g(J,{key:0,class:"image-src",image:e.image},null,8,["image"])):h("",!0)],!0)])])):h("",!0)])],2))}}),Pn=$(yn,[["__scopeId","data-v-afa10fa7"]]),Ln=p({__name:"VPHomeHero",setup(e){const{frontmatter:t}=L();return(n,o)=>r(t).hero?(s(),g(Pn,{key:0,class:"VPHomeHero",name:r(t).hero.name,text:r(t).hero.text,tagline:r(t).hero.tagline,image:r(t).hero.image,actions:r(t).hero.actions},{"home-hero-info-before":f(()=>[c(n.$slots,"home-hero-info-before")]),"home-hero-info":f(()=>[c(n.$slots,"home-hero-info")]),"home-hero-info-after":f(()=>[c(n.$slots,"home-hero-info-after")]),"home-hero-actions-after":f(()=>[c(n.$slots,"home-hero-actions-after")]),"home-hero-image":f(()=>[c(n.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):h("",!0)}}),Vn={class:"box"},Sn={key:0,class:"icon"},Tn=["innerHTML"],xn=["innerHTML"],wn=["innerHTML"],Nn={key:4,class:"link-text"},In={class:"link-text-value"},Mn=p({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(e){return(t,n)=>(s(),g(E,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:f(()=>[d("article",Vn,[typeof e.icon=="object"&&e.icon.wrap?(s(),u("div",Sn,[_(J,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(s(),g(J,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(s(),u("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Tn)):h("",!0),d("h2",{class:"title",innerHTML:e.title},null,8,xn),e.details?(s(),u("p",{key:3,class:"details",innerHTML:e.details},null,8,wn)):h("",!0),e.linkText?(s(),u("div",Nn,[d("p",In,[R(V(e.linkText)+" ",1),n[0]||(n[0]=d("span",{class:"vpi-arrow-right link-text-icon"},null,-1))])])):h("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),Cn=$(Mn,[["__scopeId","data-v-e68f5c54"]]),An={key:0,class:"VPFeatures"},Hn={class:"container"},Bn={class:"items"},En=p({__name:"VPFeatures",props:{features:{}},setup(e){const t=e,n=y(()=>{const o=t.features.length;if(o){if(o===2)return"grid-2";if(o===3)return"grid-3";if(o%3===0)return"grid-6";if(o>3)return"grid-4"}else return});return(o,a)=>e.features?(s(),u("div",An,[d("div",Hn,[d("div",Bn,[(s(!0),u(w,null,I(e.features,i=>(s(),u("div",{key:i.title,class:x(["item",[n.value]])},[_(Cn,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):h("",!0)}}),Dn=$(En,[["__scopeId","data-v-c29cee3c"]]),On=p({__name:"VPHomeFeatures",setup(e){const{frontmatter:t}=L();return(n,o)=>r(t).features?(s(),g(Dn,{key:0,class:"VPHomeFeatures",features:r(t).features},null,8,["features"])):h("",!0)}}),Fn=p({__name:"VPHomeContent",setup(e){const{width:t}=Re({initialWidth:0,includeScrollbar:!1});return(n,o)=>(s(),u("div",{class:"vp-doc container",style:Se(r(t)?{"--vp-offset":`calc(50% - ${r(t)/2}px)`}:{})},[c(n.$slots,"default",{},void 0,!0)],4))}}),Un=$(Fn,[["__scopeId","data-v-bd322132"]]),Rn=p({__name:"VPHome",setup(e){const{frontmatter:t,theme:n}=L();return(o,a)=>{const i=j("Content");return s(),u("div",{class:x(["VPHome",{"external-link-icon-enabled":r(n).externalLinkIcon}])},[c(o.$slots,"home-hero-before",{},void 0,!0),_(Ln,null,{"home-hero-info-before":f(()=>[c(o.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(o.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(o.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(o.$slots,"home-hero-image",{},void 0,!0)]),_:3}),c(o.$slots,"home-hero-after",{},void 0,!0),c(o.$slots,"home-features-before",{},void 0,!0),_(On),c(o.$slots,"home-features-after",{},void 0,!0),r(t).markdownStyles!==!1?(s(),g(Un,{key:0},{default:f(()=>[_(i)]),_:1})):(s(),g(i,{key:1}))],2)}}}),Gn=$(Rn,[["__scopeId","data-v-75436bba"]]),jn={},zn={class:"VPPage"};function Wn(e,t){const n=j("Content");return s(),u("div",zn,[c(e.$slots,"page-top"),_(n),c(e.$slots,"page-bottom")])}const qn=$(jn,[["render",Wn]]),Kn=p({__name:"VPContent",setup(e){const{page:t,frontmatter:n}=L(),{hasSidebar:o}=O();return(a,i)=>(s(),u("div",{class:x(["VPContent",{"has-sidebar":r(o),"is-home":r(n).layout==="home"}]),id:"VPContent"},[r(t).isNotFound?c(a.$slots,"not-found",{},()=>[_(dt)],!0,0):r(n).layout==="page"?(s(),g(qn,{key:1},{"page-top":f(()=>[c(a.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[c(a.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(n).layout==="home"?(s(),g(Gn,{key:2},{"home-hero-before":f(()=>[c(a.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[c(a.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(a.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(a.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(a.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(a.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[c(a.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[c(a.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[c(a.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(n).layout&&r(n).layout!=="doc"?(s(),g(B(r(n).layout),{key:3})):(s(),g(ln,{key:4},{"doc-top":f(()=>[c(a.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[c(a.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":f(()=>[c(a.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[c(a.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[c(a.$slots,"doc-after",{},void 0,!0)]),"aside-top":f(()=>[c(a.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":f(()=>[c(a.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(a.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(a.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(a.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":f(()=>[c(a.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),Jn=$(Kn,[["__scopeId","data-v-8da8809f"]]),Yn={class:"container"},Xn=["innerHTML"],Qn=["innerHTML"],Zn=p({__name:"VPFooter",setup(e){const{theme:t,frontmatter:n}=L(),{hasSidebar:o}=O();return(a,i)=>r(t).footer&&r(n).footer!==!1?(s(),u("footer",{key:0,class:x(["VPFooter",{"has-sidebar":r(o)}])},[d("div",Yn,[r(t).footer.message?(s(),u("p",{key:0,class:"message",innerHTML:r(t).footer.message},null,8,Xn)):h("",!0),r(t).footer.copyright?(s(),u("p",{key:1,class:"copyright",innerHTML:r(t).footer.copyright},null,8,Qn)):h("",!0)])],2)):h("",!0)}}),eo=$(Zn,[["__scopeId","data-v-51ac4691"]]);function to(){const{theme:e,frontmatter:t}=L(),n=Le([]),o=y(()=>n.value.length>0);return Z(()=>{n.value=he(t.value.outline??e.value.outline)}),{headers:n,hasLocalNav:o}}const no={class:"menu-text"},oo={class:"header"},ao={class:"outline"},so=p({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(e){const t=e,{theme:n}=L(),o=S(!1),a=S(0),i=S(),l=S();function v(k){i.value?.contains(k.target)||(o.value=!1)}H(o,k=>{if(k){document.addEventListener("click",v);return}document.removeEventListener("click",v)}),re("Escape",()=>{o.value=!1}),Z(()=>{o.value=!1});function m(){o.value=!o.value,a.value=window.innerHeight+Math.min(window.scrollY-t.navHeight,0)}function b(k){k.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),fe(()=>{o.value=!1}))}function P(){o.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(k,T)=>(s(),u("div",{class:"VPLocalNavOutlineDropdown",style:Se({"--vp-vh":a.value+"px"}),ref_key:"main",ref:i},[e.headers.length>0?(s(),u("button",{key:0,onClick:m,class:x({open:o.value})},[d("span",no,V(r(Ie)(r(n))),1),T[0]||(T[0]=d("span",{class:"vpi-chevron-right icon"},null,-1))],2)):(s(),u("button",{key:1,onClick:P},V(r(n).returnToTopLabel||"Return to top"),1)),_(ue,{name:"flyout"},{default:f(()=>[o.value?(s(),u("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:b},[d("div",oo,[d("a",{class:"top-link",href:"#",onClick:P},V(r(n).returnToTopLabel||"Return to top"),1)]),d("div",ao,[_(Me,{headers:e.headers},null,8,["headers"])])],512)):h("",!0)]),_:1})],4))}}),ro=$(so,[["__scopeId","data-v-8da33559"]]),io={class:"container"},lo=["aria-expanded"],co={class:"menu-text"},uo=p({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(e){const{theme:t,frontmatter:n}=L(),{hasSidebar:o}=O(),{headers:a}=to(),{y:i}=Te(),l=S(0);D(()=>{l.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),Z(()=>{a.value=he(n.value.outline??t.value.outline)});const v=y(()=>a.value.length===0),m=y(()=>v.value&&!o.value),b=y(()=>({VPLocalNav:!0,"has-sidebar":o.value,empty:v.value,fixed:m.value}));return(P,k)=>r(n).layout!=="home"&&(!m.value||r(i)>=l.value)?(s(),u("div",{key:0,class:x(b.value)},[d("div",io,[r(o)?(s(),u("button",{key:0,class:"menu","aria-expanded":e.open,"aria-controls":"VPSidebarNav",onClick:k[0]||(k[0]=T=>P.$emit("open-menu"))},[k[1]||(k[1]=d("span",{class:"vpi-align-left menu-icon"},null,-1)),d("span",co,V(r(t).sidebarMenuLabel||"Menu"),1)],8,lo)):h("",!0),_(ro,{headers:r(a),navHeight:l.value},null,8,["headers","navHeight"])])],2)):h("",!0)}}),vo=$(uo,[["__scopeId","data-v-0f137e95"]]);function fo(){const e=S(!1);function t(){e.value=!0,window.addEventListener("resize",a)}function n(){e.value=!1,window.removeEventListener("resize",a)}function o(){e.value?n():t()}function a(){window.outerWidth>=768&&n()}const i=W();return H(()=>i.path,n),{isScreenOpen:e,openScreen:t,closeScreen:n,toggleScreen:o}}const mo={},ho={class:"VPSwitch",type:"button",role:"switch"},po={class:"check"},_o={key:0,class:"icon"};function go(e,t){return s(),u("button",ho,[d("span",po,[e.$slots.default?(s(),u("span",_o,[c(e.$slots,"default",{},void 0,!0)])):h("",!0)])])}const ko=$(mo,[["render",go],["__scopeId","data-v-595ed02e"]]),bo=p({__name:"VPSwitchAppearance",setup(e){const{isDark:t,theme:n}=L(),o=ee("toggle-appearance",()=>{t.value=!t.value}),a=S("");return ve(()=>{a.value=t.value?n.value.lightModeSwitchTitle||"Switch to light theme":n.value.darkModeSwitchTitle||"Switch to dark theme"}),(i,l)=>(s(),g(ko,{title:a.value,class:"VPSwitchAppearance","aria-checked":r(t),onClick:r(o)},{default:f(()=>[...l[0]||(l[0]=[d("span",{class:"vpi-sun sun"},null,-1),d("span",{class:"vpi-moon moon"},null,-1)])]),_:1},8,["title","aria-checked","onClick"]))}}),pe=$(bo,[["__scopeId","data-v-273278d3"]]),$o={key:0,class:"VPNavBarAppearance"},yo=p({__name:"VPNavBarAppearance",setup(e){const{site:t}=L();return(n,o)=>r(t).appearance&&r(t).appearance!=="force-dark"&&r(t).appearance!=="force-auto"?(s(),u("div",$o,[_(pe)])):h("",!0)}}),Po=$(yo,[["__scopeId","data-v-b81617e7"]]),_e=S();let Ce=!1,oe=0;function Lo(e){const t=S(!1);if(te){!Ce&&Vo(),oe++;const n=H(_e,o=>{o===e.el.value||e.el.value?.contains(o)?(t.value=!0,e.onFocus?.()):(t.value=!1,e.onBlur?.())});Q(()=>{n(),oe--,oe||So()})}return Ge(t)}function Vo(){document.addEventListener("focusin",Ae),Ce=!0,_e.value=document.activeElement}function So(){document.removeEventListener("focusin",Ae)}function Ae(){_e.value=document.activeElement}const To={class:"VPMenuLink"},xo=["innerHTML"],wo=p({__name:"VPMenuLink",props:{item:{}},setup(e){const{page:t}=L();return(n,o)=>(s(),u("div",To,[_(E,{class:x({active:r(G)(r(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon},{default:f(()=>[d("span",{innerHTML:e.item.text},null,8,xo)]),_:1},8,["class","href","target","rel","no-icon"])]))}}),ne=$(wo,[["__scopeId","data-v-d62fa8e2"]]),No={class:"VPMenuGroup"},Io={key:0,class:"title"},Mo=p({__name:"VPMenuGroup",props:{text:{},items:{}},setup(e){return(t,n)=>(s(),u("div",No,[e.text?(s(),u("p",Io,V(e.text),1)):h("",!0),(s(!0),u(w,null,I(e.items,o=>(s(),u(w,null,["link"in o?(s(),g(ne,{key:0,item:o},null,8,["item"])):h("",!0)],64))),256))]))}}),Co=$(Mo,[["__scopeId","data-v-ad97fc48"]]),Ao={class:"VPMenu"},Ho={key:0,class:"items"},Bo=p({__name:"VPMenu",props:{items:{}},setup(e){return(t,n)=>(s(),u("div",Ao,[e.items?(s(),u("div",Ho,[(s(!0),u(w,null,I(e.items,o=>(s(),u(w,{key:JSON.stringify(o)},["link"in o?(s(),g(ne,{key:0,item:o},null,8,["item"])):"component"in o?(s(),g(B(o.component),U({key:1,ref_for:!0},o.props),null,16)):(s(),g(Co,{key:2,text:o.text,items:o.items},null,8,["text","items"]))],64))),128))])):h("",!0),c(t.$slots,"default",{},void 0,!0)]))}}),Eo=$(Bo,[["__scopeId","data-v-3fafad00"]]),Do=["aria-expanded","aria-label"],Oo={key:0,class:"text"},Fo=["innerHTML"],Uo={key:1,class:"vpi-more-horizontal icon"},Ro={class:"menu"},Go=p({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(e){const t=S(!1),n=S();Lo({el:n,onBlur:o});function o(){t.value=!1}return(a,i)=>(s(),u("div",{class:"VPFlyout",ref_key:"el",ref:n,onMouseenter:i[1]||(i[1]=l=>t.value=!0),onMouseleave:i[2]||(i[2]=l=>t.value=!1)},[d("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":t.value,"aria-label":e.label,onClick:i[0]||(i[0]=l=>t.value=!t.value)},[e.button||e.icon?(s(),u("span",Oo,[e.icon?(s(),u("span",{key:0,class:x([e.icon,"option-icon"])},null,2)):h("",!0),e.button?(s(),u("span",{key:1,innerHTML:e.button},null,8,Fo)):h("",!0),i[3]||(i[3]=d("span",{class:"vpi-chevron-down text-icon"},null,-1))])):(s(),u("span",Uo))],8,Do),d("div",Ro,[_(Eo,{items:e.items},{default:f(()=>[c(a.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),ge=$(Go,[["__scopeId","data-v-5d7cf148"]]),jo=["href","aria-label","innerHTML"],zo=p({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(e){const t=e,n=S();D(async()=>{await fe();const a=n.value?.children[0];a instanceof HTMLElement&&a.className.startsWith("vpi-social-")&&(getComputedStyle(a).maskImage||getComputedStyle(a).webkitMaskImage)==="none"&&a.style.setProperty("--icon",`url('https://api.iconify.design/simple-icons/${t.icon}.svg')`)});const o=y(()=>typeof t.icon=="object"?t.icon.svg:`<span class="vpi-social-${t.icon}"></span>`);return(a,i)=>(s(),u("a",{ref_key:"el",ref:n,class:"VPSocialLink no-icon",href:e.link,"aria-label":e.ariaLabel??(typeof e.icon=="string"?e.icon:""),target:"_blank",rel:"noopener",innerHTML:o.value},null,8,jo))}}),Wo=$(zo,[["__scopeId","data-v-74114f55"]]),qo={class:"VPSocialLinks"},Ko=p({__name:"VPSocialLinks",props:{links:{}},setup(e){return(t,n)=>(s(),u("div",qo,[(s(!0),u(w,null,I(e.links,({link:o,icon:a,ariaLabel:i})=>(s(),g(Wo,{key:o,icon:a,link:o,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),ke=$(Ko,[["__scopeId","data-v-9a5d404c"]]),Jo={key:0,class:"group translations"},Yo={class:"trans-title"},Xo={key:1,class:"group"},Qo={class:"item appearance"},Zo={class:"label"},ea={class:"appearance-action"},ta={key:2,class:"group"},na={class:"item social-links"},oa=p({__name:"VPNavBarExtra",setup(e){const{site:t,theme:n}=L(),{localeLinks:o,currentLang:a}=q({correspondingLink:!0}),i=y(()=>o.value.length&&a.value.label||t.value.appearance||n.value.socialLinks);return(l,v)=>i.value?(s(),g(ge,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:f(()=>[r(o).length&&r(a).label?(s(),u("div",Jo,[d("p",Yo,V(r(a).label),1),(s(!0),u(w,null,I(r(o),m=>(s(),g(ne,{key:m.link,item:m},null,8,["item"]))),128))])):h("",!0),r(t).appearance&&r(t).appearance!=="force-dark"&&r(t).appearance!=="force-auto"?(s(),u("div",Xo,[d("div",Qo,[d("p",Zo,V(r(n).darkModeSwitchLabel||"Appearance"),1),d("div",ea,[_(pe)])])])):h("",!0),r(n).socialLinks?(s(),u("div",ta,[d("div",na,[_(ke,{class:"social-links-list",links:r(n).socialLinks},null,8,["links"])])])):h("",!0)]),_:1})):h("",!0)}}),aa=$(oa,[["__scopeId","data-v-0e59b9da"]]),sa=["aria-expanded"],ra=p({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(e){return(t,n)=>(s(),u("button",{type:"button",class:x(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:n[0]||(n[0]=o=>t.$emit("click"))},[...n[1]||(n[1]=[d("span",{class:"container"},[d("span",{class:"top"}),d("span",{class:"middle"}),d("span",{class:"bottom"})],-1)])],10,sa))}}),ia=$(ra,[["__scopeId","data-v-f8aa66a1"]]),la=["innerHTML"],ca=p({__name:"VPNavBarMenuLink",props:{item:{}},setup(e){const{page:t}=L();return(n,o)=>(s(),g(E,{class:x({VPNavBarMenuLink:!0,active:r(G)(r(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,tabindex:"0"},{default:f(()=>[d("span",{innerHTML:e.item.text},null,8,la)]),_:1},8,["class","href","target","rel","no-icon"]))}}),ua=$(ca,[["__scopeId","data-v-7f6d531c"]]),da=p({__name:"VPNavBarMenuGroup",props:{item:{}},setup(e){const t=e,{page:n}=L(),o=i=>"component"in i?!1:"link"in i?G(n.value.relativePath,i.link,!!t.item.activeMatch):i.items.some(o),a=y(()=>o(t.item));return(i,l)=>(s(),g(ge,{class:x({VPNavBarMenuGroup:!0,active:r(G)(r(n).relativePath,e.item.activeMatch,!!e.item.activeMatch)||a.value}),button:e.item.text,items:e.item.items},null,8,["class","button","items"]))}}),va={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},fa=p({__name:"VPNavBarMenu",setup(e){const{theme:t}=L();return(n,o)=>r(t).nav?(s(),u("nav",va,[o[0]||(o[0]=d("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),(s(!0),u(w,null,I(r(t).nav,a=>(s(),u(w,{key:JSON.stringify(a)},["link"in a?(s(),g(ua,{key:0,item:a},null,8,["item"])):"component"in a?(s(),g(B(a.component),U({key:1,ref_for:!0},a.props),null,16)):(s(),g(da,{key:2,item:a},null,8,["item"]))],64))),128))])):h("",!0)}}),ma=$(fa,[["__scopeId","data-v-6e3574fc"]]);function ha(e){const{localeIndex:t,theme:n}=L();function o(a){const i=a.split("."),l=n.value.search?.options,v=l&&typeof l=="object",m=v&&l.locales?.[t.value]?.translations||null,b=v&&l.translations||null;let P=m,k=b,T=e;const N=i.pop();for(const M of i){let C=null;const A=T?.[M];A&&(C=T=A);const F=k?.[M];F&&(C=k=F);const z=P?.[M];z&&(C=P=z),A||(T=C),F||(k=C),z||(P=C)}return P?.[N]??k?.[N]??T?.[N]??""}return o}const pa=["aria-label"],_a={class:"DocSearch-Button-Container"},ga={class:"DocSearch-Button-Placeholder"},ye=p({__name:"VPNavBarSearchButton",setup(e){const n=ha({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(o,a)=>(s(),u("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(n)("button.buttonAriaLabel")},[d("span",_a,[a[0]||(a[0]=d("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1)),d("span",ga,V(r(n)("button.buttonText")),1)]),a[1]||(a[1]=d("span",{class:"DocSearch-Button-Keys"},[d("kbd",{class:"DocSearch-Button-Key"}),d("kbd",{class:"DocSearch-Button-Key"},"K")],-1))],8,pa))}}),ka={class:"VPNavBarSearch"},ba={id:"local-search"},$a={key:1,id:"docsearch"},ya=p({__name:"VPNavBarSearch",setup(e){const t=je(()=>ze(()=>import("./VPLocalSearchBox.P9CapR4-.js"),__vite__mapDeps([0,1]))),n=()=>null,{theme:o}=L(),a=S(!1),i=S(!1);D(()=>{});function l(){a.value||(a.value=!0,setTimeout(v,16))}function v(){const k=new Event("keydown");k.key="k",k.metaKey=!0,window.dispatchEvent(k),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||v()},16)}function m(k){const T=k.target,N=T.tagName;return T.isContentEditable||N==="INPUT"||N==="SELECT"||N==="TEXTAREA"}const b=S(!1);re("k",k=>{(k.ctrlKey||k.metaKey)&&(k.preventDefault(),b.value=!0)}),re("/",k=>{m(k)||(k.preventDefault(),b.value=!0)});const P="local";return(k,T)=>(s(),u("div",ka,[r(P)==="local"?(s(),u(w,{key:0},[b.value?(s(),g(r(t),{key:0,onClose:T[0]||(T[0]=N=>b.value=!1)})):h("",!0),d("div",ba,[_(ye,{onClick:T[1]||(T[1]=N=>b.value=!0)})])],64)):r(P)==="algolia"?(s(),u(w,{key:1},[a.value?(s(),g(r(n),{key:0,algolia:r(o).search?.options??r(o).algolia,onVnodeBeforeMount:T[2]||(T[2]=N=>i.value=!0)},null,8,["algolia"])):h("",!0),i.value?h("",!0):(s(),u("div",$a,[_(ye,{onClick:l})]))],64)):h("",!0)]))}}),Pa=p({__name:"VPNavBarSocialLinks",setup(e){const{theme:t}=L();return(n,o)=>r(t).socialLinks?(s(),g(ke,{key:0,class:"VPNavBarSocialLinks",links:r(t).socialLinks},null,8,["links"])):h("",!0)}}),La=$(Pa,[["__scopeId","data-v-e2774f93"]]),Va=["href","rel","target"],Sa=["innerHTML"],Ta={key:2},xa=p({__name:"VPNavBarTitle",setup(e){const{site:t,theme:n}=L(),{hasSidebar:o}=O(),{currentLang:a}=q(),i=y(()=>typeof n.value.logoLink=="string"?n.value.logoLink:n.value.logoLink?.link),l=y(()=>typeof n.value.logoLink=="string"?void 0:n.value.logoLink?.rel),v=y(()=>typeof n.value.logoLink=="string"?void 0:n.value.logoLink?.target);return(m,b)=>(s(),u("div",{class:x(["VPNavBarTitle",{"has-sidebar":r(o)}])},[d("a",{class:"title",href:i.value??r(me)(r(a).link),rel:l.value,target:v.value},[c(m.$slots,"nav-bar-title-before",{},void 0,!0),r(n).logo?(s(),g(J,{key:0,class:"logo",image:r(n).logo},null,8,["image"])):h("",!0),r(n).siteTitle?(s(),u("span",{key:1,innerHTML:r(n).siteTitle},null,8,Sa)):r(n).siteTitle===void 0?(s(),u("span",Ta,V(r(t).title),1)):h("",!0),c(m.$slots,"nav-bar-title-after",{},void 0,!0)],8,Va)],2))}}),wa=$(xa,[["__scopeId","data-v-52450919"]]),Na={class:"items"},Ia={class:"title"},Ma=p({__name:"VPNavBarTranslations",setup(e){const{theme:t}=L(),{localeLinks:n,currentLang:o}=q({correspondingLink:!0});return(a,i)=>r(n).length&&r(o).label?(s(),g(ge,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:r(t).langMenuLabel||"Change language"},{default:f(()=>[d("div",Na,[d("p",Ia,V(r(o).label),1),(s(!0),u(w,null,I(r(n),l=>(s(),g(ne,{key:l.link,item:l},null,8,["item"]))),128))])]),_:1},8,["label"])):h("",!0)}}),Ca=$(Ma,[["__scopeId","data-v-7547c9e2"]]),Aa={class:"wrapper"},Ha={class:"container"},Ba={class:"title"},Ea={class:"content"},Da={class:"content-body"},Oa=p({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(e){const t=e,{y:n}=Te(),{hasSidebar:o}=O(),{frontmatter:a}=L(),i=S({});return ve(()=>{i.value={"has-sidebar":o.value,home:a.value.layout==="home",top:n.value===0,"screen-open":t.isScreenOpen}}),(l,v)=>(s(),u("div",{class:x(["VPNavBar",i.value])},[d("div",Aa,[d("div",Ha,[d("div",Ba,[_(wa,null,{"nav-bar-title-before":f(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),d("div",Ea,[d("div",Da,[c(l.$slots,"nav-bar-content-before",{},void 0,!0),_(ya,{class:"search"}),_(ma,{class:"menu"}),_(Ca,{class:"translations"}),_(Po,{class:"appearance"}),_(La,{class:"social-links"}),_(aa,{class:"extra"}),c(l.$slots,"nav-bar-content-after",{},void 0,!0),_(ia,{class:"hamburger",active:e.isScreenOpen,onClick:v[0]||(v[0]=m=>l.$emit("toggle-screen"))},null,8,["active"])])])])]),v[1]||(v[1]=d("div",{class:"divider"},[d("div",{class:"divider-line"})],-1))],2))}}),Fa=$(Oa,[["__scopeId","data-v-94126289"]]),Ua={key:0,class:"VPNavScreenAppearance"},Ra={class:"text"},Ga=p({__name:"VPNavScreenAppearance",setup(e){const{site:t,theme:n}=L();return(o,a)=>r(t).appearance&&r(t).appearance!=="force-dark"&&r(t).appearance!=="force-auto"?(s(),u("div",Ua,[d("p",Ra,V(r(n).darkModeSwitchLabel||"Appearance"),1),_(pe)])):h("",!0)}}),ja=$(Ga,[["__scopeId","data-v-5f5b4400"]]),za=["innerHTML"],Wa=p({__name:"VPNavScreenMenuLink",props:{item:{}},setup(e){const t=ee("close-screen");return(n,o)=>(s(),g(E,{class:"VPNavScreenMenuLink",href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,onClick:r(t)},{default:f(()=>[d("span",{innerHTML:e.item.text},null,8,za)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),qa=$(Wa,[["__scopeId","data-v-b1f6371a"]]),Ka=["innerHTML"],Ja=p({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(e){const t=ee("close-screen");return(n,o)=>(s(),g(E,{class:"VPNavScreenMenuGroupLink",href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,onClick:r(t)},{default:f(()=>[d("span",{innerHTML:e.item.text},null,8,Ka)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),He=$(Ja,[["__scopeId","data-v-0842708b"]]),Ya={class:"VPNavScreenMenuGroupSection"},Xa={key:0,class:"title"},Qa=p({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(e){return(t,n)=>(s(),u("div",Ya,[e.text?(s(),u("p",Xa,V(e.text),1)):h("",!0),(s(!0),u(w,null,I(e.items,o=>(s(),g(He,{key:o.text,item:o},null,8,["item"]))),128))]))}}),Za=$(Qa,[["__scopeId","data-v-1604621b"]]),es=["aria-controls","aria-expanded"],ts=["innerHTML"],ns=["id"],os={key:0,class:"item"},as={key:1,class:"item"},ss={key:2,class:"group"},rs=p({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(e){const t=e,n=S(!1),o=y(()=>`NavScreenGroup-${t.text.replace(" ","-").toLowerCase()}`);function a(){n.value=!n.value}return(i,l)=>(s(),u("div",{class:x(["VPNavScreenMenuGroup",{open:n.value}])},[d("button",{class:"button","aria-controls":o.value,"aria-expanded":n.value,onClick:a},[d("span",{class:"button-text",innerHTML:e.text},null,8,ts),l[0]||(l[0]=d("span",{class:"vpi-plus button-icon"},null,-1))],8,es),d("div",{id:o.value,class:"items"},[(s(!0),u(w,null,I(e.items,v=>(s(),u(w,{key:JSON.stringify(v)},["link"in v?(s(),u("div",os,[_(He,{item:v},null,8,["item"])])):"component"in v?(s(),u("div",as,[(s(),g(B(v.component),U({ref_for:!0},v.props,{"screen-menu":""}),null,16))])):(s(),u("div",ss,[_(Za,{text:v.text,items:v.items},null,8,["text","items"])]))],64))),128))],8,ns)],2))}}),is=$(rs,[["__scopeId","data-v-17b2f265"]]),ls={key:0,class:"VPNavScreenMenu"},cs=p({__name:"VPNavScreenMenu",setup(e){const{theme:t}=L();return(n,o)=>r(t).nav?(s(),u("nav",ls,[(s(!0),u(w,null,I(r(t).nav,a=>(s(),u(w,{key:JSON.stringify(a)},["link"in a?(s(),g(qa,{key:0,item:a},null,8,["item"])):"component"in a?(s(),g(B(a.component),U({key:1,ref_for:!0},a.props,{"screen-menu":""}),null,16)):(s(),g(is,{key:2,text:a.text||"",items:a.items},null,8,["text","items"]))],64))),128))])):h("",!0)}}),us=p({__name:"VPNavScreenSocialLinks",setup(e){const{theme:t}=L();return(n,o)=>r(t).socialLinks?(s(),g(ke,{key:0,class:"VPNavScreenSocialLinks",links:r(t).socialLinks},null,8,["links"])):h("",!0)}}),ds={class:"list"},vs=p({__name:"VPNavScreenTranslations",setup(e){const{localeLinks:t,currentLang:n}=q({correspondingLink:!0}),o=S(!1);function a(){o.value=!o.value}return(i,l)=>r(t).length&&r(n).label?(s(),u("div",{key:0,class:x(["VPNavScreenTranslations",{open:o.value}])},[d("button",{class:"title",onClick:a},[l[0]||(l[0]=d("span",{class:"vpi-languages icon lang"},null,-1)),R(" "+V(r(n).label)+" ",1),l[1]||(l[1]=d("span",{class:"vpi-chevron-down icon chevron"},null,-1))]),d("ul",ds,[(s(!0),u(w,null,I(r(t),v=>(s(),u("li",{key:v.link,class:"item"},[_(E,{class:"link",href:v.link},{default:f(()=>[R(V(v.text),1)]),_:2},1032,["href"])]))),128))])],2)):h("",!0)}}),fs=$(vs,[["__scopeId","data-v-eca6d244"]]),ms={class:"container"},hs=p({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(e){const t=S(null),n=xe(te?document.body:null);return(o,a)=>(s(),g(ue,{name:"fade",onEnter:a[0]||(a[0]=i=>n.value=!0),onAfterLeave:a[1]||(a[1]=i=>n.value=!1)},{default:f(()=>[e.open?(s(),u("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:t,id:"VPNavScreen"},[d("div",ms,[c(o.$slots,"nav-screen-content-before",{},void 0,!0),_(cs,{class:"menu"}),_(fs,{class:"translations"}),_(ja,{class:"appearance"}),_(us,{class:"social-links"}),c(o.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):h("",!0)]),_:3}))}}),ps=$(hs,[["__scopeId","data-v-f0b27409"]]),_s={key:0,class:"VPNav"},gs=p({__name:"VPNav",setup(e){const{isScreenOpen:t,closeScreen:n,toggleScreen:o}=fo(),{frontmatter:a}=L(),i=y(()=>a.value.navbar!==!1);return we("close-screen",n),X(()=>{te&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(l,v)=>i.value?(s(),u("header",_s,[_(Fa,{"is-screen-open":r(t),onToggleScreen:r(o)},{"nav-bar-title-before":f(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[c(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[c(l.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),_(ps,{open:r(t)},{"nav-screen-content-before":f(()=>[c(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[c(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):h("",!0)}}),ks=$(gs,[["__scopeId","data-v-974a37fc"]]),bs=["role","tabindex"],$s={key:1,class:"items"},ys=p({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(e){const t=e,{collapsed:n,collapsible:o,isLink:a,isActiveLink:i,hasActiveLink:l,hasChildren:v,toggle:m}=ht(y(()=>t.item)),b=y(()=>v.value?"section":"div"),P=y(()=>a.value?"a":"div"),k=y(()=>v.value?t.depth+2===7?"p":`h${t.depth+2}`:"p"),T=y(()=>a.value?void 0:"button"),N=y(()=>[[`level-${t.depth}`],{collapsible:o.value},{collapsed:n.value},{"is-link":a.value},{"is-active":i.value},{"has-active":l.value}]);function M(A){"key"in A&&A.key!=="Enter"||!t.item.link&&m()}function C(){t.item.link&&m()}return(A,F)=>{const z=j("VPSidebarItem",!0);return s(),g(B(b.value),{class:x(["VPSidebarItem",N.value])},{default:f(()=>[e.item.text?(s(),u("div",U({key:0,class:"item",role:T.value},We(e.item.items?{click:M,keydown:M}:{},!0),{tabindex:e.item.items&&0}),[F[1]||(F[1]=d("div",{class:"indicator"},null,-1)),e.item.link?(s(),g(E,{key:0,tag:P.value,class:"link",href:e.item.link,rel:e.item.rel,target:e.item.target},{default:f(()=>[(s(),g(B(k.value),{class:"text",innerHTML:e.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(s(),g(B(k.value),{key:1,class:"text",innerHTML:e.item.text},null,8,["innerHTML"])),e.item.collapsed!=null&&e.item.items&&e.item.items.length?(s(),u("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:C,onKeydown:qe(C,["enter"]),tabindex:"0"},[...F[0]||(F[0]=[d("span",{class:"vpi-chevron-right caret-icon"},null,-1)])],32)):h("",!0)],16,bs)):h("",!0),e.item.items&&e.item.items.length?(s(),u("div",$s,[e.depth<5?(s(!0),u(w,{key:0},I(e.item.items,$e=>(s(),g(z,{key:$e.text,item:$e,depth:e.depth+1},null,8,["item","depth"]))),128)):h("",!0)])):h("",!0)]),_:1},8,["class"])}}}),Ps=$(ys,[["__scopeId","data-v-65c16b06"]]),Ls=p({__name:"VPSidebarGroup",props:{items:{}},setup(e){const t=S(!0);let n=null;return D(()=>{n=setTimeout(()=>{n=null,t.value=!1},300)}),Ke(()=>{n!=null&&(clearTimeout(n),n=null)}),(o,a)=>(s(!0),u(w,null,I(e.items,i=>(s(),u("div",{key:i.text,class:x(["group",{"no-transition":t.value}])},[_(Ps,{item:i,depth:0},null,8,["item"])],2))),128))}}),Vs=$(Ls,[["__scopeId","data-v-e55dc7ff"]]),Ss={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Ts=p({__name:"VPSidebar",props:{open:{type:Boolean}},setup(e){const{sidebarGroups:t,hasSidebar:n}=O(),o=e,a=S(null),i=xe(te?document.body:null);H([o,a],()=>{o.open?(i.value=!0,a.value?.focus()):i.value=!1},{immediate:!0,flush:"post"});const l=S(0);return H(t,()=>{l.value+=1},{deep:!0}),(v,m)=>r(n)?(s(),u("aside",{key:0,class:x(["VPSidebar",{open:e.open}]),ref_key:"navEl",ref:a,onClick:m[0]||(m[0]=Je(()=>{},["stop"]))},[m[2]||(m[2]=d("div",{class:"curtain"},null,-1)),d("nav",Ss,[m[1]||(m[1]=d("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),c(v.$slots,"sidebar-nav-before",{},void 0,!0),(s(),g(Vs,{items:r(t),key:l.value},null,8,["items"])),c(v.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):h("",!0)}}),xs=$(Ts,[["__scopeId","data-v-25c855a9"]]),ws=p({__name:"VPSkipLink",setup(e){const{theme:t}=L(),n=W(),o=S();H(()=>n.path,()=>o.value.focus());function a({target:i}){const l=document.getElementById(decodeURIComponent(i.hash).slice(1));if(l){const v=()=>{l.removeAttribute("tabindex"),l.removeEventListener("blur",v)};l.setAttribute("tabindex","-1"),l.addEventListener("blur",v),l.focus(),window.scrollTo(0,0)}}return(i,l)=>(s(),u(w,null,[d("span",{ref_key:"backToTop",ref:o,tabindex:"-1"},null,512),d("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:a},V(r(t).skipToContentLabel||"Skip to content"),1)],64))}}),Ns=$(ws,[["__scopeId","data-v-bbc8ff95"]]),Is=p({__name:"Layout",setup(e){const{isOpen:t,open:n,close:o}=O(),a=W();H(()=>a.path,o),mt(t,o);const{frontmatter:i}=L(),l=Ye(),v=y(()=>!!l["home-hero-image"]);return we("hero-image-slot-exists",v),(m,b)=>{const P=j("Content");return r(i).layout!==!1?(s(),u("div",{key:0,class:x(["Layout",r(i).pageClass])},[c(m.$slots,"layout-top",{},void 0,!0),_(Ns),_(tt,{class:"backdrop",show:r(t),onClick:r(o)},null,8,["show","onClick"]),_(ks,null,{"nav-bar-title-before":f(()=>[c(m.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(m.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[c(m.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[c(m.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":f(()=>[c(m.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[c(m.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),_(vo,{open:r(t),onOpenMenu:r(n)},null,8,["open","onOpenMenu"]),_(xs,{open:r(t)},{"sidebar-nav-before":f(()=>[c(m.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":f(()=>[c(m.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),_(Jn,null,{"page-top":f(()=>[c(m.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[c(m.$slots,"page-bottom",{},void 0,!0)]),"not-found":f(()=>[c(m.$slots,"not-found",{},void 0,!0)]),"home-hero-before":f(()=>[c(m.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[c(m.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(m.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(m.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(m.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(m.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[c(m.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[c(m.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[c(m.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":f(()=>[c(m.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[c(m.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[c(m.$slots,"doc-after",{},void 0,!0)]),"doc-top":f(()=>[c(m.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[c(m.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":f(()=>[c(m.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[c(m.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[c(m.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(m.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(m.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(m.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),_(eo),c(m.$slots,"layout-bottom",{},void 0,!0)],2)):(s(),g(P,{key:1}))}}}),Ms=$(Is,[["__scopeId","data-v-ef19ba22"]]),Be={Layout:Ms,enhanceApp:({app:e})=>{e.component("Badge",Qe)}},Ee={console:"Console",lastUpdated:"Last updated:",notSpecified:"Not specified",copyPage:"Copy Page",copied:"Copied",copyFailed:"Copy failed",copyCode:"Copy code",versionPending:"Loaded after console sign-in",versionPlaceholder:"<loaded after console sign-in>",currentServerVersion:"Current server version:",versionPendingHint:" (loaded after console sign-in)"},Cs={console:"控制台",lastUpdated:"最后更新:",notSpecified:"未标注",copyPage:"复制本页内容",copied:"已复制",copyFailed:"复制失败",copyCode:"复制代码",versionPending:"登录管理台后自动回填",versionPlaceholder:"<登录管理台后自动回填>",currentServerVersion:"当前 Server 版本:",versionPendingHint:"(登录控制台后自动读取)"},Pe="mar.locale.v2",As=[{value:"zh-CN",nativeLabel:"简体中文",docsPrefix:"/docs",browserPrefixes:["zh"]},{value:"en-US",nativeLabel:"English",docsPrefix:"/docs/en-US",browserPrefixes:["en"]}],ae=As.map(e=>({value:e.value,pathPrefix:e.docsPrefix})),Hs={"en-US":Ee,"zh-CN":Cs};function be(){const{lang:e}=Y(),t=y(()=>Hs[e.value]??Ee);return{t:n=>t.value[n]}}const Bs={class:"document-meta"},Es=p({__name:"DocumentMeta",setup(e){const{frontmatter:t}=Y(),{t:n}=be(),o=S(!1),a=S(!1),i=y(()=>{const m=t.value.lastUpdated;if(m instanceof Date&&!Number.isNaN(m.valueOf()))return m.toISOString().slice(0,10);const b=String(m??"");return/^\d{4}-\d{2}-\d{2}/u.exec(b)?.[0]??n("notSpecified")});async function l(m){if(navigator.clipboard?.writeText!==void 0)try{await navigator.clipboard.writeText(m);return}catch{}const b=document.createElement("textarea");b.value=m,b.style.position="fixed",b.style.opacity="0",document.body.append(b),b.select();const P=document.execCommand("copy");if(b.remove(),!P)throw new Error("CLIPBOARD_WRITE_FAILED")}async function v(){const m=document.querySelector(".vp-doc");if(m===null)return;const b=[...m.children].filter(P=>!P.classList.contains("document-meta")).map(P=>P.innerText.trim()).filter(Boolean).join(`
|
|
3
3
|
|
|
4
4
|
`);try{await l(b),o.value=!0,a.value=!1,window.setTimeout(()=>o.value=!1,1600)}catch{a.value=!0}}return(m,b)=>(s(),u("div",Bs,[d("span",null,V(r(n)("lastUpdated"))+" "+V(i.value),1),d("button",{type:"button",class:"copy-page-button",onClick:v},V(a.value?r(n)("copyFailed"):o.value?r(n)("copied"):r(n)("copyPage")),1)]))}}),Ds={class:"docs-desktop-actions"},Os={class:"docs-console-link",href:"/console",target:"_self"},Fs={class:"docs-mobile-actions"},Us={class:"docs-console-link",href:"/console",target:"_self"},Rs=p({__name:"Layout",setup(e){const t=Be.Layout,{t:n}=be(),{lang:o}=Y(),a=W(),i=Xe();function l(){const k=ae.find(T=>T.value===o.value)?.pathPrefix??"/docs";return a.path===k?"/getting-started/overview":a.path.startsWith(`${k}/`)?a.path.slice(k.length)||"/":"/getting-started/overview"}function v(P){const k=ae.find(T=>T.value===P);k===void 0||k.value===o.value||i.go(`${k.pathPrefix}${l()}`)}function m(P){P.key===Pe&&P.newValue!==null&&v(P.newValue)}async function b(){await fe();for(const P of document.querySelectorAll('.vp-doc div[class*="language-"] > button.copy'))P.title=n("copyCode"),P.setAttribute("aria-label",n("copyCode"))}return D(()=>{b(),window.addEventListener("storage",m)}),Q(()=>window.removeEventListener("storage",m)),H([()=>a.path,o],b,{flush:"post"}),H(o,P=>{typeof localStorage<"u"&&ae.some(k=>k.value===P)&&localStorage.setItem(Pe,P)},{immediate:!0}),(P,k)=>(s(),g(r(t),null,{"nav-bar-content-after":f(()=>[d("div",Ds,[d("a",Os,V(r(n)("console")),1)])]),"nav-screen-content-after":f(()=>[d("div",Fs,[d("a",Us,V(r(n)("console")),1)])]),"doc-before":f(()=>[_(Es)]),_:1}))}}),Gs={class:"server-version-command","data-testid":"server-version-command"},js={key:0},zs=p({__name:"ServerVersionCommand",props:{action:{default:"install"},platform:{default:"bash"}},setup(e){const t=e,{t:n}=be(),o=S(),a=y(()=>o.value??n("versionPending")),i=y(()=>t.platform==="powershell"?`$serverVersion = '${o.value??n("versionPlaceholder")}'
|
|
5
5
|
${t.action==="install"?`& npm.cmd install --global "@myagentroam/node@$serverVersion"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as t,o as n,c as i,a3 as r}from"./chunks/framework.BHjrhdiC.js";const p=JSON.parse('{"title":"Community and Enterprise Licenses","description":"","frontmatter":{"title":"Community and Enterprise Licenses","lastUpdated":"2026-11-10T00:00:00.000Z"},"headers":[],"relativePath":"en-US/administration/license.md","filePath":"en-US/administration/license.md"}'),a={name:"en-US/administration/license.md"};function o(s,e,d,c,l,m){return n(),i("div",null,[...e[0]||(e[0]=[r('<h1 id="community-and-enterprise-licenses" tabindex="-1">Community and Enterprise Licenses <a class="header-anchor" href="#community-and-enterprise-licenses" aria-label="Permalink to "Community and Enterprise Licenses""></a></h1><p>Community Edition provides the default single-user experience without a limit on registered Nodes. An Enterprise license enables organizations, additional users, resource sharing, SSO, and audit management.</p><p>The fixed Community administrator can also manage deployment settings under <strong>Admin → System Configuration</strong> without an Enterprise license. Configuring audit retention does not grant access to audit queries or exports. A frozen Enterprise license still blocks system configuration changes.</p><p>A System Administrator opens <strong>Admin → System Information</strong>, copies the request code, and sends it privately to the issuer. Paste the complete returned License document into <strong>License Authorization</strong>, import it, and verify enterprise name and expiry before creating enterprise resources.</p><p>An expired or frozen license restricts enterprise management writes while preserving configured resources and normal work according to the displayed state. Import a valid replacement to restore management. Treat request codes and License documents as administrative data and do not publish them.</p><p>Formal deployments use the same program and image set; activation does not replace the installation. Both formal license states require the real host UUID; containers must mount it read-only, and startup fails if it is unavailable or invalid. The local-only <a href="./../getting-started/npm-quick-start">npm Quick Start</a> uses fixed Community capabilities without a UUID and cannot be activated; System Information does not generate request codes or show License import controls. License capabilities do not replace user and resource authorization.</p><h2 id="why-does-formal-community-deployment-require-a-host-uuid" tabindex="-1">Why does formal Community deployment require a host UUID? <a class="header-anchor" href="#why-does-formal-community-deployment-require-a-host-uuid" aria-label="Permalink to "Why does formal Community deployment require a host UUID?""></a></h2><p>In formal deployments, Community and Enterprise use the same Server startup and host-identity mechanism. Server derives a host fingerprint locally from the real UUID; Enterprise License validation uses it to bind a License to that Server host. Community does not require an Enterprise activation request or an online license-validation service.</p><p>This host-identity check is not an analytics upload. License verification is local; to request Enterprise activation, an administrator deliberately sends the request code (which contains the host fingerprint) to the issuer. Do not publish that code. This does not imply that the entire product is offline: model providers, configured integrations, and other network features have their own data flows.</p><p>Containers must mount the real host UUID read-only. A VM must expose a valid UUID; missing or invalid identity blocks startup rather than falling back to a generated ID. Moving Server to a host with a different UUID requires a replacement Enterprise License bound to the new host. Community still requires the new host's valid UUID but no Enterprise activation. Community is single-user and does not limit registered Nodes.</p><h2 id="source-licensing-and-permitted-use" tabindex="-1">Source licensing and permitted use <a class="header-anchor" href="#source-licensing-and-permitted-use" aria-label="Permalink to "Source licensing and permitted use""></a></h2><p>The EE author and licensor is <strong>aCHAOS (<a href="mailto:achaosxyz@gmail.com" target="_blank" rel="noreferrer">achaosxyz@gmail.com</a>)</strong>. <code>ee/LICENSE</code> contains the full English MyAgentRoam Enterprise Source-Available License 1.0 (<code>MAR-ESAL-1.0</code>); the product root <code>LICENSING.md</code> explains its scope. It is not an OSI-approved open-source license. Independent Apache components and third-party materials retain their own licenses.</p><p>Community features are free for internal use, including a company's own commercial work and deployment on cloud infrastructure it controls. Enterprise features include organization and multi-user administration, enterprise roles and organizational permissions, shared-resource authorization, SSO, enterprise operation auditing and associated governance. Production use requires an Enterprise license, except for the limited frozen-state continuation specified in the terms; isolated non-production development and testing are also permitted.</p><p>An Enterprise license activates features, not redistribution, resale, third-party hosting, SaaS/API operation, OEM or white-label rights. Unactivated or activated status, free third-party access and source modifications do not create exceptions; there is no separate commercial or hosting authorization to purchase. Internal hosted conversations are not third-party hosting services. Your own independent code and output are not subject to the EE license merely because You use MAR. The full scope, exceptions and contribution terms are in <code>ee/LICENSE</code>.</p>',14)])])}const h=t(a,[["render",o]]);export{p as __pageData,h as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as t,o as n,c as i,a3 as
|
|
1
|
+
import{_ as t,o as n,c as i,a3 as r}from"./chunks/framework.BHjrhdiC.js";const p=JSON.parse('{"title":"Community and Enterprise Licenses","description":"","frontmatter":{"title":"Community and Enterprise Licenses","lastUpdated":"2026-11-10T00:00:00.000Z"},"headers":[],"relativePath":"en-US/administration/license.md","filePath":"en-US/administration/license.md"}'),a={name:"en-US/administration/license.md"};function o(s,e,d,c,l,m){return n(),i("div",null,[...e[0]||(e[0]=[r("",14)])])}const h=t(a,[["render",o]]);export{p as __pageData,h as default};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{_ as a,o as t,c as o,a3 as n}from"./chunks/framework.BHjrhdiC.js";const u=JSON.parse('{"title":"Local npm Quick Start","description":"","frontmatter":{"title":"Local npm Quick Start","lastUpdated":"2026-11-10T00:00:00.000Z"},"headers":[],"relativePath":"en-US/getting-started/npm-quick-start.md","filePath":"en-US/getting-started/npm-quick-start.md"}'),
|
|
1
|
+
import{_ as a,o as t,c as o,a3 as n}from"./chunks/framework.BHjrhdiC.js";const u=JSON.parse('{"title":"Local npm Quick Start","description":"","frontmatter":{"title":"Local npm Quick Start","lastUpdated":"2026-11-10T00:00:00.000Z"},"headers":[],"relativePath":"en-US/getting-started/npm-quick-start.md","filePath":"en-US/getting-started/npm-quick-start.md"}'),r={name:"en-US/getting-started/npm-quick-start.md"};function s(i,e,d,c,l,p){return t(),o("div",null,[...e[0]||(e[0]=[n(`<h1 id="local-npm-quick-start" tabindex="-1">Local npm Quick Start <a class="header-anchor" href="#local-npm-quick-start" aria-label="Permalink to "Local npm Quick Start""></a></h1><p>Quick Start runs a fixed Community Server on your own computer for local evaluation. It uses loopback HTTP, a private MySQL instance and, by default, a local Node and SearXNG where managed search is supported. It does not install an operating-system service, require a host UUID or support license activation. For a shared or internet-facing installation, use the <a href="./server-installation">Docker Compose deployment</a> with HTTPS instead.</p><p>The verified installer targets are Linux x64 with glibc 2.28 or later, <code>tar</code> and <code>dpkg-deb</code> (such as a supported Debian or Ubuntu system), and Windows x64 with <code>tar</code> available. Use Node.js 24.12 or later and npm. Installing native dependencies may require an existing build toolchain; installation and setup never install system packages or request elevated privileges. Browser preparation and the selected components require network access. Other native platforms have not been verified for this Quick Start.</p><p>The terminal dependency is pinned to <code>node-pty@1.2.0-beta.18</code>, which includes prebuilt files for Linux x64/arm64, macOS x64/arm64 and Windows x64/arm64. On the verified Linux x64 target, its default installation does not require GCC, make or Python, including program and HOME paths with spaces. Do not set <code>npm_config_build_from_source=true</code> or globally skip installation scripts: the former forces compilation, while the latter may leave other dependencies unprepared. Other native dependencies or targets without matching prebuilds may still need build tools. Included prebuilds do not establish full Quick Start validation for those platforms.</p><h2 id="install-and-start" tabindex="-1">Install and start <a class="header-anchor" href="#install-and-start" aria-label="Permalink to "Install and start""></a></h2><p>After the Server package and its required dependencies are available in your npm registry, run as a normal user:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> @myagentroam/server</span></span>
|
|
2
2
|
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npx</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --no-install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> mar-server</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> setup</span></span>
|
|
3
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npx</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --no-install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> mar-server</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span></span></code></pre></div><p>Server depends normally on the matching Node. npm installs its native dependencies and prepares Chromium through Node's normal lifecycle, even if you later use <code>--no-node</code>. Installation and <code>mar-server --help</code> do not configure, register or start a local Node. Setup downloads the selected fixed components and initializes its own database; it does not use an existing MySQL server or accept <code>MAR_DATABASE_URL</code>. To skip local search, use <code>--no-searxng</code>; both options can be combined. Search preparation is optional, and failure is reported without discarding the other components.</p><p><code>--no-node</code> persists the disabled choice but does not remove Node dependencies from the Server package. To enable the local Node later, stop run, set <code>node.enabled</code> to <code>true</code> in <code>server.json</code>, preserve its identity, and rerun setup.</p><p>Run stays in the foreground and prints the local browser address. Stop it with Ctrl+C and wait for its children to exit. Run never downloads missing components. Setup and run for the same data directory cannot run concurrently. Do not expose the local HTTP endpoint to other machines; it is not a substitute for HTTPS or a production service.</p><p>The managed Node in Windows Quick Start uses IPv4 for direct connections. When only IPv6 connectivity is available, file and terminal traffic falls back to the Server relay.</p><h2 id="sign-in-and-start-work" tabindex="-1">Sign in and start work <a class="header-anchor" href="#sign-in-and-start-work" aria-label="Permalink to "Sign in and start work""></a></h2><p>Follow <a href="./first-login">First Sign-in and Password Change</a>. Change the initial administrator password immediately. Wait for the local Node to report online, then <a href="./register-workspace">register a Workspace</a> under the deployment's <code>workspace</code> directory. Local Node access is restricted to that directory by default; hosted conversations are not enabled automatically. Configure a model and credentials before <a href="./first-agent-session">starting a session</a>; an online Node or <code>/health</code> alone does not prove an Agent can execute.</p><p>The local Node initially allows only this deployment's <code>workspace/</code> directory. To use other projects, stop run and edit only the <code>allowedRoots</code> array in <code>node-data/node.json</code> under the deployment data directory. Supply one or more absolute paths, then start run again. For example, use <code>"allowedRoots": ["/home/alice/project", "/srv/work"]</code> on Unix or <code>"allowedRoots": ["C:\\\\Projects", "D:\\\\Work"]</code> on Windows. Do not replace the whole file or remove identity fields such as <code>nodeId</code>, credentials, or <code>serverUrl</code>. Allowed roots do not grant operating-system permissions; the account still needs access to those files. The npm program directory is separate from the deployment data directory, which defaults to <code>~/.myagentroam/quick-start/</code> and can be selected with <code>--config</code>.</p><h2 id="data-and-optional-search" tabindex="-1">Data and optional search <a class="header-anchor" href="#data-and-optional-search" aria-label="Permalink to "Data and optional search""></a></h2><p>By default, private configuration, credentials and component data are under <code>~/.myagentroam/quick-start/</code>. To use another private location, pass the same <code>--config /path/to/server.json</code> to setup and run. Protect and back up this directory. Repeating setup preserves credentials, Node data, Workspace and other component versions. The managed Node program follows Server dependency updates rather than using a separate upgrade or active entrypoint.</p><p>The <code>search</code> object in <code>server.json</code> has one mode: <code>managed</code>, <code>disabled</code>, or <code>external</code>. Managed SearXNG is not supported on Windows; use an external service if search is needed. To use an existing SearXNG service, stop run, change only <code>search.mode</code> to <code>"external"</code> and <code>search.url</code> to the service URL, preserve any existing <code>search.installation</code> record, then restart. The endpoint must allow JSON searches. A failed JSON check disables client search for that run; it does not fall back to another endpoint. <code>web_fetch</code> and model-hosted search remain separate. <code>--no-searxng</code> does not erase an external address.</p><p>To retry local search after disabling it, stop run, set the search mode to <code>managed</code>, preserve any existing <code>installation</code> record, and rerun setup. On an unsupported platform, leave it disabled and use an external endpoint instead. See <a href="./../deployment/node-installation">Node installation</a> for separately managed Nodes and <a href="./../deployment/production">production deployment</a> for operational guidance.</p>`,
|
|
3
|
+
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npx</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --no-install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> mar-server</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span></span></code></pre></div><p>Server depends normally on the matching Node. npm installs its native dependencies and prepares Chromium through Node's normal lifecycle, even if you later use <code>--no-node</code>. Installation and <code>mar-server --help</code> do not configure, register or start a local Node. Setup downloads the selected fixed components and initializes its own database; it does not use an existing MySQL server or accept <code>MAR_DATABASE_URL</code>. To skip local search, use <code>--no-searxng</code>; both options can be combined. Search preparation is optional, and failure is reported without discarding the other components.</p><p><code>--no-node</code> persists the disabled choice but does not remove Node dependencies from the Server package. To enable the local Node later, stop run, set <code>node.enabled</code> to <code>true</code> in <code>server.json</code>, preserve its identity, and rerun setup.</p><p>Run stays in the foreground and prints the local browser address. Stop it with Ctrl+C and wait for its children to exit. Run never downloads missing components. Setup and run for the same data directory cannot run concurrently. Do not expose the local HTTP endpoint to other machines; it is not a substitute for HTTPS or a production service.</p><p>The managed Node in Windows Quick Start uses IPv4 for direct connections. When only IPv6 connectivity is available, file and terminal traffic falls back to the Server relay.</p><h2 id="sign-in-and-start-work" tabindex="-1">Sign in and start work <a class="header-anchor" href="#sign-in-and-start-work" aria-label="Permalink to "Sign in and start work""></a></h2><p>Follow <a href="./first-login">First Sign-in and Password Change</a>. Change the initial administrator password immediately. Wait for the local Node to report online, then <a href="./register-workspace">register a Workspace</a> under the deployment's <code>workspace</code> directory. Local Node access is restricted to that directory by default; hosted conversations are not enabled automatically. Configure a model and credentials before <a href="./first-agent-session">starting a session</a>; an online Node or <code>/health</code> alone does not prove an Agent can execute.</p><p>The local Node initially allows only this deployment's <code>workspace/</code> directory. To use other projects, stop run and edit only the <code>allowedRoots</code> array in <code>node-data/node.json</code> under the deployment data directory. Supply one or more absolute paths, then start run again. For example, use <code>"allowedRoots": ["/home/alice/project", "/srv/work"]</code> on Unix or <code>"allowedRoots": ["C:\\\\Projects", "D:\\\\Work"]</code> on Windows. Do not replace the whole file or remove identity fields such as <code>nodeId</code>, credentials, or <code>serverUrl</code>. Allowed roots do not grant operating-system permissions; the account still needs access to those files. The npm program directory is separate from the deployment data directory, which defaults to <code>~/.myagentroam/quick-start/</code> and can be selected with <code>--config</code>.</p><p>After an unsuccessful first registration, stop and restart <code>run</code>. If <code>node.json</code> contains only a registration token and no identity, Quick Start reuses an unused valid token or replaces an expired unused token while preserving allowed roots and data settings. <code>QUICK_START_NODE_BOOTSTRAP_RECOVERY_REQUIRED</code> means the token was consumed or its state cannot be confirmed; Quick Start will not register another Node automatically. Keep <code>node-data/node.json</code> and restore the existing identity from a backup, or first inspect and resolve the previous registration in the management page. Do not simply delete the configuration or data directory. Partial identity fields produce a configuration error rather than an automatic identity reset.</p><h2 id="data-and-optional-search" tabindex="-1">Data and optional search <a class="header-anchor" href="#data-and-optional-search" aria-label="Permalink to "Data and optional search""></a></h2><p>By default, private configuration, credentials and component data are under <code>~/.myagentroam/quick-start/</code>. To use another private location, pass the same <code>--config /path/to/server.json</code> to setup and run. Protect and back up this directory. Repeating setup preserves credentials, Node data, Workspace and other component versions. The managed Node program follows Server dependency updates rather than using a separate upgrade or active entrypoint.</p><p>The <code>search</code> object in <code>server.json</code> has one mode: <code>managed</code>, <code>disabled</code>, or <code>external</code>. Managed SearXNG is not supported on Windows; use an external service if search is needed. To use an existing SearXNG service, stop run, change only <code>search.mode</code> to <code>"external"</code> and <code>search.url</code> to the service URL, preserve any existing <code>search.installation</code> record, then restart. The endpoint must allow JSON searches. A failed JSON check disables client search for that run; it does not fall back to another endpoint. <code>web_fetch</code> and model-hosted search remain separate. <code>--no-searxng</code> does not erase an external address.</p><p>To retry local search after disabling it, stop run, set the search mode to <code>managed</code>, preserve any existing <code>installation</code> record, and rerun setup. On an unsupported platform, leave it disabled and use an external endpoint instead. See <a href="./../deployment/node-installation">Node installation</a> for separately managed Nodes and <a href="./../deployment/production">production deployment</a> for operational guidance.</p>`,19)])])}const m=a(r,[["render",s]]);export{u as __pageData,m as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as a,o as t,c as o,a3 as n}from"./chunks/framework.BHjrhdiC.js";const u=JSON.parse('{"title":"Local npm Quick Start","description":"","frontmatter":{"title":"Local npm Quick Start","lastUpdated":"2026-11-10T00:00:00.000Z"},"headers":[],"relativePath":"en-US/getting-started/npm-quick-start.md","filePath":"en-US/getting-started/npm-quick-start.md"}'),
|
|
1
|
+
import{_ as a,o as t,c as o,a3 as n}from"./chunks/framework.BHjrhdiC.js";const u=JSON.parse('{"title":"Local npm Quick Start","description":"","frontmatter":{"title":"Local npm Quick Start","lastUpdated":"2026-11-10T00:00:00.000Z"},"headers":[],"relativePath":"en-US/getting-started/npm-quick-start.md","filePath":"en-US/getting-started/npm-quick-start.md"}'),r={name:"en-US/getting-started/npm-quick-start.md"};function s(i,e,d,c,l,p){return t(),o("div",null,[...e[0]||(e[0]=[n("",19)])])}const m=a(r,[["render",s]]);export{u as __pageData,m as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as t,o as n,c as a,a3 as s}from"./chunks/framework.BHjrhdiC.js";const p=JSON.parse('{"title":"Favorite and Install Skills","description":"","frontmatter":{"title":"Favorite and Install Skills","lastUpdated":"2026-11-10T00:00:00.000Z"},"headers":[],"relativePath":"en-US/workbench/skills.md","filePath":"en-US/workbench/skills.md"}'),o={name:"en-US/workbench/skills.md"};function r(i,e,l,d,c,g){return n(),a("div",null,[...e[0]||(e[0]=[s('<h1 id="favorite-and-install-skills" tabindex="-1">Favorite and Install Skills <a class="header-anchor" href="#favorite-and-install-skills" aria-label="Permalink to "Favorite and Install Skills""></a></h1><p>Configurable and added catalog lists request 20 entries per page from the Server. Search, ordering and categories cover the complete visible catalog; category tags do not shrink to the current page or search results. Source definitions and the current target’s installed Skill/MCP entries are complete configuration snapshots and are shown without pagination. An installation remains visible if its catalog reference disappears, but only its existing permitted operations remain available; this does not grant reinstallation or changes to inherited configuration.</p><p>Open <strong>Admin > Skill Configuration</strong> to browse Skill and MCP entries made available from enabled sources. Skill Configuration, Skill Sources, and Secrets are consecutive flat Admin entries; there is no separate top-level Skills or Skill Center entry.</p><p>Choose the Node and, when required, the Workspace before installing. Review version, source, and target status. Updating replaces the installed copy with the selected catalog version; reinstalling restores the same version. If files conflict, inspect the target before approving an overwrite.</p><p>Skill Configuration shows installed state and environment checks. Removing an installation does not remove the catalog favorite or its source. Authorized users administer external sources under <strong>Admin > Skill Sources</strong> and configure referenced secrets under <strong>Admin > Environment Secrets</strong>.</p><h2 id="skill-sources-and-installation" tabindex="-1">Skill sources and installation <a class="header-anchor" href="#skill-sources-and-installation" aria-label="Permalink to "Skill sources and installation""></a></h2><p>When management writes are enabled, only administrators can enable or disable the preinstalled <code>skills.sh</code> source and Official MCP Registry; neither can be deleted. This includes the fixed <code>admin</code> account in Community mode and does not grant management access to organization sources, other users' personal sources, or enterprise catalogs.</p><p>Skills provide reusable instructions; MCP servers connect Agents to tools and services. Node-level configuration applies to its Workspaces, while a same-named Workspace configuration takes precedence. In <strong>Skill Sources</strong>, choose an enabled source and add a Skill to the available personal, organization, or enterprise catalog. Check its source and version before adding it. Catalog updates do not automatically update installed copies: check for updates, confirm the new version, and install it on each intended target.</p><p>Repository sources require a recognizable Git revision. Public GitHub and compatible GitLab repositories can use HTTPS; SSH sources use <code>git@host:owner/repo.git</code> and the Server deployment account's SSH configuration. SSH Skill sources skip host fingerprint verification, so use only trusted networks and sources; see <a href="./../getting-started/server-installation">Server deployment</a>. Source addresses are checked against local and private targets. TLS verification is enabled by default; disabling it for a self-signed source is a separate, high-risk administrator setting and does not relax address checks.</p><p>Choose an online Node and optionally its Workspace in <strong>Skill Configuration</strong>. Check the environment, then install, update, or reinstall. Node installations use the service account's <code>~/.agents/skills</code>; Workspace installations maintain <code>.agents/skills</code> and <code>.claude/skills</code>, with managed local Git exclusions rather than changes to the tracked <code>.gitignore</code>. A Node or browser interruption does not automatically retry an installation. If confirmation times out, refresh the target's actual status before deciding whether to retry. Unknown installed versions can be reinstalled; inspect permission, target path, and environment errors before trying again.</p><p>To see a Workspace's shared skills, open the Workspace and choose <strong>Loaded Skills</strong> from the menu next to <strong>New Session</strong>. This list and the Composer's <code>/</code> skill list read only the Node account's <code>~/.agents/skills</code> and the Workspace's <code>.agents/skills</code>, not the <code>.claude/skills</code> compatibility directories. Entries show their source, and a same-named Workspace skill takes precedence. Installation and removal remain in <strong>Skill Configuration</strong>; removing a Workspace override can expose a same-named Node entry again.</p><h2 id="mcp-servers" tabindex="-1">MCP servers <a class="header-anchor" href="#mcp-servers" aria-label="Permalink to "MCP servers""></a></h2><p>In <strong>MCP Sources</strong>, search an enabled Registry, inspect the server and pinned version, and add it to the available catalog. In <strong>Skill Configuration</strong>, switch to the MCP tab, select the online Node or Workspace, and install the intended entry. Node installation uses the Node account's command environment: npm-based entries may download a pinned package via <code>npx</code>. MAR validates initialization and reads at least one tool before saving the configuration. Resolve network, authentication, package, or system dependency errors on that Node before retrying.</p><p>Changes affect new or reopened Agent sessions, not an already running session. Removing the configuration does not clear npm caches. Environment variables and request headers refer to names in <strong>Environment Secrets</strong>, not secret values; add a missing referenced secret before using the MCP. Use <strong>Loaded MCP</strong> beside <strong>New Session</strong> to inspect the effective Workspace and Node configuration.</p><p>For Playwright, add a pinned Registry version and install it on the intended target. Its default browser is headless, each Agent session has an isolated browser context, and browser state is not retained after the session. The Node must be able to run the package and access the target site. If tools are unavailable, verify the target and installation and start a new session.</p>',15)])])}const u=t(o,[["render",r]]);export{p as __pageData,u as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as t,o as n,c as a,a3 as s}from"./chunks/framework.BHjrhdiC.js";const p=JSON.parse('{"title":"Favorite and Install Skills","description":"","frontmatter":{"title":"Favorite and Install Skills","lastUpdated":"2026-11-
|
|
1
|
+
import{_ as t,o as n,c as a,a3 as s}from"./chunks/framework.BHjrhdiC.js";const p=JSON.parse('{"title":"Favorite and Install Skills","description":"","frontmatter":{"title":"Favorite and Install Skills","lastUpdated":"2026-11-10T00:00:00.000Z"},"headers":[],"relativePath":"en-US/workbench/skills.md","filePath":"en-US/workbench/skills.md"}'),o={name:"en-US/workbench/skills.md"};function r(i,e,l,d,c,g){return n(),a("div",null,[...e[0]||(e[0]=[s("",15)])])}const u=t(o,[["render",r]]);export{p as __pageData,u as default};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{_ as o,o as a,c as
|
|
1
|
+
import{_ as o,o as a,c as d,a3 as t}from"./chunks/framework.BHjrhdiC.js";const u=JSON.parse('{"title":"本机 npm 快速开始","description":"","frontmatter":{"title":"本机 npm 快速开始","lastUpdated":"2026-11-10T00:00:00.000Z"},"headers":[],"relativePath":"getting-started/npm-quick-start.md","filePath":"getting-started/npm-quick-start.md"}'),s={name:"getting-started/npm-quick-start.md"};function n(r,e,c,i,p,l){return a(),d("div",null,[...e[0]||(e[0]=[t(`<h1 id="本机-npm-快速开始" tabindex="-1">本机 npm 快速开始 <a class="header-anchor" href="#本机-npm-快速开始" aria-label="Permalink to "本机 npm 快速开始""></a></h1><p>Quick Start 在自己的电脑上启动固定社区版 Server,供本机体验。它使用回环 HTTP、专用 MySQL,默认准备本机 Node,并在支持受管搜索的平台准备 SearXNG;不安装系统常驻服务,不要求主机 UUID,也不支持激活 License。共享或面向互联网的安装应改用带 HTTPS 的 <a href="./server-installation">Docker Compose 正式部署</a>。</p><p>目前实际验证的安装目标是带 glibc 2.28 或更高版本、<code>tar</code> 和 <code>dpkg-deb</code> 的 Linux x64(例如受支持的 Debian 或 Ubuntu 系统),以及可使用 <code>tar</code> 的 Windows x64。需要 Node.js 24.12 或更高版本以及 npm。安装包时原生依赖可能要求系统已有可用的构建工具;安装和 setup 均不安装系统包,也不请求提权。浏览器和所选组件的准备需要网络。其他原生平台尚未完成此 Quick Start 的验证。</p><p>终端依赖固定为 <code>node-pty@1.2.0-beta.18</code>,随包提供 Linux x64/arm64、macOS x64/arm64 和 Windows x64/arm64 预编译文件;已验证的 Linux x64 默认安装无需为 node-pty 安装 GCC、make 或 Python,程序目录和 HOME 含空格也可使用。不要设置 <code>npm_config_build_from_source=true</code> 或全局跳过安装脚本;前者会强制源码编译,后者可能使其他依赖未正确准备。其他原生依赖或无匹配预编译文件的平台仍可能需要构建工具;包内有预编译文件不代表该平台的完整 Quick Start 已验证。</p><h2 id="安装与启动" tabindex="-1">安装与启动 <a class="header-anchor" href="#安装与启动" aria-label="Permalink to "安装与启动""></a></h2><p>当 npm Registry 中已有 Server 包及其所需依赖后,以普通用户运行:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> @myagentroam/server</span></span>
|
|
2
2
|
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npx</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --no-install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> mar-server</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> setup</span></span>
|
|
3
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npx</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --no-install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> mar-server</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span></span></code></pre></div><p>Server 以普通依赖使用同版本 Node;npm 安装会按 Node 原有生命周期安装原生依赖并准备 Chromium,即使之后使用 <code>--no-node</code>。安装或查看 <code>mar-server --help</code> 不配置、注册或启动本机 Node。setup 下载所选固定组件并初始化专用数据库,不使用已有 MySQL,也不接受 <code>MAR_DATABASE_URL</code>。跳过本地搜索使用 <code>--no-searxng</code>;两个参数可以组合。搜索准备是可选步骤,失败会报告但不会丢弃其他组件。</p><p><code>--no-node</code> 会持久保存禁用选择,但不会从 Server 包移除 Node 依赖。之后如需启用本机 Node,先停止 run,在 <code>server.json</code> 中将 <code>node.enabled</code> 设为 <code>true</code>,保留身份,再运行 setup。</p><p>run 在前台运行并打印本机浏览器地址。使用 Ctrl+C 停止并等待子进程退出;run 不会下载缺失组件。同一数据目录不能并发执行 setup 和 run。不要将本机 HTTP 入口暴露给其他设备;它不能替代 HTTPS 或生产服务。</p><p>Windows 本机 Quick Start 的受管 Node 使用 IPv4 直连;如果只能通过 IPv6 连接,文件和终端流量会回退到 Server 中继。</p><h2 id="登录并开始工作" tabindex="-1">登录并开始工作 <a class="header-anchor" href="#登录并开始工作" aria-label="Permalink to "登录并开始工作""></a></h2><p>按<a href="./first-login">首次登录与修改密码</a>立即修改初始管理员密码。等待本机 Node 显示在线,再在部署目录的 <code>workspace</code> 下<a href="./register-workspace">登记 Workspace</a>。本机 Node 默认只能访问该目录,不会自动启用托管对话。<a href="./first-agent-session">开始会话</a>前还需配置模型和凭据;Node 在线或 <code>/health</code> 成功并不代表 Agent 已能执行。</p><p>本机 Node 的默认允许目录仅为本部署的 <code>workspace/</code>。如需使用其他项目,先停止 run,只编辑部署数据目录内 <code>node-data/node.json</code> 的 <code>allowedRoots</code> 数组,填写一个或多个绝对路径,然后重新 run。例如 Unix 可用 <code>"allowedRoots": ["/home/alice/project", "/srv/work"]</code>,Windows 可用 <code>"allowedRoots": ["C:\\\\Projects", "D:\\\\Work"]</code>。不要覆盖整个文件或删除 <code>nodeId</code>、凭据及 <code>serverUrl</code> 等身份字段。允许目录不会提升操作系统账号权限;账号仍需有相应文件权限。npm 程序安装目录与部署数据目录不同,后者默认为 <code>~/.myagentroam/quick-start/</code>,也可由 <code>--config</code> 指定。</p><h2 id="数据与可选搜索" tabindex="-1">数据与可选搜索 <a class="header-anchor" href="#数据与可选搜索" aria-label="Permalink to "数据与可选搜索""></a></h2><p>默认私有配置、凭据和组件数据位于 <code>~/.myagentroam/quick-start/</code>。如需其他私有位置,setup 和 run 均传入相同的 <code>--config /path/to/server.json</code>。请保护并备份该目录。重复 setup 保留凭据、Node 数据、Workspace 及其他组件版本。受管 Node 程序随 Server 依赖更新,不使用独立升级或活动入口。</p><p><code>server.json</code> 的 <code>search</code> 对象只有 <code>managed</code>、<code>disabled</code>、<code>external</code> 三种模式。Windows 不支持受管 SearXNG;如需搜索,可使用外部服务。如需使用已有 SearXNG,停止 run,只将 <code>search.mode</code> 改为 <code>"external"</code>、将 <code>search.url</code> 改为服务地址,保留已有的 <code>search.installation</code> 记录,再重新启动。该服务必须允许 JSON 搜索。JSON 检查失败时,本次运行不提供客户端搜索,也不会回退到其他地址;<code>web_fetch</code> 和模型托管搜索是独立能力。<code>--no-searxng</code> 不会清除外部地址。</p><p>禁用后如需重试本地搜索,停止 run,将搜索模式设为 <code>managed</code>,保留已有 <code>installation</code> 记录,再运行 setup。不受支持的平台请保持禁用并改用外部地址。独立管理 Node 参见 <a href="./../deployment/node-installation">Node 安装</a>,正式运维参见<a href="./../deployment/production">生产部署</a>。</p>`,
|
|
3
|
+
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npx</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --no-install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> mar-server</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span></span></code></pre></div><p>Server 以普通依赖使用同版本 Node;npm 安装会按 Node 原有生命周期安装原生依赖并准备 Chromium,即使之后使用 <code>--no-node</code>。安装或查看 <code>mar-server --help</code> 不配置、注册或启动本机 Node。setup 下载所选固定组件并初始化专用数据库,不使用已有 MySQL,也不接受 <code>MAR_DATABASE_URL</code>。跳过本地搜索使用 <code>--no-searxng</code>;两个参数可以组合。搜索准备是可选步骤,失败会报告但不会丢弃其他组件。</p><p><code>--no-node</code> 会持久保存禁用选择,但不会从 Server 包移除 Node 依赖。之后如需启用本机 Node,先停止 run,在 <code>server.json</code> 中将 <code>node.enabled</code> 设为 <code>true</code>,保留身份,再运行 setup。</p><p>run 在前台运行并打印本机浏览器地址。使用 Ctrl+C 停止并等待子进程退出;run 不会下载缺失组件。同一数据目录不能并发执行 setup 和 run。不要将本机 HTTP 入口暴露给其他设备;它不能替代 HTTPS 或生产服务。</p><p>Windows 本机 Quick Start 的受管 Node 使用 IPv4 直连;如果只能通过 IPv6 连接,文件和终端流量会回退到 Server 中继。</p><h2 id="登录并开始工作" tabindex="-1">登录并开始工作 <a class="header-anchor" href="#登录并开始工作" aria-label="Permalink to "登录并开始工作""></a></h2><p>按<a href="./first-login">首次登录与修改密码</a>立即修改初始管理员密码。等待本机 Node 显示在线,再在部署目录的 <code>workspace</code> 下<a href="./register-workspace">登记 Workspace</a>。本机 Node 默认只能访问该目录,不会自动启用托管对话。<a href="./first-agent-session">开始会话</a>前还需配置模型和凭据;Node 在线或 <code>/health</code> 成功并不代表 Agent 已能执行。</p><p>本机 Node 的默认允许目录仅为本部署的 <code>workspace/</code>。如需使用其他项目,先停止 run,只编辑部署数据目录内 <code>node-data/node.json</code> 的 <code>allowedRoots</code> 数组,填写一个或多个绝对路径,然后重新 run。例如 Unix 可用 <code>"allowedRoots": ["/home/alice/project", "/srv/work"]</code>,Windows 可用 <code>"allowedRoots": ["C:\\\\Projects", "D:\\\\Work"]</code>。不要覆盖整个文件或删除 <code>nodeId</code>、凭据及 <code>serverUrl</code> 等身份字段。允许目录不会提升操作系统账号权限;账号仍需有相应文件权限。npm 程序安装目录与部署数据目录不同,后者默认为 <code>~/.myagentroam/quick-start/</code>,也可由 <code>--config</code> 指定。</p><p>首次注册失败后,可停止并重新 <code>run</code>:若 <code>node.json</code> 只有注册令牌、尚无身份,系统会复用未使用的有效令牌,或替换已过期但未使用的令牌,保留允许目录和数据配置。若报告 <code>QUICK_START_NODE_BOOTSTRAP_RECOVERY_REQUIRED</code>,说明令牌已使用或状态无法确认,系统不会自动重复登记。请保留 <code>node-data/node.json</code>,从备份恢复已有身份,或先核对并处理管理页面中的上次登记;不要直接删除配置或数据目录。身份字段残缺会报告配置无效,不会自动重置身份。</p><h2 id="数据与可选搜索" tabindex="-1">数据与可选搜索 <a class="header-anchor" href="#数据与可选搜索" aria-label="Permalink to "数据与可选搜索""></a></h2><p>默认私有配置、凭据和组件数据位于 <code>~/.myagentroam/quick-start/</code>。如需其他私有位置,setup 和 run 均传入相同的 <code>--config /path/to/server.json</code>。请保护并备份该目录。重复 setup 保留凭据、Node 数据、Workspace 及其他组件版本。受管 Node 程序随 Server 依赖更新,不使用独立升级或活动入口。</p><p><code>server.json</code> 的 <code>search</code> 对象只有 <code>managed</code>、<code>disabled</code>、<code>external</code> 三种模式。Windows 不支持受管 SearXNG;如需搜索,可使用外部服务。如需使用已有 SearXNG,停止 run,只将 <code>search.mode</code> 改为 <code>"external"</code>、将 <code>search.url</code> 改为服务地址,保留已有的 <code>search.installation</code> 记录,再重新启动。该服务必须允许 JSON 搜索。JSON 检查失败时,本次运行不提供客户端搜索,也不会回退到其他地址;<code>web_fetch</code> 和模型托管搜索是独立能力。<code>--no-searxng</code> 不会清除外部地址。</p><p>禁用后如需重试本地搜索,停止 run,将搜索模式设为 <code>managed</code>,保留已有 <code>installation</code> 记录,再运行 setup。不受支持的平台请保持禁用并改用外部地址。独立管理 Node 参见 <a href="./../deployment/node-installation">Node 安装</a>,正式运维参见<a href="./../deployment/production">生产部署</a>。</p>`,19)])])}const k=o(s,[["render",n]]);export{u as __pageData,k as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as o,o as a,c as
|
|
1
|
+
import{_ as o,o as a,c as d,a3 as t}from"./chunks/framework.BHjrhdiC.js";const u=JSON.parse('{"title":"本机 npm 快速开始","description":"","frontmatter":{"title":"本机 npm 快速开始","lastUpdated":"2026-11-10T00:00:00.000Z"},"headers":[],"relativePath":"getting-started/npm-quick-start.md","filePath":"getting-started/npm-quick-start.md"}'),s={name:"getting-started/npm-quick-start.md"};function n(r,e,c,i,p,l){return a(),d("div",null,[...e[0]||(e[0]=[t("",19)])])}const k=o(s,[["render",n]]);export{u as __pageData,k as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as l,o as a,c as i,a3 as o}from"./chunks/framework.BHjrhdiC.js";const P=JSON.parse('{"title":"添加与安装技能","description":"","frontmatter":{"title":"添加与安装技能","lastUpdated":"2026-11-10T00:00:00.000Z"},"headers":[],"relativePath":"workbench/skills.md","filePath":"workbench/skills.md"}'),r={name:"workbench/skills.md"};function t(s,e,c,d,p,n){return a(),i("div",null,[...e[0]||(e[0]=[o('<h1 id="查找与配置-skill、mcp" tabindex="-1">查找与配置 Skill、MCP <a class="header-anchor" href="#查找与配置-skill、mcp" aria-label="Permalink to "查找与配置 Skill、MCP""></a></h1><p>可配置目录和已加入目录每页向服务端读取 20 条,搜索、排序和分类覆盖完整可见目录;标签分类不随当前页或搜索结果缩小。来源定义和当前目标的已安装 Skill/MCP 是完整配置快照,直接全部展示,不分页。已安装项即使失去目录引用仍保留,但只能使用原有合法操作,不能借此重新安装或更改继承配置。</p><p>“管理”菜单中的“技能配置”同时提供 Skill 与 MCP 两类 Agent 扩展。Skill 为 Agent 提供可复用的操作说明和工作流;MCP Server 让 Agent 连接浏览器、业务系统或其他工具。两者都可以配置到节点或工作区:节点配置对该节点上的工作区生效,工作区同名配置优先。</p><p>技能配置直接展示当前用户可用的企业、组织和个人目录,并用于将目录项安装到节点用户目录或工作区。页面默认在“可配置技能”Tab 选择并安装 Skill,“当前目标中的技能”Tab 用于查看、更新、重新安装或删除目标目录中的 Skill。</p><p>打开 Workspace 后,可点击会话栏“新建会话”右侧的“更多”按钮,再选择“已加载技能”,只读查看该 Workspace 的公共技能。此列表和 Composer 的 <code>/</code> 技能列表只读取节点用户目录 <code>~/.agents/skills</code> 与 Workspace 的 <code>.agents/skills</code>,不读取 <code>.claude/skills</code> 兼容目录;列表标注来源,名称相同时以 Workspace 技能为准。安装、更新和删除仍在“管理 → 技能配置”中完成。</p><h2 id="管理来源与可用技能" tabindex="-1">管理来源与可用技能 <a class="header-anchor" href="#管理来源与可用技能" aria-label="Permalink to "管理来源与可用技能""></a></h2><p>管理写入可用时,只有系统管理员可以启停部署预置的 <code>skills.sh</code> 和官方 MCP Registry,两者都不能删除。社区版固定 <code>admin</code> 账号也可执行启停操作;这不会开放组织来源、其他用户个人来源或企业目录的管理权限。</p><ol><li>打开“管理 → 技能源管理”。下方默认进入“源内技能”Tab,在下拉框选择已启用的来源;页面会自动加载该来源的技能,skills.sh 默认显示缓存 24 小时的 Hot 热门榜,也可在下方输入名称或描述后搜索。“已加入的技能”Tab 用于维护已经加入可用目录的技能。</li><li>点击技能卡片的“加入可用目录”,选择个人、组织或企业范围;可同时启用星标推荐并添加最多 10 个 Tag 标签。标签下拉提供当前账号有权查看的已有标签,也可以直接输入新标签。加入后可按名称、描述和分类标签筛选,可查看详情,或编辑星标和标签。</li><li>已加入目录的技能显示当前 Commit 短版本和更新时间。“检查更新”只比较原仓库最新 Commit,发现新版本后再由用户确认更新;目录更新后,Node 或 Workspace 不会自动变化。</li></ol><p>星标技能会优先出现在技能配置的可配置目录中,Tag 用于说明技能用途。更新技能内容不会改变已有星标和 Tag。</p><p>仓库源必须具备可识别的 Git 版本,不接受直接下载地址。公开仓库可使用 HTTPS,支持 GitHub,以及使用标准接口的 GitLab.com/自托管 GitLab;SSH 仓库使用 <code>git@host:owner/repo.git</code> 格式。Compose 部署会把独立部署账号的完整 <code>.ssh</code> 目录只读提供给 Server,具体配置见<a href="./../reference/configuration">配置项参考</a>;连接时跳过主机指纹校验。仓库根目录或标准技能目录均可,系统会拒绝指向本机、私网或链路本地地址的来源。每个用户都可以添加自己的个人源,而且只有本人能查看和管理;企业或组织源需要相应管理权限。默认 <code>skills.sh</code> 源可停用但不能删除。</p><p>TLS 证书校验默认启用。企业管理员可在“管理 → 系统配置”打开高风险的关闭开关,以兼容自签名来源;该设置不会放宽来源地址校验。</p><h2 id="安装到节点或工作区" tabindex="-1">安装到节点或工作区 <a class="header-anchor" href="#安装到节点或工作区" aria-label="Permalink to "安装到节点或工作区""></a></h2><ol><li>打开“管理 → 技能配置”,直接在页面中选择在线节点以及安装位置;安装到工作区时再选择该节点下的工作区。</li><li>节点或工作区切换后会自动检查环境,也可手动点击“检查环境”,随后执行“安装”“更新”或“重新安装”。页面选择独立于工作台资源树,不会切换当前打开的工作区。</li><li>节点以 <code>~/.agents/skills</code> 为主目录,并在首次安装时检查或创建 <code>.claude/skills</code> 兼容链接;若已有目录不能安全链接,则维护兼容副本。</li><li>工作区同时维护 <code>.agents/skills</code> 和 <code>.claude/skills</code> 两份副本,并将受管目录写入本地 <code>.git/info/exclude</code>,不会修改版本化 <code>.gitignore</code>。</li></ol><p>安装由节点在后台下载、校验并写入目录;页面会等待完成后刷新状态,耗时较长时在对应卡片显示进度,无需重复点击或刷新。安装失败会释放当前目标,处理错误原因后可以再次安装;状态确认超时时应先刷新目录确认真实结果,再决定是否重试。浏览器断开或服务重启不会自动重复安装。</p><p>系统不会覆盖人工修改的判断结果;无法识别已安装版本时会显示“版本未知”,可以从技能配置重新安装。</p><p>技能配置提供名称/描述搜索和“全部 + 分类标签”筛选,技能卡片可查看详情并在页面内容区内独立滚动。手动“检查环境”会弹窗显示兼容模式、技能数量和待修复项;Workspace 环境检查发现 Git 本地排除规则异常时,可点击带工具图标的“修正环境”,确认后重新生成 MAR 维护的规则块,取消不会修改 Workspace。</p><h2 id="平台与失败处理" tabindex="-1">平台与失败处理 <a class="header-anchor" href="#平台与失败处理" aria-label="Permalink to "平台与失败处理""></a></h2><p>Linux 与 Windows 均支持节点和工作区技能;Windows 不能创建目录链接时会使用受管副本。节点离线、版本过旧、目录权限不足、技能根目录指向 Workspace 外部,或工作区 Git 排除文件不可写时,界面会禁用操作或显示明确错误。单个技能名称位置若为链接,重新安装会原子替换该链接且不会修改链接指向的外部内容;MAR 不会跟随或覆盖越界的技能根目录。</p><h2 id="使用-mcp-server" tabindex="-1">使用 MCP Server <a class="header-anchor" href="#使用-mcp-server" aria-label="Permalink to "使用 MCP Server""></a></h2><h3 id="将-mcp-server-加入中心" tabindex="-1">将 MCP Server 加入中心 <a class="header-anchor" href="#将-mcp-server-加入中心" aria-label="Permalink to "将 MCP Server 加入中心""></a></h3><ol><li>打开“管理 → MCP 源管理”。系统已提供官方 MCP Registry;也可以新增兼容 Registry,并选择个人、组织或企业范围。</li><li>选择一个已启用来源,按名称或说明搜索 MCP Server。可先点击“详情”核对 Server 名称、连接方式和固定版本,再点击“加入可用目录”,设置可见范围、推荐状态和标签;标签可以从当前已有标签中选择,也可以直接输入新标签。</li><li>在“已加入的 MCP”中可查看详情、编辑推荐和标签、检查 Registry 更新、确认更新或移除。更新可用目录不会自动改变已经配置到节点或工作区的版本。</li><li>返回“管理 → 技能配置”,切换到“MCP”Tab,即可浏览当前账号可用的 MCP Server;可按名称或说明搜索,也可使用“全部 + 标签”切换分类,并可在选择目标后直接安装。</li></ol><p>目录只保存固定版本,不使用会在未来自动变化的 <code>latest</code>。新增或升级版本不会自动改变节点与工作区中的现有配置,需要用户明确安装。</p><h3 id="配置到节点或工作区" tabindex="-1">配置到节点或工作区 <a class="header-anchor" href="#配置到节点或工作区" aria-label="Permalink to "配置到节点或工作区""></a></h3><ol><li>打开“管理 → 技能配置”,切换到“MCP”Tab。</li><li>选择“节点”或“工作区”,然后选择在线目标。节点配置适合多个工作区共用;仅某个项目需要的 MCP 应配置到对应工作区。目标离线、停用、版本不支持、工作区缺失或权限不足时,页面会保留具体原因,不再只显示笼统的不可用提示。</li><li>在“可配置 MCP”Tab 可查看详情并点击“安装”;已经安装旧版本时按钮显示“更新”。安装由目标 Node 使用其运行账号的本地命令环境执行:<code>npx</code> 可按用户自己的 npm 配置下载和缓存固定版本,MAR 每次都会完成 MCP 初始化和工具读取验证,并至少确认一个可用工具,耗时较长时卡片会显示进度。只有验证完成才会保存配置并提示成功;失败时可先在 Node 终端修正 npm、网络、鉴权或系统依赖后重试。安装成功后只影响随后新建或重新打开的 Agent 会话,不修改已经运行的会话;删除配置不会清理用户的 npm/npx 缓存。</li><li>在“当前目标中的 MCP”Tab 可查看详情、启用、停用、更新、重新安装或删除。工作区删除同名配置后,若节点仍配置了该 MCP,新会话会继续使用节点配置。</li><li>在节点工作台中,点击“新建会话”右侧的“…”并选择“已加载 MCP”,可以在创建会话前确认该 Workspace 最终启用的 MCP 及其来自 Workspace 还是 Node。被 Workspace 同名配置停用的 Node MCP 不会出现在这里。</li></ol><p>MCP Server 的环境变量和请求头只引用“环境密钥”中已有的环境变量名,页面和保存记录不会包含密钥值。引用的环境密钥不存在时,该 MCP 不会注入 Agent 会话,应先在“管理 → 环境密钥”补齐。</p><h3 id="使用-playwright" tabindex="-1">使用 Playwright <a class="header-anchor" href="#使用-playwright" aria-label="Permalink to "使用 Playwright""></a></h3><p>在官方 MCP Registry 中搜索 Playwright,将需要的固定版本加入可用目录并安装到目标后,Agent 即可在浏览器中打开页面、交互、截图和验证 Web 功能。Playwright 不是不可删除的内置目录项,可从可用目录、节点或工作区移除。默认配置具有以下边界:</p><ul><li>使用无头浏览器,不弹出本机浏览器窗口;</li><li>每个 Agent 会话使用独立浏览器上下文,不共享 Cookie、登录态或页面;</li><li>会话结束后不保留浏览状态;需要登录时,应在当前会话内完成;</li><li>Node 主机需要能够执行该 MCP Server 的固定 npm 包版本并访问待测页面。</li></ul><p>如果 Agent 无法调用 Playwright,先确认目标节点在线、Node 版本支持 MCP、Playwright 已安装到正确的节点或工作区,并新建一个会话重试。运行中的旧会话不会热加载刚安装的 MCP。</p>',29)])])}const k=l(r,[["render",t]]);export{P as __pageData,k as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as l,o as a,c as i,a3 as o}from"./chunks/framework.BHjrhdiC.js";const P=JSON.parse('{"title":"添加与安装技能","description":"","frontmatter":{"title":"添加与安装技能","lastUpdated":"2026-11-
|
|
1
|
+
import{_ as l,o as a,c as i,a3 as o}from"./chunks/framework.BHjrhdiC.js";const P=JSON.parse('{"title":"添加与安装技能","description":"","frontmatter":{"title":"添加与安装技能","lastUpdated":"2026-11-10T00:00:00.000Z"},"headers":[],"relativePath":"workbench/skills.md","filePath":"workbench/skills.md"}'),r={name:"workbench/skills.md"};function t(s,e,c,d,p,n){return a(),i("div",null,[...e[0]||(e[0]=[o("",29)])])}const k=l(r,[["render",t]]);export{P as __pageData,k as default};
|