nextclaw 0.59.0-beta.1 → 0.59.0
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/cli/app/index.js +1 -1
- package/dist/{nextclaw-cli-app-gSbcxswD.js → nextclaw-cli-app-CK2Liovc.js} +3 -1
- package/dist/{nextclaw-cli-app-gSbcxswD.js.map → nextclaw-cli-app-CK2Liovc.js.map} +1 -1
- package/package.json +15 -15
- package/resources/USAGE.md +4 -0
- package/ui-dist/.vite/manifest.json +412 -412
- package/ui-dist/.vite/manifest.json.gz +0 -0
- package/ui-dist/assets/abnfDiagram-VRR7QNED-BT0_ycaq.js.gz +0 -0
- package/ui-dist/assets/{account-panel-C83GDFuy.js → account-panel-C3kYU6LR.js} +1 -1
- package/ui-dist/assets/account-panel-C3kYU6LR.js.gz +0 -0
- package/ui-dist/assets/{agents-Dr2KkEp2.js → agents-DxRygHtB.js} +1 -1
- package/ui-dist/assets/agents-DxRygHtB.js.gz +0 -0
- package/ui-dist/assets/agents-NPhT94wf.js +1 -0
- package/ui-dist/assets/aiden0z-pptx-renderer.es-ClCaf_Wh.js.gz +0 -0
- package/ui-dist/assets/{api-CXWxExzS.js → api-CIdf1aMG.js} +3 -3
- package/ui-dist/assets/api-CIdf1aMG.js.gz +0 -0
- package/ui-dist/assets/app-presenter-provider-CTznAfnB.js +29 -0
- package/ui-dist/assets/app-presenter-provider-CTznAfnB.js.gz +0 -0
- package/ui-dist/assets/app-presenter-provider-D3BuuOyZ.css.gz +0 -0
- package/ui-dist/assets/{appearance-settings-page-3IfIzjic.js → appearance-settings-page-Df36ok-2.js} +1 -1
- package/ui-dist/assets/appearance-settings-page-Df36ok-2.js.gz +0 -0
- package/ui-dist/assets/apps-CX5T5c9M.js +1 -0
- package/ui-dist/assets/arc-cmSdpq1Z.js.gz +0 -0
- package/ui-dist/assets/architectureDiagram-ZJ3FMSHR-aYglVeoS.js.gz +0 -0
- package/ui-dist/assets/blockDiagram-677ZJIJ3-Di_PBl5q.js.gz +0 -0
- package/ui-dist/assets/{book-open-B3Ac0voD.js → book-open-CSStV5FU.js} +1 -1
- package/ui-dist/assets/c4Diagram-LMCZKHZV-CfuxybOL.js.gz +0 -0
- package/ui-dist/assets/{card-eFBmxYiI.js → card-CwNsGF-i.js} +1 -1
- package/ui-dist/assets/card-CwNsGF-i.js.gz +0 -0
- package/ui-dist/assets/{channels-list-page-lQOINLW8.js → channels-list-page-CgB2heA6.js} +1 -1
- package/ui-dist/assets/channels-list-page-CgB2heA6.js.gz +0 -0
- package/ui-dist/assets/chunk-32BRIVSS-CCGc4qg4.js.gz +0 -0
- package/ui-dist/assets/chunk-52WLFC77-aJoxU2Ow.js.gz +0 -0
- package/ui-dist/assets/chunk-5JV3BV7I-DnabINcd.js.gz +0 -0
- package/ui-dist/assets/chunk-5TONJI2A-BhpKv1k2.js.gz +0 -0
- package/ui-dist/assets/chunk-7BUUIJ7U-CgDQOLnC.js.gz +0 -0
- package/ui-dist/assets/chunk-C7G6YPKG-CNGFAFYL.js.gz +0 -0
- package/ui-dist/assets/chunk-DF37yw5_.js.gz +0 -0
- package/ui-dist/assets/chunk-EX3LRPZG-D8Jf4kc2.js.gz +0 -0
- package/ui-dist/assets/chunk-FWX5IMBZ-BdHymAs0.js.gz +0 -0
- package/ui-dist/assets/chunk-HOUHSVGY-Dd_Ycn9Z.js.gz +0 -0
- package/ui-dist/assets/chunk-ICXQ74PX-BRPUu3ff.js.gz +0 -0
- package/ui-dist/assets/chunk-JG7HCLWE-DnCasQja.js.gz +0 -0
- package/ui-dist/assets/chunk-KEIR6QF5-BOAXXeyv.js.gz +0 -0
- package/ui-dist/assets/chunk-MOJQB5TN-Pi--K4-1.js.gz +0 -0
- package/ui-dist/assets/chunk-PUDLZKDR-Cy4G8SjV.js.gz +0 -0
- package/ui-dist/assets/chunk-Q4XR5HBZ-UYxXzi7_.js.gz +0 -0
- package/ui-dist/assets/chunk-R7FJI6CG-C5kVJus8.js.gz +0 -0
- package/ui-dist/assets/chunk-RYQCIY6F-C6cuuEBn.js.gz +0 -0
- package/ui-dist/assets/chunk-U6XO7XAA-CM0EK7Y0.js.gz +0 -0
- package/ui-dist/assets/chunk-V7JOEXUC-DWJZIsME.js.gz +0 -0
- package/ui-dist/assets/chunk-WYO6CB5R-B30N3ZP8.js.gz +0 -0
- package/ui-dist/assets/chunk-ZGVPDNZ5-BN5NX5qA.js.gz +0 -0
- package/ui-dist/assets/chunk-ZIRB5QZD-DcDXK29L.js.gz +0 -0
- package/ui-dist/assets/{circle-dashed-KGwElDWV.js → circle-dashed-BfeN14SB.js} +1 -1
- package/ui-dist/assets/{client-BDS360Kz.js → client-u7UcCiID.js} +1 -1
- package/ui-dist/assets/{config-split-page-BaHtm9OW.js → config-split-page-e2tfTiU9.js} +1 -1
- package/ui-dist/assets/config-split-page-e2tfTiU9.js.gz +0 -0
- package/ui-dist/assets/{confirm-dialog-D30HJBXN.js → confirm-dialog-Ck6AwNc_.js} +1 -1
- package/ui-dist/assets/{context-menu-C6m-WNpl.js → context-menu-D5ckbDt8.js} +1 -1
- package/ui-dist/assets/context-menu-D5ckbDt8.js.gz +0 -0
- package/ui-dist/assets/context-menu-DEcVZfaU.css.gz +0 -0
- package/ui-dist/assets/cose-bilkent-JH36ORCC-CmeJVoTw.js.gz +0 -0
- package/ui-dist/assets/{createLucideIcon-C3LSyx-e.js → createLucideIcon-CN-JhmW5.js} +1 -1
- package/ui-dist/assets/cron-OWQX3xjd.js +1 -0
- package/ui-dist/assets/cynefinDiagram-TSTJHNR4-DGOUMgPP.js.gz +0 -0
- package/ui-dist/assets/cytoscape.esm-j4J9a91l.js.gz +0 -0
- package/ui-dist/assets/dagre-CMxSkbJJ.js.gz +0 -0
- package/ui-dist/assets/dagre-VKFMJZFB-3YUBEXwo.js.gz +0 -0
- package/ui-dist/assets/defaultLocale-Bmxjp-V_.js.gz +0 -0
- package/ui-dist/assets/{desktop-capabilities-page-CKq2Miye.js → desktop-capabilities-page-DMQqcYTx.js} +1 -1
- package/ui-dist/assets/desktop-capabilities-page-DMQqcYTx.js.gz +0 -0
- package/ui-dist/assets/{desktop-update-config-C_SBtjA1.js → desktop-update-config-CHWJ7FlR.js} +1 -1
- package/ui-dist/assets/desktop-update-config-CHWJ7FlR.js.gz +0 -0
- package/ui-dist/assets/diagram-FQU43EPY-Br1g--ww.js.gz +0 -0
- package/ui-dist/assets/diagram-G47NLZAW-D1wJCBgr.js.gz +0 -0
- package/ui-dist/assets/diagram-NH7WQ7WH-Cgg2auLH.js.gz +0 -0
- package/ui-dist/assets/diagram-OA4YK3LP-R-wHiWqh.js.gz +0 -0
- package/ui-dist/assets/diagram-WEI45ONY-CsNnKV0P.js.gz +0 -0
- package/ui-dist/assets/{dialog-DB_l9LK0.js → dialog-DhUkbgzQ.js} +1 -1
- package/ui-dist/assets/dialog-DhUkbgzQ.js.gz +0 -0
- package/ui-dist/assets/{dist-D9h2cWk3.js → dist-CXjK5njK.js} +1 -1
- package/ui-dist/assets/dist-CXjK5njK.js.gz +0 -0
- package/ui-dist/assets/dist-DwLj1Wg5.js.gz +0 -0
- package/ui-dist/assets/doc-browser-Gb4aUoVb.js +1 -0
- package/ui-dist/assets/{doc-browser-context-CoVMIiU8.js → doc-browser-context-CUG_M8vJ.js} +1 -1
- package/ui-dist/assets/doc-browser-context-CUG_M8vJ.js.gz +0 -0
- package/ui-dist/assets/docx-preview-kPn_EtAr.js.gz +0 -0
- package/ui-dist/assets/{download-C2gYe8n1.js → download-rigZ7xUt.js} +1 -1
- package/ui-dist/assets/ebnfDiagram-CCIWWBDH-DCyhIPdi.js.gz +0 -0
- package/ui-dist/assets/erDiagram-Q63AITRT-D0ZJYAUf.js.gz +0 -0
- package/ui-dist/assets/{extensions-DXDFcRVC.js → extensions-DJNkh328.js} +1 -1
- package/ui-dist/assets/extensions-DJNkh328.js.gz +0 -0
- package/ui-dist/assets/{external-link-DZzwHRHW.js → external-link-BHT9tIMj.js} +1 -1
- package/ui-dist/assets/{form-actions-CZxcWXSm.js → form-actions-BJor5RZc.js} +1 -1
- package/ui-dist/assets/ganttDiagram-NO4QXBWP-CiXDcXZD.js.gz +0 -0
- package/ui-dist/assets/gitGraphDiagram-IHSO6WYX-BSiIV48S.js.gz +0 -0
- package/ui-dist/assets/graphlib-CC0HTn1v.js.gz +0 -0
- package/ui-dist/assets/{i18n-ByVUrt9w.js → i18n-BPzJdB2H.js} +2 -2
- package/ui-dist/assets/i18n-BPzJdB2H.js.gz +0 -0
- package/ui-dist/assets/inbox-D9JSXY8U.js +1 -0
- package/ui-dist/assets/{inbox-CI8ATevA.js → inbox-eJwoz59A.js} +1 -1
- package/ui-dist/assets/ishikawaDiagram-FXEZZL3T-nQ_baN5u.js.gz +0 -0
- package/ui-dist/assets/journeyDiagram-5HDEW3XC-ABueIPzj.js.gz +0 -0
- package/ui-dist/assets/jszip.min-DQvBVV_R.js.gz +0 -0
- package/ui-dist/assets/kanban-definition-HUTT4EX6-8FKS3fmQ.js.gz +0 -0
- package/ui-dist/assets/katex-BzT-4KBu.js.gz +0 -0
- package/ui-dist/assets/{keyboard-shortcuts-settings-page-L4kLGuB8.js → keyboard-shortcuts-settings-page-0kMNTCKI.js} +1 -1
- package/ui-dist/assets/linear-D7CWUHTF.js.gz +0 -0
- package/ui-dist/assets/{login-page--Njgbmpm.js → login-page-DPx-g3vr.js} +1 -1
- package/ui-dist/assets/login-page-DPx-g3vr.js.gz +0 -0
- package/ui-dist/assets/login-page-g7cLwS8r.js +1 -0
- package/ui-dist/assets/{main-BNWRrWc_.js → main-DJQ2BE5Y.js} +2 -2
- package/ui-dist/assets/main-DJQ2BE5Y.js.gz +0 -0
- package/ui-dist/assets/main-DiKik8ol.css +1 -0
- package/ui-dist/assets/main-DiKik8ol.css.gz +0 -0
- package/ui-dist/assets/main-i18n-catalog.config-D7jkCIk4.js +1 -0
- package/ui-dist/assets/main-i18n-catalog.config-D7jkCIk4.js.gz +0 -0
- package/ui-dist/assets/map-CDu47gTf.js.gz +0 -0
- package/ui-dist/assets/marketplace-B3P0H1QP.js +1 -0
- package/ui-dist/assets/mcp-marketplace-page-CHTjh0vO.js +1 -0
- package/ui-dist/assets/mermaid-parser.core-Cc9wjl82.js.gz +0 -0
- package/ui-dist/assets/mermaid.core-GWlaVWz1.js.gz +0 -0
- package/ui-dist/assets/middleware-B--6mAUM.js.gz +0 -0
- package/ui-dist/assets/mindmap-definition-LN4V7U3C-oqnKsz-R.js.gz +0 -0
- package/ui-dist/assets/{model-config-page-zqVWyIT0.js → model-config-page-C0jPhgNE.js} +1 -1
- package/ui-dist/assets/model-config-page-C0jPhgNE.js.gz +0 -0
- package/ui-dist/assets/navigation-history-CCnxsAKR.js.gz +0 -0
- package/ui-dist/assets/{navigation-link-O9Wm0epj.js → navigation-link-CEhVdkmt.js} +1 -1
- package/ui-dist/assets/navigation-link-CEhVdkmt.js.gz +0 -0
- package/ui-dist/assets/ordinal-DImbxqBz.js.gz +0 -0
- package/ui-dist/assets/panel-app-BBTg0tVp.js.gz +0 -0
- package/ui-dist/assets/panel-app-i18n-catalog.config-B8nAgbSB.js +1 -0
- package/ui-dist/assets/panel-apps-Be_lULS-.js +1 -0
- package/ui-dist/assets/{panelStandalone-C38o5B4Q.js → panelStandalone-Bcp1qUEw.js} +2 -2
- package/ui-dist/assets/panelStandalone-Bcp1qUEw.js.gz +0 -0
- package/ui-dist/assets/panelStandalone-XRlWxbRS.css.gz +0 -0
- package/ui-dist/assets/path-4azsBPZv.js.gz +0 -0
- package/ui-dist/assets/pegDiagram-2B236MQR-DYAB8CEz.js.gz +0 -0
- package/ui-dist/assets/pieDiagram-ENE6RG2P-DGsH0Kk5.js.gz +0 -0
- package/ui-dist/assets/plus-CWbUo2bt.js +1 -0
- package/ui-dist/assets/preload-helper-DWTEM3RW.js.gz +0 -0
- package/ui-dist/assets/{privacy-settings-page-CHDv9ppI.js → privacy-settings-page-B_9H4DBu.js} +1 -1
- package/ui-dist/assets/privacy-settings-page-B_9H4DBu.js.gz +0 -0
- package/ui-dist/assets/{projects-DNe43T2d.js → projects-B-F6ISkU.js} +1 -1
- package/ui-dist/assets/projects-B-F6ISkU.js.gz +0 -0
- package/ui-dist/assets/{provider-models-zGsDUBHG.js → provider-models-YYRG6pff.js} +1 -1
- package/ui-dist/assets/provider-models-YYRG6pff.js.gz +0 -0
- package/ui-dist/assets/{provider-scoped-model-input-DpEyP1h8.js → provider-scoped-model-input-BAwxQUmf.js} +1 -1
- package/ui-dist/assets/provider-scoped-model-input-BAwxQUmf.js.gz +0 -0
- package/ui-dist/assets/{providers-config-page-J-1auWPu.js → providers-config-page-CpjLBWc0.js} +1 -1
- package/ui-dist/assets/providers-config-page-CpjLBWc0.js.gz +0 -0
- package/ui-dist/assets/{puzzle-DmKVREoh.js → puzzle-DKC4YKaG.js} +1 -1
- package/ui-dist/assets/{pwa-jmuWbrqH.js → pwa-CI9g98Wi.js} +1 -1
- package/ui-dist/assets/pwa-CI9g98Wi.js.gz +0 -0
- package/ui-dist/assets/quadrantDiagram-ABIIQ3AL-BegGcT3l.js.gz +0 -0
- package/ui-dist/assets/railroadDiagram-RFXS5EU6-B3yJ2yxE.js.gz +0 -0
- package/ui-dist/assets/{refresh-cw-DOg2pWGu.js → refresh-cw-C2tc-NCM.js} +1 -1
- package/ui-dist/assets/remote-D2NTzAQV.js +1 -0
- package/ui-dist/assets/requirementDiagram-TGXJPOKE-DtEyoEXG.js.gz +0 -0
- package/ui-dist/assets/{rotate-cw-CWFIat29.js → rotate-cw-DRcsDOzZ.js} +1 -1
- package/ui-dist/assets/rough.esm-w1lBArN6.js.gz +0 -0
- package/ui-dist/assets/{runtime-config-page-CJhqeDcu.js → runtime-config-page-D8j_hnc1.js} +1 -1
- package/ui-dist/assets/runtime-config-page-D8j_hnc1.js.gz +0 -0
- package/ui-dist/assets/sankeyDiagram-HTMAVEWB-h9AYS2UB.js.gz +0 -0
- package/ui-dist/assets/{save-C1G0ZU-G.js → save-D88GA0cp.js} +1 -1
- package/ui-dist/assets/{search-Dpgv--de.js → search-CZZL4gVT.js} +1 -1
- package/ui-dist/assets/{search-config-page-DevSv1ZK.js → search-config-page-BGdhzsb0.js} +1 -1
- package/ui-dist/assets/search-config-page-BGdhzsb0.js.gz +0 -0
- package/ui-dist/assets/{secrets-config-page-B4jWTV6V.js → secrets-config-page-BbLuwQ4P.js} +1 -1
- package/ui-dist/assets/secrets-config-page-BbLuwQ4P.js.gz +0 -0
- package/ui-dist/assets/security-config-fWz7Koti.js +1 -0
- package/ui-dist/assets/{select-BJ-EjmCz.js → select-D7UhtP-F.js} +1 -1
- package/ui-dist/assets/select-D7UhtP-F.js.gz +0 -0
- package/ui-dist/assets/sequenceDiagram-DBY2YBRQ-D-uxCkob.js.gz +0 -0
- package/ui-dist/assets/{service-apps-panel-Dj9okUgp.js → service-apps-panel-B-xiD1ML.js} +1 -1
- package/ui-dist/assets/service-apps-panel-B-xiD1ML.js.gz +0 -0
- package/ui-dist/assets/{settings-2-D3-m8a3v.js → settings-2-Djk12LE1.js} +1 -1
- package/ui-dist/assets/src-zrGbZsfc.js.gz +0 -0
- package/ui-dist/assets/stateDiagram-2N3HPSRC-DyDy7AHq.js.gz +0 -0
- package/ui-dist/assets/{status-dot-DlELD18e.js → status-dot-DHxHRgi7.js} +1 -1
- package/ui-dist/assets/status-dot-DHxHRgi7.js.gz +0 -0
- package/ui-dist/assets/swimlanes-5IMT3BWC-BzOduS38.js.gz +0 -0
- package/ui-dist/assets/{tag-chip-DFzDSvcF.js → tag-chip-DIReEmDR.js} +1 -1
- package/ui-dist/assets/tag-chip-DIReEmDR.js.gz +0 -0
- package/ui-dist/assets/{theme-provider-D4rd-tCP.js → theme-provider-Dz8kWnIy.js} +1 -1
- package/ui-dist/assets/theme-provider-Dz8kWnIy.js.gz +0 -0
- package/ui-dist/assets/timeline-definition-FHXFAJF6-CmgnEF2t.js.gz +0 -0
- package/ui-dist/assets/{trash-2-BVQs-0ji.js → trash-2-_B5xuBUj.js} +1 -1
- package/ui-dist/assets/{use-config-M1L4xn8c.js → use-config-k4s_kTMX.js} +1 -1
- package/ui-dist/assets/use-config-k4s_kTMX.js.gz +0 -0
- package/ui-dist/assets/{use-desktop-capabilities-BO_2CXgu.js → use-desktop-capabilities-Dd-EyuJ4.js} +1 -1
- package/ui-dist/assets/use-desktop-capabilities-Dd-EyuJ4.js.gz +0 -0
- package/ui-dist/assets/{use-viewport-layout-Bnm5W5Qz.js → use-viewport-layout-DFY-X0zr.js} +1 -1
- package/ui-dist/assets/use-viewport-layout-DFY-X0zr.js.gz +0 -0
- package/ui-dist/assets/vennDiagram-L72KCM5P-DwS7D2kg.js.gz +0 -0
- package/ui-dist/assets/wardleyDiagram-EHGQE667-B4X8OOL4.js.gz +0 -0
- package/ui-dist/assets/{x-waP-WLuT.js → x-BSK3eMvi.js} +1 -1
- package/ui-dist/assets/x-BSK3eMvi.js.gz +0 -0
- package/ui-dist/assets/xlsx--SB9KlFl.js.gz +0 -0
- package/ui-dist/assets/xychartDiagram-FW5EYKEG-BjRQ_0nx.js.gz +0 -0
- package/ui-dist/index.html +37 -37
- package/ui-dist/index.html.gz +0 -0
- package/ui-dist/logos/discord.svg.gz +0 -0
- package/ui-dist/logos/feishu.svg.gz +0 -0
- package/ui-dist/logos/gemini.svg.gz +0 -0
- package/ui-dist/logos/mimo.svg.gz +0 -0
- package/ui-dist/logos/openai.svg.gz +0 -0
- package/ui-dist/logos/slack.svg.gz +0 -0
- package/ui-dist/logos/vllm.svg.gz +0 -0
- package/ui-dist/logos/weixin.svg.gz +0 -0
- package/ui-dist/logos/whatsapp.svg.gz +0 -0
- package/ui-dist/logos/zhipu.svg.gz +0 -0
- package/ui-dist/offline.html.gz +0 -0
- package/ui-dist/panel-standalone.html +14 -14
- package/ui-dist/panel-standalone.html.gz +0 -0
- package/ui-dist/runtime-icons/codex-openai.svg.gz +0 -0
- package/ui-dist/sw.js.gz +0 -0
- package/ui-dist/assets/account-panel-C83GDFuy.js.gz +0 -0
- package/ui-dist/assets/agents-CJA15zzv.js +0 -1
- package/ui-dist/assets/agents-Dr2KkEp2.js.gz +0 -0
- package/ui-dist/assets/api-CXWxExzS.js.gz +0 -0
- package/ui-dist/assets/app-presenter-provider-Cx9MwMtb.js +0 -29
- package/ui-dist/assets/app-presenter-provider-Cx9MwMtb.js.gz +0 -0
- package/ui-dist/assets/appearance-settings-page-3IfIzjic.js.gz +0 -0
- package/ui-dist/assets/apps-CvIlb9Rn.js +0 -1
- package/ui-dist/assets/card-eFBmxYiI.js.gz +0 -0
- package/ui-dist/assets/channels-list-page-lQOINLW8.js.gz +0 -0
- package/ui-dist/assets/config-split-page-BaHtm9OW.js.gz +0 -0
- package/ui-dist/assets/context-menu-C6m-WNpl.js.gz +0 -0
- package/ui-dist/assets/cron-BWZWu80t.js +0 -1
- package/ui-dist/assets/desktop-capabilities-page-CKq2Miye.js.gz +0 -0
- package/ui-dist/assets/desktop-update-config-C_SBtjA1.js.gz +0 -0
- package/ui-dist/assets/dialog-DB_l9LK0.js.gz +0 -0
- package/ui-dist/assets/dist-D9h2cWk3.js.gz +0 -0
- package/ui-dist/assets/doc-browser-DQDsmRlr.js +0 -1
- package/ui-dist/assets/doc-browser-context-CoVMIiU8.js.gz +0 -0
- package/ui-dist/assets/extensions-DXDFcRVC.js.gz +0 -0
- package/ui-dist/assets/i18n-ByVUrt9w.js.gz +0 -0
- package/ui-dist/assets/inbox-CIsD65lW.js +0 -1
- package/ui-dist/assets/login-page--Njgbmpm.js.gz +0 -0
- package/ui-dist/assets/login-page-CzvxaAU8.js +0 -1
- package/ui-dist/assets/main-BNWRrWc_.js.gz +0 -0
- package/ui-dist/assets/main-i18n-catalog.config-_4gMZaNz.js +0 -1
- package/ui-dist/assets/main-i18n-catalog.config-_4gMZaNz.js.gz +0 -0
- package/ui-dist/assets/main-kp_0b1bg.css +0 -1
- package/ui-dist/assets/main-kp_0b1bg.css.gz +0 -0
- package/ui-dist/assets/marketplace-BH1Sq8dL.js +0 -1
- package/ui-dist/assets/mcp-marketplace-page-BA-InAbJ.js +0 -1
- package/ui-dist/assets/model-config-page-zqVWyIT0.js.gz +0 -0
- package/ui-dist/assets/navigation-link-O9Wm0epj.js.gz +0 -0
- package/ui-dist/assets/panel-app-i18n-catalog.config-B9c87s2X.js +0 -1
- package/ui-dist/assets/panel-apps-CMX4iWwQ.js +0 -1
- package/ui-dist/assets/panelStandalone-C38o5B4Q.js.gz +0 -0
- package/ui-dist/assets/plus-C42o6xrD.js +0 -1
- package/ui-dist/assets/privacy-settings-page-CHDv9ppI.js.gz +0 -0
- package/ui-dist/assets/projects-DNe43T2d.js.gz +0 -0
- package/ui-dist/assets/provider-models-zGsDUBHG.js.gz +0 -0
- package/ui-dist/assets/provider-scoped-model-input-DpEyP1h8.js.gz +0 -0
- package/ui-dist/assets/providers-config-page-J-1auWPu.js.gz +0 -0
- package/ui-dist/assets/pwa-jmuWbrqH.js.gz +0 -0
- package/ui-dist/assets/remote-C7H2o46-.js +0 -1
- package/ui-dist/assets/runtime-config-page-CJhqeDcu.js.gz +0 -0
- package/ui-dist/assets/search-config-page-DevSv1ZK.js.gz +0 -0
- package/ui-dist/assets/secrets-config-page-B4jWTV6V.js.gz +0 -0
- package/ui-dist/assets/security-config-BGEs0SHi.js +0 -1
- package/ui-dist/assets/select-BJ-EjmCz.js.gz +0 -0
- package/ui-dist/assets/service-apps-panel-Dj9okUgp.js.gz +0 -0
- package/ui-dist/assets/status-dot-DlELD18e.js.gz +0 -0
- package/ui-dist/assets/tag-chip-DFzDSvcF.js.gz +0 -0
- package/ui-dist/assets/theme-provider-D4rd-tCP.js.gz +0 -0
- package/ui-dist/assets/use-config-M1L4xn8c.js.gz +0 -0
- package/ui-dist/assets/use-desktop-capabilities-BO_2CXgu.js.gz +0 -0
- package/ui-dist/assets/use-viewport-layout-Bnm5W5Qz.js.gz +0 -0
- package/ui-dist/assets/x-waP-WLuT.js.gz +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{i as e,t}from"./chunk-DF37yw5_.js";import{l as n,s as r}from"./i18n-ByVUrt9w.js";var i=t((e=>{var t=Symbol.for(`react.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.provider`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.iterator;function p(e){return typeof e!=`object`||!e?null:(e=f&&e[f]||e[`@@iterator`],typeof e==`function`?e:null)}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=Object.assign,g={};function _(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}_.prototype.isReactComponent={},_.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`setState(...): takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},_.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function v(){}v.prototype=_.prototype;function y(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}var b=y.prototype=new v;b.constructor=y,h(b,_.prototype),b.isPureReactComponent=!0;var x=Array.isArray,S=Object.prototype.hasOwnProperty,C={current:null},w={key:!0,ref:!0,__self:!0,__source:!0};function T(e,n,r){var i,a={},o=null,s=null;if(n!=null)for(i in n.ref!==void 0&&(s=n.ref),n.key!==void 0&&(o=``+n.key),n)S.call(n,i)&&!w.hasOwnProperty(i)&&(a[i]=n[i]);var c=arguments.length-2;if(c===1)a.children=r;else if(1<c){for(var l=Array(c),u=0;u<c;u++)l[u]=arguments[u+2];a.children=l}if(e&&e.defaultProps)for(i in c=e.defaultProps,c)a[i]===void 0&&(a[i]=c[i]);return{$$typeof:t,type:e,key:o,ref:s,props:a,_owner:C.current}}function ee(e,n){return{$$typeof:t,type:e.type,key:n,ref:e.ref,props:e.props,_owner:e._owner}}function te(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function E(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var ne=/\/+/g;function re(e,t){return typeof e==`object`&&e&&e.key!=null?E(``+e.key):t.toString(36)}function ie(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0}}if(c)return c=e,o=o(c),e=a===``?`.`+re(c,0):a,x(o)?(i=``,e!=null&&(i=e.replace(ne,`$&/`)+`/`),ie(o,r,i,``,function(e){return e})):o!=null&&(te(o)&&(o=ee(o,i+(!o.key||c&&c.key===o.key?``:(``+o.key).replace(ne,`$&/`)+`/`)+e)),r.push(o)),1;if(c=0,a=a===``?`.`:a+`:`,x(e))for(var l=0;l<e.length;l++){s=e[l];var u=a+re(s,l);c+=ie(s,r,i,u,o)}else if(u=p(e),typeof u==`function`)for(e=u.call(e),l=0;!(s=e.next()).done;)s=s.value,u=a+re(s,l++),c+=ie(s,r,i,u,o);else if(s===`object`)throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`);return c}function D(e,t,n){if(e==null)return e;var r=[],i=0;return ie(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function O(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var k={current:null},A={transition:null},ae={ReactCurrentDispatcher:k,ReactCurrentBatchConfig:A,ReactCurrentOwner:C};function j(){throw Error(`act(...) is not supported in production builds of React.`)}e.Children={map:D,forEach:function(e,t,n){D(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return D(e,function(){t++}),t},toArray:function(e){return D(e,function(e){return e})||[]},only:function(e){if(!te(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}},e.Component=_,e.Fragment=r,e.Profiler=a,e.PureComponent=y,e.StrictMode=i,e.Suspense=l,e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=ae,e.act=j,e.cloneElement=function(e,n,r){if(e==null)throw Error(`React.cloneElement(...): The argument must be a React element, but you passed `+e+`.`);var i=h({},e.props),a=e.key,o=e.ref,s=e._owner;if(n!=null){if(n.ref!==void 0&&(o=n.ref,s=C.current),n.key!==void 0&&(a=``+n.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(l in n)S.call(n,l)&&!w.hasOwnProperty(l)&&(i[l]=n[l]===void 0&&c!==void 0?c[l]:n[l])}var l=arguments.length-2;if(l===1)i.children=r;else if(1<l){c=Array(l);for(var u=0;u<l;u++)c[u]=arguments[u+2];i.children=c}return{$$typeof:t,type:e.type,key:a,ref:o,props:i,_owner:s}},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:o,_context:e},e.Consumer=e},e.createElement=T,e.createFactory=function(e){var t=T.bind(null,e);return t.type=e,t},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=te,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:O}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=A.transition;A.transition={};try{e()}finally{A.transition=t}},e.unstable_act=j,e.useCallback=function(e,t){return k.current.useCallback(e,t)},e.useContext=function(e){return k.current.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e){return k.current.useDeferredValue(e)},e.useEffect=function(e,t){return k.current.useEffect(e,t)},e.useId=function(){return k.current.useId()},e.useImperativeHandle=function(e,t,n){return k.current.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return k.current.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return k.current.useLayoutEffect(e,t)},e.useMemo=function(e,t){return k.current.useMemo(e,t)},e.useReducer=function(e,t,n){return k.current.useReducer(e,t,n)},e.useRef=function(e){return k.current.useRef(e)},e.useState=function(e){return k.current.useState(e)},e.useSyncExternalStore=function(e,t,n){return k.current.useSyncExternalStore(e,t,n)},e.useTransition=function(){return k.current.useTransition()},e.version=`18.3.1`})),a=t(((e,t)=>{t.exports=i()})),o=t((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=typeof setTimeout==`function`?setTimeout:null,_=typeof clearTimeout==`function`?clearTimeout:null,v=typeof setImmediate<`u`?setImmediate:null;typeof navigator<`u`&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function b(e){if(h=!1,y(e),!m)if(n(c)!==null)m=!0,D(x);else{var t=n(l);t!==null&&O(b,t.startTime-e)}}function x(t,i){m=!1,h&&(h=!1,_(w),w=-1),p=!0;var a=f;try{for(y(i),d=n(c);d!==null&&(!(d.expirationTime>i)||t&&!te());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=i);i=e.unstable_now(),typeof s==`function`?d.callback=s:d===n(c)&&r(c),y(i)}else r(c);d=n(c)}if(d!==null)var u=!0;else{var g=n(l);g!==null&&O(b,g.startTime-i),u=!1}return u}finally{d=null,f=a,p=!1}}var S=!1,C=null,w=-1,T=5,ee=-1;function te(){return!(e.unstable_now()-ee<T)}function E(){if(C!==null){var t=e.unstable_now();ee=t;var n=!0;try{n=C(!0,t)}finally{n?ne():(S=!1,C=null)}}else S=!1}var ne;if(typeof v==`function`)ne=function(){v(E)};else if(typeof MessageChannel<`u`){var re=new MessageChannel,ie=re.port2;re.port1.onmessage=E,ne=function(){ie.postMessage(null)}}else ne=function(){g(E,0)};function D(e){C=e,S||(S=!0,ne())}function O(t,n){w=g(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_continueExecution=function(){m||p||(m=!0,D(x))},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):T=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_getFirstCallbackNode=function(){return n(c)},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(_(w),w=-1):h=!0,O(b,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,D(x))),r},e.unstable_shouldYield=te,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),s=t(((e,t)=>{t.exports=o()})),c=t((e=>{var t=a(),n=s();function r(e){for(var t=`https://reactjs.org/docs/error-decoder.html?invariant=`+e,n=1;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n]);return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}var i=new Set,o={};function c(e,t){l(e,t),l(e+`Capture`,t)}function l(e,t){for(o[e]=t,e=0;e<t.length;e++)i.add(t[e])}var u=!(typeof window>`u`||window.document===void 0||window.document.createElement===void 0),d=Object.prototype.hasOwnProperty,f=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,p={},m={};function h(e){return d.call(m,e)?!0:d.call(p,e)?!1:f.test(e)?m[e]=!0:(p[e]=!0,!1)}function g(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case`function`:case`symbol`:return!0;case`boolean`:return r?!1:n===null?(e=e.toLowerCase().slice(0,5),e!==`data-`&&e!==`aria-`):!n.acceptsBooleans;default:return!1}}function _(e,t,n,r){if(t==null||g(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function v(e,t,n,r,i,a,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=o}var y={};`children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style`.split(` `).forEach(function(e){y[e]=new v(e,0,!1,e,null,!1,!1)}),[[`acceptCharset`,`accept-charset`],[`className`,`class`],[`htmlFor`,`for`],[`httpEquiv`,`http-equiv`]].forEach(function(e){var t=e[0];y[t]=new v(t,1,!1,e[1],null,!1,!1)}),[`contentEditable`,`draggable`,`spellCheck`,`value`].forEach(function(e){y[e]=new v(e,2,!1,e.toLowerCase(),null,!1,!1)}),[`autoReverse`,`externalResourcesRequired`,`focusable`,`preserveAlpha`].forEach(function(e){y[e]=new v(e,2,!1,e,null,!1,!1)}),`allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope`.split(` `).forEach(function(e){y[e]=new v(e,3,!1,e.toLowerCase(),null,!1,!1)}),[`checked`,`multiple`,`muted`,`selected`].forEach(function(e){y[e]=new v(e,3,!0,e,null,!1,!1)}),[`capture`,`download`].forEach(function(e){y[e]=new v(e,4,!1,e,null,!1,!1)}),[`cols`,`rows`,`size`,`span`].forEach(function(e){y[e]=new v(e,6,!1,e,null,!1,!1)}),[`rowSpan`,`start`].forEach(function(e){y[e]=new v(e,5,!1,e.toLowerCase(),null,!1,!1)});var b=/[\-:]([a-z])/g;function x(e){return e[1].toUpperCase()}`accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height`.split(` `).forEach(function(e){var t=e.replace(b,x);y[t]=new v(t,1,!1,e,null,!1,!1)}),`xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type`.split(` `).forEach(function(e){var t=e.replace(b,x);y[t]=new v(t,1,!1,e,`http://www.w3.org/1999/xlink`,!1,!1)}),[`xml:base`,`xml:lang`,`xml:space`].forEach(function(e){var t=e.replace(b,x);y[t]=new v(t,1,!1,e,`http://www.w3.org/XML/1998/namespace`,!1,!1)}),[`tabIndex`,`crossOrigin`].forEach(function(e){y[e]=new v(e,1,!1,e.toLowerCase(),null,!1,!1)}),y.xlinkHref=new v(`xlinkHref`,1,!1,`xlink:href`,`http://www.w3.org/1999/xlink`,!0,!1),[`src`,`href`,`action`,`formAction`].forEach(function(e){y[e]=new v(e,1,!1,e.toLowerCase(),null,!0,!0)});function S(e,t,n,r){var i=y.hasOwnProperty(t)?y[t]:null;(i===null?r||!(2<t.length)||t[0]!==`o`&&t[0]!==`O`||t[1]!==`n`&&t[1]!==`N`:i.type!==0)&&(_(t,n,i,r)&&(n=null),r||i===null?h(t)&&(n===null?e.removeAttribute(t):e.setAttribute(t,``+n)):i.mustUseProperty?e[i.propertyName]=n===null?i.type===3?!1:``:n:(t=i.attributeName,r=i.attributeNamespace,n===null?e.removeAttribute(t):(i=i.type,n=i===3||i===4&&!0===n?``:``+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}var C=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,w=Symbol.for(`react.element`),T=Symbol.for(`react.portal`),ee=Symbol.for(`react.fragment`),te=Symbol.for(`react.strict_mode`),E=Symbol.for(`react.profiler`),ne=Symbol.for(`react.provider`),re=Symbol.for(`react.context`),ie=Symbol.for(`react.forward_ref`),D=Symbol.for(`react.suspense`),O=Symbol.for(`react.suspense_list`),k=Symbol.for(`react.memo`),A=Symbol.for(`react.lazy`),ae=Symbol.for(`react.offscreen`),j=Symbol.iterator;function oe(e){return typeof e!=`object`||!e?null:(e=j&&e[j]||e[`@@iterator`],typeof e==`function`?e:null)}var M=Object.assign,se;function ce(e){if(se===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);se=t&&t[1]||``}return`
|
|
1
|
+
import{i as e,t}from"./chunk-DF37yw5_.js";import{l as n,s as r}from"./i18n-BPzJdB2H.js";var i=t((e=>{var t=Symbol.for(`react.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.provider`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.iterator;function p(e){return typeof e!=`object`||!e?null:(e=f&&e[f]||e[`@@iterator`],typeof e==`function`?e:null)}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=Object.assign,g={};function _(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}_.prototype.isReactComponent={},_.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`setState(...): takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},_.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function v(){}v.prototype=_.prototype;function y(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}var b=y.prototype=new v;b.constructor=y,h(b,_.prototype),b.isPureReactComponent=!0;var x=Array.isArray,S=Object.prototype.hasOwnProperty,C={current:null},w={key:!0,ref:!0,__self:!0,__source:!0};function T(e,n,r){var i,a={},o=null,s=null;if(n!=null)for(i in n.ref!==void 0&&(s=n.ref),n.key!==void 0&&(o=``+n.key),n)S.call(n,i)&&!w.hasOwnProperty(i)&&(a[i]=n[i]);var c=arguments.length-2;if(c===1)a.children=r;else if(1<c){for(var l=Array(c),u=0;u<c;u++)l[u]=arguments[u+2];a.children=l}if(e&&e.defaultProps)for(i in c=e.defaultProps,c)a[i]===void 0&&(a[i]=c[i]);return{$$typeof:t,type:e,key:o,ref:s,props:a,_owner:C.current}}function ee(e,n){return{$$typeof:t,type:e.type,key:n,ref:e.ref,props:e.props,_owner:e._owner}}function te(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function E(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var ne=/\/+/g;function re(e,t){return typeof e==`object`&&e&&e.key!=null?E(``+e.key):t.toString(36)}function ie(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0}}if(c)return c=e,o=o(c),e=a===``?`.`+re(c,0):a,x(o)?(i=``,e!=null&&(i=e.replace(ne,`$&/`)+`/`),ie(o,r,i,``,function(e){return e})):o!=null&&(te(o)&&(o=ee(o,i+(!o.key||c&&c.key===o.key?``:(``+o.key).replace(ne,`$&/`)+`/`)+e)),r.push(o)),1;if(c=0,a=a===``?`.`:a+`:`,x(e))for(var l=0;l<e.length;l++){s=e[l];var u=a+re(s,l);c+=ie(s,r,i,u,o)}else if(u=p(e),typeof u==`function`)for(e=u.call(e),l=0;!(s=e.next()).done;)s=s.value,u=a+re(s,l++),c+=ie(s,r,i,u,o);else if(s===`object`)throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`);return c}function D(e,t,n){if(e==null)return e;var r=[],i=0;return ie(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function O(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var k={current:null},A={transition:null},ae={ReactCurrentDispatcher:k,ReactCurrentBatchConfig:A,ReactCurrentOwner:C};function j(){throw Error(`act(...) is not supported in production builds of React.`)}e.Children={map:D,forEach:function(e,t,n){D(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return D(e,function(){t++}),t},toArray:function(e){return D(e,function(e){return e})||[]},only:function(e){if(!te(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}},e.Component=_,e.Fragment=r,e.Profiler=a,e.PureComponent=y,e.StrictMode=i,e.Suspense=l,e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=ae,e.act=j,e.cloneElement=function(e,n,r){if(e==null)throw Error(`React.cloneElement(...): The argument must be a React element, but you passed `+e+`.`);var i=h({},e.props),a=e.key,o=e.ref,s=e._owner;if(n!=null){if(n.ref!==void 0&&(o=n.ref,s=C.current),n.key!==void 0&&(a=``+n.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(l in n)S.call(n,l)&&!w.hasOwnProperty(l)&&(i[l]=n[l]===void 0&&c!==void 0?c[l]:n[l])}var l=arguments.length-2;if(l===1)i.children=r;else if(1<l){c=Array(l);for(var u=0;u<l;u++)c[u]=arguments[u+2];i.children=c}return{$$typeof:t,type:e.type,key:a,ref:o,props:i,_owner:s}},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:o,_context:e},e.Consumer=e},e.createElement=T,e.createFactory=function(e){var t=T.bind(null,e);return t.type=e,t},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=te,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:O}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=A.transition;A.transition={};try{e()}finally{A.transition=t}},e.unstable_act=j,e.useCallback=function(e,t){return k.current.useCallback(e,t)},e.useContext=function(e){return k.current.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e){return k.current.useDeferredValue(e)},e.useEffect=function(e,t){return k.current.useEffect(e,t)},e.useId=function(){return k.current.useId()},e.useImperativeHandle=function(e,t,n){return k.current.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return k.current.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return k.current.useLayoutEffect(e,t)},e.useMemo=function(e,t){return k.current.useMemo(e,t)},e.useReducer=function(e,t,n){return k.current.useReducer(e,t,n)},e.useRef=function(e){return k.current.useRef(e)},e.useState=function(e){return k.current.useState(e)},e.useSyncExternalStore=function(e,t,n){return k.current.useSyncExternalStore(e,t,n)},e.useTransition=function(){return k.current.useTransition()},e.version=`18.3.1`})),a=t(((e,t)=>{t.exports=i()})),o=t((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=typeof setTimeout==`function`?setTimeout:null,_=typeof clearTimeout==`function`?clearTimeout:null,v=typeof setImmediate<`u`?setImmediate:null;typeof navigator<`u`&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function b(e){if(h=!1,y(e),!m)if(n(c)!==null)m=!0,D(x);else{var t=n(l);t!==null&&O(b,t.startTime-e)}}function x(t,i){m=!1,h&&(h=!1,_(w),w=-1),p=!0;var a=f;try{for(y(i),d=n(c);d!==null&&(!(d.expirationTime>i)||t&&!te());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=i);i=e.unstable_now(),typeof s==`function`?d.callback=s:d===n(c)&&r(c),y(i)}else r(c);d=n(c)}if(d!==null)var u=!0;else{var g=n(l);g!==null&&O(b,g.startTime-i),u=!1}return u}finally{d=null,f=a,p=!1}}var S=!1,C=null,w=-1,T=5,ee=-1;function te(){return!(e.unstable_now()-ee<T)}function E(){if(C!==null){var t=e.unstable_now();ee=t;var n=!0;try{n=C(!0,t)}finally{n?ne():(S=!1,C=null)}}else S=!1}var ne;if(typeof v==`function`)ne=function(){v(E)};else if(typeof MessageChannel<`u`){var re=new MessageChannel,ie=re.port2;re.port1.onmessage=E,ne=function(){ie.postMessage(null)}}else ne=function(){g(E,0)};function D(e){C=e,S||(S=!0,ne())}function O(t,n){w=g(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_continueExecution=function(){m||p||(m=!0,D(x))},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):T=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_getFirstCallbackNode=function(){return n(c)},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(_(w),w=-1):h=!0,O(b,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,D(x))),r},e.unstable_shouldYield=te,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),s=t(((e,t)=>{t.exports=o()})),c=t((e=>{var t=a(),n=s();function r(e){for(var t=`https://reactjs.org/docs/error-decoder.html?invariant=`+e,n=1;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n]);return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}var i=new Set,o={};function c(e,t){l(e,t),l(e+`Capture`,t)}function l(e,t){for(o[e]=t,e=0;e<t.length;e++)i.add(t[e])}var u=!(typeof window>`u`||window.document===void 0||window.document.createElement===void 0),d=Object.prototype.hasOwnProperty,f=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,p={},m={};function h(e){return d.call(m,e)?!0:d.call(p,e)?!1:f.test(e)?m[e]=!0:(p[e]=!0,!1)}function g(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case`function`:case`symbol`:return!0;case`boolean`:return r?!1:n===null?(e=e.toLowerCase().slice(0,5),e!==`data-`&&e!==`aria-`):!n.acceptsBooleans;default:return!1}}function _(e,t,n,r){if(t==null||g(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function v(e,t,n,r,i,a,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=o}var y={};`children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style`.split(` `).forEach(function(e){y[e]=new v(e,0,!1,e,null,!1,!1)}),[[`acceptCharset`,`accept-charset`],[`className`,`class`],[`htmlFor`,`for`],[`httpEquiv`,`http-equiv`]].forEach(function(e){var t=e[0];y[t]=new v(t,1,!1,e[1],null,!1,!1)}),[`contentEditable`,`draggable`,`spellCheck`,`value`].forEach(function(e){y[e]=new v(e,2,!1,e.toLowerCase(),null,!1,!1)}),[`autoReverse`,`externalResourcesRequired`,`focusable`,`preserveAlpha`].forEach(function(e){y[e]=new v(e,2,!1,e,null,!1,!1)}),`allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope`.split(` `).forEach(function(e){y[e]=new v(e,3,!1,e.toLowerCase(),null,!1,!1)}),[`checked`,`multiple`,`muted`,`selected`].forEach(function(e){y[e]=new v(e,3,!0,e,null,!1,!1)}),[`capture`,`download`].forEach(function(e){y[e]=new v(e,4,!1,e,null,!1,!1)}),[`cols`,`rows`,`size`,`span`].forEach(function(e){y[e]=new v(e,6,!1,e,null,!1,!1)}),[`rowSpan`,`start`].forEach(function(e){y[e]=new v(e,5,!1,e.toLowerCase(),null,!1,!1)});var b=/[\-:]([a-z])/g;function x(e){return e[1].toUpperCase()}`accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height`.split(` `).forEach(function(e){var t=e.replace(b,x);y[t]=new v(t,1,!1,e,null,!1,!1)}),`xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type`.split(` `).forEach(function(e){var t=e.replace(b,x);y[t]=new v(t,1,!1,e,`http://www.w3.org/1999/xlink`,!1,!1)}),[`xml:base`,`xml:lang`,`xml:space`].forEach(function(e){var t=e.replace(b,x);y[t]=new v(t,1,!1,e,`http://www.w3.org/XML/1998/namespace`,!1,!1)}),[`tabIndex`,`crossOrigin`].forEach(function(e){y[e]=new v(e,1,!1,e.toLowerCase(),null,!1,!1)}),y.xlinkHref=new v(`xlinkHref`,1,!1,`xlink:href`,`http://www.w3.org/1999/xlink`,!0,!1),[`src`,`href`,`action`,`formAction`].forEach(function(e){y[e]=new v(e,1,!1,e.toLowerCase(),null,!0,!0)});function S(e,t,n,r){var i=y.hasOwnProperty(t)?y[t]:null;(i===null?r||!(2<t.length)||t[0]!==`o`&&t[0]!==`O`||t[1]!==`n`&&t[1]!==`N`:i.type!==0)&&(_(t,n,i,r)&&(n=null),r||i===null?h(t)&&(n===null?e.removeAttribute(t):e.setAttribute(t,``+n)):i.mustUseProperty?e[i.propertyName]=n===null?i.type===3?!1:``:n:(t=i.attributeName,r=i.attributeNamespace,n===null?e.removeAttribute(t):(i=i.type,n=i===3||i===4&&!0===n?``:``+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}var C=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,w=Symbol.for(`react.element`),T=Symbol.for(`react.portal`),ee=Symbol.for(`react.fragment`),te=Symbol.for(`react.strict_mode`),E=Symbol.for(`react.profiler`),ne=Symbol.for(`react.provider`),re=Symbol.for(`react.context`),ie=Symbol.for(`react.forward_ref`),D=Symbol.for(`react.suspense`),O=Symbol.for(`react.suspense_list`),k=Symbol.for(`react.memo`),A=Symbol.for(`react.lazy`),ae=Symbol.for(`react.offscreen`),j=Symbol.iterator;function oe(e){return typeof e!=`object`||!e?null:(e=j&&e[j]||e[`@@iterator`],typeof e==`function`?e:null)}var M=Object.assign,se;function ce(e){if(se===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);se=t&&t[1]||``}return`
|
|
2
2
|
`+se+e}var le=!1;function ue(e,t){if(!e||le)return``;le=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,`props`,{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var r=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){r=e}e.call(t.prototype)}else{try{throw Error()}catch(e){r=e}e()}}catch(t){if(t&&r&&typeof t.stack==`string`){for(var i=t.stack.split(`
|
|
3
3
|
`),a=r.stack.split(`
|
|
4
4
|
`),o=i.length-1,s=a.length-1;1<=o&&0<=s&&i[o]!==a[s];)s--;for(;1<=o&&0<=s;o--,s--)if(i[o]!==a[s]){if(o!==1||s!==1)do if(o--,s--,0>s||i[o]!==a[s]){var c=`
|
|
@@ -11,10 +11,10 @@ Error generating stack: `+e.message+`
|
|
|
11
11
|
`,`
|
|
12
12
|
`).split(`
|
|
13
13
|
|
|
14
|
-
`),r=n.pop()??``;for(let e of n){let n=Mr(e);if(n?.event!==`ncp-event`)continue;let r=Nr(n.data);r&&t(r)}return r}},Fr=class{constructor(e,t){this.requestService=e,this.baseUrl=t}list=async()=>(await this.requestService.get(`/api/agents`)).agents;create=async e=>await this.requestService.post(`/api/agents`,e);update=async(e,t)=>await this.requestService.put(`/api/agents/${encodeURIComponent(e)}`,t);delete=async e=>await this.requestService.delete(`/api/agents/${encodeURIComponent(e)}`);resolveAvatarUrl=e=>Or(this.baseUrl,`/api/agents/${encodeURIComponent(e)}/avatar`)},Ir=class{constructor(e){this.requestService=e}fetchMeta=async()=>await this.requestService.get(`/api/app/meta`);fetchBootstrapStatus=async(e={})=>await this.requestService.get(`/api/runtime/bootstrap-status`,e)},Lr=class{constructor(e){this.requestService=e}list=async(e={})=>await this.requestService.get(e.includeStorageUsage===!1?`/api/app-packages?includeStorageUsage=false`:`/api/app-packages`);get=async e=>await this.requestService.get(`/api/app-packages/${encodeURIComponent(e)}`);inspectDocumentAccess=async e=>await this.requestService.get(`/api/app-packages/${encodeURIComponent(e)}/document-access`);grantDocumentAccess=async(e,t)=>await this.requestService.post(`/api/app-packages/${encodeURIComponent(e)}/document-access/grant`,t);revokeDocumentAccess=async(e,t)=>await this.requestService.post(`/api/app-packages/${encodeURIComponent(e)}/document-access/revoke`,{scopeId:t});listOperations=async()=>await this.requestService.get(`/api/app-package-operations`);startInstall=async e=>await this.requestService.post(`/api/app-package-operations/install`,e);startUpdate=async(e,t={})=>await this.requestService.post(`/api/app-package-operations/${encodeURIComponent(e)}/update`,t);startRollback=async(e,t)=>await this.requestService.post(`/api/app-package-operations/${encodeURIComponent(e)}/rollback`,{version:t});startUninstall=async(e,t=!1)=>await this.requestService.post(`/api/app-package-operations/${encodeURIComponent(e)}/uninstall`,{purgeData:t});install=async e=>await this.requestService.post(`/api/app-packages/install`,e);enable=async e=>await this.requestService.post(`/api/app-packages/${encodeURIComponent(e)}/enable`);disable=async e=>await this.requestService.post(`/api/app-packages/${encodeURIComponent(e)}/disable`);update=async(e,t={})=>await this.requestService.post(`/api/app-packages/${encodeURIComponent(e)}/update`,t);rollback=async(e,t)=>await this.requestService.post(`/api/app-packages/${encodeURIComponent(e)}/rollback`,{version:t});uninstall=async(e,t=!1)=>await this.requestService.request(`/api/app-packages/${encodeURIComponent(e)}`,{method:`DELETE`,body:{purgeData:t}})},Rr=class{constructor(e){this.requestService=e}list=async()=>await this.requestService.get(`/api/app-data`);deleteRetained=async(e,t)=>await this.requestService.request(`/api/app-data/${encodeURIComponent(e)}`,{method:`DELETE`,body:{confirmAppId:t}})},zr=class{constructor(e){this.requestService=e}fetchStatus=async(e={})=>await this.requestService.get(`/api/auth/status`,{...e.timeoutMs===void 0?{}:{timeoutMs:e.timeoutMs}});setup=async e=>await this.requestService.post(`/api/auth/setup`,e);login=async e=>await this.requestService.post(`/api/auth/login`,e);logout=async()=>await this.requestService.post(`/api/auth/logout`,{});updatePassword=async e=>await this.requestService.put(`/api/auth/password`,e);updateEnabled=async e=>await this.requestService.put(`/api/auth/enabled`,e)},Br=class{constructor(e){this.requestService=e}start=async(e,t={})=>await this.requestService.post(`/api/config/channels/${encodeURIComponent(e)}/auth/start`,t);poll=async(e,t)=>await this.requestService.post(`/api/config/channels/${encodeURIComponent(e)}/auth/poll`,t);connect=async(e,t)=>await this.requestService.post(`/api/config/channels/${encodeURIComponent(e)}/auth/connect`,t)},Vr=class{constructor(e){this.requestService=e}listDesktopGrants=async()=>await this.requestService.get(`/api/capability-grants?resourceType=desktop.application`);grantDesktopAccess=async e=>await this.requestService.post(`/api/capability-grants`,e);revokeDesktopAccess=async e=>await this.requestService.request(`/api/capability-grants`,{method:`DELETE`,body:{subject:e.subject,resourceType:e.resource.type,target:e.resource.target,access:e.access}});getDesktopStatus=async()=>await this.requestService.get(`/api/desktop-host/status`);requestDesktopPermissions=async()=>await this.requestService.post(`/api/desktop-host/permissions/request`,{});openDesktopPermissionSettings=async()=>await this.requestService.post(`/api/desktop-host/permissions/open-settings`,{})},Hr=class{constructor(e){this.requestService=e}get=async()=>await this.requestService.get(`/api/feature-controls`)},Ur=class{constructor(e){this.requestService=e}fetch=async()=>await this.requestService.get(`/api/config`);fetchMeta=async()=>await this.requestService.get(`/api/config/meta`);fetchSchema=async()=>await this.requestService.get(`/api/config/schema`);updateModel=async e=>await this.requestService.put(`/api/config/model`,e);updateSearch=async e=>await this.requestService.put(`/api/config/search`,e);updateChannel=async(e,t)=>await this.requestService.put(`/api/config/channels/${encodeURIComponent(e)}`,t);updateRuntime=async e=>await this.requestService.put(`/api/config/runtime`,e);updateSecrets=async e=>await this.requestService.put(`/api/config/secrets`,e);updateProductAnalytics=async e=>await this.requestService.put(`/api/config/product-analytics`,e);fetchProductAnalyticsStatus=async()=>await this.requestService.get(`/api/config/product-analytics/status`);executeAction=async(e,t={})=>await this.requestService.post(`/api/config/actions/${encodeURIComponent(e)}/execute`,t);fetchChatSessionTypes=async()=>await this.requestService.get(`/api/ncp/session-types`);fetchCronJobs=async(e={})=>await this.requestService.get(`/api/cron`,{query:{all:e.all?`1`:void 0,limit:e.limit,offset:e.offset,query:e.query,status:e.status}});deleteCronJob=async e=>await this.requestService.delete(`/api/cron/${encodeURIComponent(e)}`);setCronJobEnabled=async(e,t)=>await this.requestService.put(`/api/cron/${encodeURIComponent(e)}/enable`,t);runCronJob=async(e,t={})=>await this.requestService.post(`/api/cron/${encodeURIComponent(e)}/run`,t)},Wr=class{constructor(e){this.requestService=e}fetchItems=async e=>await this.requestService.get(`${Gr(e.type)}/items`,{query:Kr(e)});fetchItem=async(e,t)=>await this.requestService.get(`${Gr(t)}/items/${encodeURIComponent(e)}`);fetchSkillContent=async e=>await this.requestService.get(`/api/marketplace/skills/items/${encodeURIComponent(e)}/content`);fetchRecommendations=async(e,t={})=>await this.requestService.get(`${Gr(e)}/recommendations`,{query:{...t.scene?.trim()?{scene:t.scene.trim()}:{},...typeof t.limit==`number`&&Number.isFinite(t.limit)?{limit:Math.max(1,Math.trunc(t.limit))}:{}}});fetchSkillScenes=async()=>await this.requestService.get(`/api/marketplace/skills/scenes`);install=async e=>await this.requestService.post(`${Gr(qr(e.type))}/install`,e);fetchInstalled=async e=>await this.requestService.get(`${Gr(e)}/installed`);manage=async e=>await this.requestService.post(`${Gr(qr(e.type))}/manage`,e)};function Gr(e){return e===`skill`?`/api/marketplace/skills`:`/api/marketplace/mcp`}function Kr(e){let{page:t,pageSize:n,q:r,scene:i,sort:a,tag:o}=e,s={};return r?.trim()&&(s.q=r.trim()),o?.trim()&&(s.tag=o.trim()),i?.trim()&&(s.scene=i.trim()),a&&(s.sort=a),typeof t==`number`&&Number.isFinite(t)&&(s.page=Math.max(1,Math.trunc(t))),typeof n==`number`&&Number.isFinite(n)&&(s.pageSize=Math.max(1,Math.trunc(n))),Object.keys(s).length>0?s:void 0}function qr(e){if(!e)throw Error(`Marketplace request type is required.`);return e}var Jr=class{constructor(e){this.requestService=e}list=async()=>await this.requestService.get(`/api/inbox/deliveries`);get=async e=>await this.requestService.get(this.deliveryPath(e));updateState=async(e,t)=>await this.requestService.request(this.deliveryPath(e),{method:`PATCH`,body:{action:t}});delete=async e=>(await this.requestService.delete(this.deliveryPath(e))).deleted;deliveryPath=e=>`/api/inbox/deliveries/${encodeURIComponent(e)}`},Yr=class{constructor(e){this.requestService=e}fetchItems=async(e={})=>await this.requestService.get(`/api/marketplace/mcp/items`,{query:Xr(e)});fetchInstalled=async()=>await this.requestService.get(`/api/marketplace/mcp/installed`);fetchItem=async e=>await this.requestService.get(`/api/marketplace/mcp/items/${encodeURIComponent(e)}`);fetchContent=async e=>await this.requestService.get(`/api/marketplace/mcp/items/${encodeURIComponent(e)}/content`);fetchRecommendations=async(e={})=>await this.requestService.get(`/api/marketplace/mcp/recommendations`,{query:{...e.scene?.trim()?{scene:e.scene.trim()}:{},...typeof e.limit==`number`&&Number.isFinite(e.limit)?{limit:Math.max(1,Math.trunc(e.limit))}:{}}});install=async e=>await this.requestService.post(`/api/marketplace/mcp/install`,e);manage=async e=>await this.requestService.post(`/api/marketplace/mcp/manage`,e);doctor=async e=>await this.requestService.post(`/api/marketplace/mcp/doctor`,{name:e})};function Xr(e){let{page:t,pageSize:n,q:r,sort:i,tag:a}=e,o={};return r?.trim()&&(o.q=r.trim()),a?.trim()&&(o.tag=a.trim()),i&&(o.sort=i),typeof t==`number`&&Number.isFinite(t)&&(o.page=Math.max(1,Math.trunc(t))),typeof n==`number`&&Number.isFinite(n)&&(o.pageSize=Math.max(1,Math.trunc(n))),Object.keys(o).length>0?o:void 0}var Zr=class{constructor(e){this.requestService=e}testConnection=async e=>await this.requestService.post(`/api/mcp/servers/test`,e);createConnection=async e=>await this.requestService.post(`/api/mcp/servers`,e)},Qr=`x-nextclaw-panel-bridge-session`;function $r(e){return e?{[Qr]:e}:void 0}var ei=class{constructor(e){this.requestService=e}listPanelApps=async()=>await this.requestService.get(`/api/panel-apps`);getPanelApp=async e=>await this.requestService.get(`/api/panel-apps/${encodeURIComponent(e)}`);updatePanelAppPreferences=async(e,t)=>await this.requestService.request(`/api/panel-apps/${encodeURIComponent(e)}/preferences`,{method:`PATCH`,body:t});recordPanelAppOpened=async e=>await this.requestService.post(`/api/panel-apps/${encodeURIComponent(e)}/open`);deletePanelApp=async e=>await this.requestService.delete(`/api/panel-apps/${encodeURIComponent(e)}`);createBridgeSession=async e=>await this.requestService.post(`/api/panel-app-bridge-sessions`,e);deleteBridgeSession=async e=>await this.requestService.delete(`/api/panel-app-bridge-sessions/${encodeURIComponent(e)}`);grantClient=async e=>await this.requestService.post(`/api/panel-app-client-grants/${encodeURIComponent(e)}`,{});revokeClient=async e=>await this.requestService.delete(`/api/panel-app-client-grants/${encodeURIComponent(e)}`);sendAgentMessage=async(e,t={})=>await this.requestService.post(`/api/panel-app-agent/send`,e,{headers:$r(t.bridgeSessionToken)});generateAgentObject=async(e,t={})=>await this.requestService.post(`/api/panel-app-agent/generate-object`,e,{headers:$r(t.bridgeSessionToken)});grantAgentCapability=async(e,t={})=>await this.requestService.post(`/api/panel-app-agent-capabilities/${encodeURIComponent(e)}/grant`,{},{headers:$r(t.bridgeSessionToken)})},ti=class{constructor(e){this.requestService=e}list=async()=>await this.requestService.get(`/api/providers`);listTemplates=async()=>await this.requestService.get(`/api/provider-templates`);listModelCatalog=async()=>await this.requestService.get(`/api/provider-model-catalog`);update=async(e,t)=>await this.requestService.put(`/api/providers/${encodeURIComponent(e)}`,t);create=async(e={})=>await this.requestService.post(`/api/providers`,e);delete=async e=>await this.requestService.delete(`/api/providers/${encodeURIComponent(e)}`);testConnection=async(e,t)=>await this.requestService.post(`/api/providers/${encodeURIComponent(e)}/test`,t);discoverModels=async(e,t)=>await this.requestService.post(`/api/providers/${encodeURIComponent(e)}/models/discover`,t);startAuth=async(e,t={})=>await this.requestService.post(`/api/providers/${encodeURIComponent(e)}/auth/start`,t);pollAuth=async(e,t)=>await this.requestService.post(`/api/providers/${encodeURIComponent(e)}/auth/poll`,t);importAuthFromCli=async e=>await this.requestService.post(`/api/providers/${encodeURIComponent(e)}/auth/import-cli`,{})},ni=class{constructor(e){this.requestService=e}list=async()=>await this.requestService.get(`/api/projects`);getAgreement=async e=>await this.requestService.get(`/api/projects/${encodeURIComponent(e)}/agreement`);listProjectSkills=async e=>await this.requestService.get(`/api/projects/${encodeURIComponent(e)}/skills`);create=async e=>await this.requestService.post(`/api/projects`,e);addExisting=async e=>await this.requestService.post(`/api/projects/existing`,e);remove=async(e,t)=>await this.requestService.request(`/api/projects/${encodeURIComponent(e)}`,{method:`DELETE`,body:{confirmProjectId:t}});listWork=async(e,t={})=>await this.requestService.get(`/api/projects/${encodeURIComponent(e)}/work`,{query:t});listRecentWorkArtifacts=async(e,t={})=>await this.requestService.get(`/api/projects/${encodeURIComponent(e)}/work/artifacts`,{query:t});getWorkSummary=async e=>await this.requestService.get(`/api/projects/${encodeURIComponent(e)}/work/summary`);getWorkItem=async(e,t)=>await this.requestService.get(ri(e,t));createWorkItem=async(e,t)=>await this.requestService.post(`/api/projects/${encodeURIComponent(e)}/work/items`,t);updateWorkItem=async(e,t,n)=>await this.requestService.patch(ri(e,t),n);deleteWorkItem=async(e,t)=>await this.requestService.delete(ri(e,t));restoreWorkItem=async(e,t)=>await this.requestService.post(`${ri(e,t)}/restore`);listWorkItemActivities=async(e,t,n={})=>await this.requestService.get(`${ri(e,t)}/activities`,{query:n});linkWorkItemArtifact=async(e,t,n)=>await this.requestService.post(`${ri(e,t)}/artifacts`,n);unlinkWorkItemArtifact=async(e,t,n)=>await this.requestService.delete(`${ri(e,t)}/artifacts/${encodeURIComponent(n)}`);listWorkStates=async e=>await this.requestService.get(`/api/projects/${encodeURIComponent(e)}/work/states`);createWorkState=async(e,t)=>await this.requestService.post(`/api/projects/${encodeURIComponent(e)}/work/states`,t);updateWorkState=async(e,t,n)=>await this.requestService.patch(ii(e,t),n);deleteWorkState=async(e,t,n)=>await this.requestService.request(ii(e,t),{method:`DELETE`,body:{migrateToStateId:n??null}})};function ri(e,t){return`/api/projects/${encodeURIComponent(e)}/work/items/${encodeURIComponent(t)}`}function ii(e,t){return`/api/projects/${encodeURIComponent(e)}/work/states/${encodeURIComponent(t)}`}var ai=class{baseUrl;transport;webSocketFactory;constructor(e){this.options=e,this.baseUrl=e.baseUrl,this.transport=e.transport,this.webSocketFactory=e.webSocketFactory}subscribe=(e,t={})=>{if(this.transport?.subscribe){let t=this.transport.subscribe(e);return{close:()=>{t()}}}let n=null,r=null,i=!1,a=Math.max(200,t.reconnectDelayMs??1e3),o=()=>{r!==null&&(clearTimeout(r),r=null)},s=t=>{e(t)},c=()=>{try{n=this.createSocket(Ar(this.baseUrl,`/ws`))}catch(e){t.onError?.(e),i||(r=setTimeout(c,a));return}n.onopen=()=>{s({type:`connection.open`})},n.onmessage=e=>{let t=this.parseEvent(e.data);t&&s(t)},n.onerror=e=>{t.onError?.(e),s({type:`connection.error`,payload:{message:`WebSocket error`}})},n.onclose=()=>{s({type:`connection.close`}),n=null,i||(o(),r=setTimeout(c,a))}};return c(),{close:()=>{i=!0,o(),n?.close(),n=null}}};createSocket=e=>{if(this.webSocketFactory)return this.webSocketFactory(e);if(typeof globalThis.WebSocket!=`function`)throw Error(`WebSocket is unavailable. Provide webSocketFactory when creating the client.`);return new globalThis.WebSocket(e)};parseEvent=e=>{if(typeof e!=`string`)return null;try{let t=JSON.parse(e);return t&&typeof t==`object`&&`type`in t?t:null}catch{return null}}},oi=class{constructor(e){this.requestService=e}fetchStatus=async()=>await this.requestService.get(`/api/remote/status`);fetchDoctor=async()=>await this.requestService.get(`/api/remote/doctor`);login=async e=>await this.requestService.post(`/api/remote/login`,e);startBrowserAuth=async(e={})=>await this.requestService.post(`/api/remote/auth/start`,e);pollBrowserAuth=async e=>await this.requestService.post(`/api/remote/auth/poll`,e);logout=async()=>await this.requestService.post(`/api/remote/logout`,{});updateAccountProfile=async e=>await this.requestService.put(`/api/remote/account/profile`,e);updateSettings=async e=>await this.requestService.put(`/api/remote/settings`,e);controlService=async e=>await this.requestService.post(`/api/remote/service/${e}`,{})},si=class extends Error{status;code;details;constructor(e){let{code:t,details:n,message:r,status:i}=e;super(r),this.name=`NextClawClientError`,this.status=i,this.code=t,this.details=n}};function V(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function ci(e,t){return V(e)?e[t]:void 0}var li=class{baseUrl;fetchImpl;requestTimeoutMs;defaultHeaders;transport;constructor(e){this.options=e;let{baseUrl:t,fetchImpl:n,headers:r,requestTimeoutMs:i,token:a}=e;this.baseUrl=t,this.fetchImpl=jr(n),this.requestTimeoutMs=Math.max(1e3,i??15e3),this.transport=e.transport,this.defaultHeaders={Accept:`application/json`,...r??{},...a?{Authorization:`Bearer ${a}`}:{}}}request=async(e,t={})=>{let{body:n,headers:r,method:i,query:a,signal:o,timeoutMs:s}=t;if(this.transport)return await this.requestWithTransport(e,t);let c=new AbortController,l=Math.max(1e3,s??this.requestTimeoutMs),u=this.bindAbortSignal(c,o),d=setTimeout(()=>c.abort(),l),f={...this.defaultHeaders,...r??{}},p=this.normalizeRequestBody(n,f);try{let t=await this.fetchImpl(Or(this.baseUrl,kr(e,this.serializeQuery(a))),{method:i??`GET`,headers:f,body:p,signal:c.signal}),n=await t.json();if(!t.ok){let e=this.extractApiError(n);throw new si({message:e.message,status:t.status,code:e.code,details:e.details})}if(!this.isApiResponse(n))throw new si({message:`Unexpected NextClaw API response shape.`,status:t.status});if(!n.ok)throw new si({message:n.error.message,status:t.status,code:n.error.code,details:n.error.details});return n.data}catch(e){throw e instanceof si?e:e instanceof Error&&e.name===`AbortError`?new si({message:`NextClaw API request timed out after ${l}ms.`}):new si({message:e instanceof Error?e.message:`NextClaw API request failed.`})}finally{o?.removeEventListener(`abort`,u),clearTimeout(d)}};bindAbortSignal=(e,t)=>{let n=()=>e.abort(t?.reason);return t?t.aborted?(e.abort(t.reason),n):(t.addEventListener(`abort`,n,{once:!0}),n):n};requestWithTransport=async(e,t)=>{let{body:n,headers:r,method:i,query:a,signal:o,timeoutMs:s}=t,{transport:c}=this;if(!c)throw new si({message:`NextClaw transport is not configured.`});try{return await c.request({method:i??`GET`,path:e,...n===void 0?{}:{body:n},...a?{query:a}:{},...r?{headers:r}:{},...o?{signal:o}:{},...s===void 0?{}:{timeoutMs:s}})}catch(e){if(e instanceof si)throw e;let t=ci(e,`code`),n=ci(e,`details`),r=ci(e,`status`);throw new si({message:e instanceof Error?e.message:`NextClaw API request failed.`,code:typeof t==`string`?t:void 0,details:V(n)?n:void 0,status:typeof r==`number`?r:void 0})}};get=async(e,t={})=>await this.request(e,{...t,method:`GET`});post=async(e,t,n={})=>await this.request(e,{...n,method:`POST`,...t===void 0?{}:{body:t}});put=async(e,t,n={})=>await this.request(e,{...n,method:`PUT`,...t===void 0?{}:{body:t}});patch=async(e,t,n={})=>await this.request(e,{...n,method:`PATCH`,...t===void 0?{}:{body:t}});delete=async(e,t={})=>await this.request(e,{...t,method:`DELETE`});upload=async(e,t,n={})=>{let{headers:r,signal:i,timeoutMs:a}=n;if(this.transport?.upload)return await this.transport.upload({path:e,formData:t,...r?{headers:r}:{},...i?{signal:i}:{},...a===void 0?{}:{timeoutMs:a}});let o=new AbortController,s=Math.max(1e3,a??this.requestTimeoutMs),c=()=>o.abort(i?.reason);i&&(i.aborted?o.abort(i.reason):i.addEventListener(`abort`,c,{once:!0}));let l=setTimeout(()=>o.abort(),s);try{let n=await this.fetchImpl(Or(this.baseUrl,e),{method:`POST`,headers:{Accept:`application/json`,...ui(this.options.token)??{},...this.options.headers??{},...r??{}},body:t,signal:o.signal}),i=await n.json();if(!n.ok){let e=this.extractApiError(i);throw new si({message:e.message,status:n.status,code:e.code,details:e.details})}if(!this.isApiResponse(i)||!i.ok)throw new si({message:`Unexpected NextClaw upload response shape.`,status:n.status});return i.data}catch(e){throw e instanceof si?e:e instanceof Error&&e.name===`AbortError`?new si({message:`NextClaw API upload timed out after ${s}ms.`}):new si({message:e instanceof Error?e.message:`NextClaw API upload failed.`})}finally{i?.removeEventListener(`abort`,c),clearTimeout(l)}};isApiResponse=e=>typeof e==`object`&&!!e&&`ok`in e;extractApiError=e=>{if(this.isApiResponse(e)&&!e.ok)return e.error;if(typeof e==`object`&&e&&`message`in e){let t=e;return{code:typeof t.code==`string`?t.code:`HTTP_ERROR`,message:typeof t.message==`string`?t.message:`NextClaw API request failed.`,details:t.details!==null&&typeof t.details==`object`?t.details:void 0}}return{code:`HTTP_ERROR`,message:`NextClaw API request failed.`}};normalizeRequestBody=(e,t)=>{if(e!==void 0)return e instanceof FormData||e instanceof URLSearchParams||e instanceof Blob||e instanceof ArrayBuffer?e:typeof e==`string`?(!(`Content-Type`in t)&&!(`content-type`in t)&&(t[`Content-Type`]=`application/json`),e):(!(`Content-Type`in t)&&!(`content-type`in t)&&(t[`Content-Type`]=`application/json`),JSON.stringify(e))};serializeQuery=e=>{if(!e)return;if(e instanceof URLSearchParams)return e;let t=new URLSearchParams;for(let[n,r]of Object.entries(e)){let e=Array.isArray(r)?r:[r];for(let r of e)r!=null&&t.append(n,String(r))}return t}};function ui(e){return e?{Authorization:`Bearer ${e}`}:null}var di=class{constructor(e){this.requestService=e}fetch=async()=>await this.requestService.get(`/api/runtime/control`);startService=async()=>await this.requestService.post(`/api/runtime/control/start-service`,{});restartService=async()=>await this.requestService.post(`/api/runtime/control/restart-service`,{});stopService=async()=>await this.requestService.post(`/api/runtime/control/stop-service`,{})},fi=class{constructor(e){this.requestService=e}fetch=async()=>await this.requestService.get(`/api/runtime/update`);check=async()=>await this.requestService.post(`/api/runtime/update/check`,{});download=async()=>await this.requestService.post(`/api/runtime/update/download`,{});apply=async()=>await this.requestService.post(`/api/runtime/update/apply`,{});updateChannel=async e=>await this.requestService.put(`/api/runtime/update/channel`,{channel:e})},pi=class{constructor(e){this.requestService=e}browse=async e=>{let{basePath:t,includeFiles:n,path:r}=e??{},i=typeof r==`string`?r.trim():``,a=typeof t==`string`?t.trim():``;return await this.requestService.get(`/api/server-paths/browse`,{query:{...i?{path:i}:{},...a?{basePath:a}:{},...n?{includeFiles:`1`}:{}}})};watch=async e=>await this.requestService.post(`/api/server-paths/watch`,e);unwatch=async e=>{await this.requestService.delete(`/api/server-paths/watch`,{query:{subscriptionId:e.trim()}})};createDirectory=async e=>await this.requestService.post(`/api/server-paths/directory`,e);createFile=async e=>await this.requestService.post(`/api/server-paths/file`,e);renameEntry=async e=>await this.requestService.request(`/api/server-paths/entry`,{method:`PATCH`,body:e});deleteEntry=async e=>await this.requestService.delete(`/api/server-paths/entry`,{query:{basePath:e.basePath.trim(),path:e.path.trim()}});uploadFiles=async e=>{let{basePath:t,files:n,overwrite:r,targetPath:i}=e,a=new FormData;return a.append(`basePath`,t.trim()),a.append(`targetPath`,i.trim()),a.append(`overwrite`,r?`true`:`false`),n.forEach(e=>a.append(`files`,e)),await this.requestService.upload(`/api/server-paths/files`,a,{timeoutMs:12e4})};read=async e=>{let{basePath:t,line:n,path:r}=e,i=r.trim(),a=typeof t==`string`?t.trim():``,o=Number.isSafeInteger(n)&&(n??0)>0?n:null;return await this.requestService.get(`/api/server-paths/read`,{query:{path:i,...a?{basePath:a}:{},...o?{line:String(o)}:{}}})};search=async e=>{let{basePath:t,limit:n,query:r}=e,i=t.trim(),a=r?.trim()??``,o=Number.isSafeInteger(n)&&(n??0)>0?n:null;return await this.requestService.get(`/api/server-paths/search`,{query:{basePath:i,...a?{query:a}:{},...o?{limit:String(o)}:{}}})}},mi=`x-nextclaw-panel-bridge-session`;function hi(e){return e?{[mi]:e}:void 0}var gi=class{constructor(e){this.requestService=e}listServiceApps=async()=>await this.requestService.get(`/api/service-apps`);getServiceApp=async e=>await this.requestService.get(`/api/service-apps/${encodeURIComponent(e)}`);restartServiceApp=async e=>await this.requestService.post(`/api/service-apps/${encodeURIComponent(e)}/restart`);deleteServiceApp=async(e,t=!1)=>await this.requestService.request(`/api/service-apps/${encodeURIComponent(e)}`,{method:`DELETE`,body:{purgeData:t}});listServiceActions=async(e={})=>{let t=e.appId?`?${new URLSearchParams({appId:e.appId}).toString()}`:``;return await this.requestService.get(`/api/service-actions${t}`,{headers:hi(e.bridgeSessionToken)})};listVerificationRecords=async(e={})=>{let t=new URLSearchParams;e.acceptanceId&&t.set(`acceptanceId`,e.acceptanceId),e.appId&&t.set(`appId`,e.appId),e.limit!==void 0&&t.set(`limit`,String(e.limit));let n=t.size>0?`?${t.toString()}`:``;return await this.requestService.get(`/api/runtime-verification-records${n}`,{headers:hi(e.bridgeSessionToken)})};getPortableRuntimeAcceptanceContract=async(e={})=>{let t=e.locale?`?${new URLSearchParams({locale:e.locale})}`:``;return await this.requestService.get(`/api/portable-runtime/acceptance/contract${t}`,{headers:hi(e.bridgeSessionToken)})};getPortableRuntimeAcceptanceStatus=async(e={})=>{let t=new URLSearchParams;e.appId&&t.set(`appId`,e.appId),e.locale&&t.set(`locale`,e.locale);let n=t.size>0?`?${t.toString()}`:``;return await this.requestService.get(`/api/portable-runtime/acceptance/status${n}`,{headers:hi(e.bridgeSessionToken)})};exportPortableRuntimeAcceptance=async(e={})=>{let t=new URLSearchParams;e.appId&&t.set(`appId`,e.appId),e.locale&&t.set(`locale`,e.locale);let n=t.size>0?`?${t.toString()}`:``;return await this.requestService.get(`/api/portable-runtime/acceptance/export${n}`,{headers:hi(e.bridgeSessionToken)})};discoverServiceAppActions=async e=>await this.requestService.post(`/api/service-apps/${encodeURIComponent(e)}/actions/discover`,{});invokeServiceAction=async(e,t,n={})=>await this.requestService.post(`/api/service-actions/${encodeURIComponent(e)}/invoke`,{input:t??{}},{headers:hi(n.bridgeSessionToken)});grantServiceAction=async(e,t={})=>await this.requestService.post(`/api/service-actions/${encodeURIComponent(e)}/grant`,{},{headers:hi(t.bridgeSessionToken)});grantServiceActions=async(e,t={})=>await this.requestService.post(`/api/service-action-grants`,{actionIds:e},{headers:hi(t.bridgeSessionToken)});grantAgentServiceActions=async(e,t)=>await this.requestService.post(`/api/agents/${encodeURIComponent(e)}/service-action-grants`,{actionIds:t});listServiceActionGrants=async()=>await this.requestService.get(`/api/service-action-grants`);revokeServiceAction=async(e,t={})=>await this.requestService.delete(`/api/service-actions/${encodeURIComponent(e)}/grant`,{headers:hi(t.bridgeSessionToken)});revokeServiceActionGrant=async e=>{let{actionId:t,caller:n}=e,r=new URLSearchParams({surface:n.surface,callerId:n.surface===`panel-app`?n.appId:n.agentId});return await this.requestService.delete(`/api/service-action-grants/${encodeURIComponent(t)}?${r.toString()}`)}},_i=class{constructor(e,t){this.requestService=e,this.eventBus=t}list=async e=>{let{limit:t,page:n,pageSize:r,query:i,peerId:a}=e??{},o=new URLSearchParams;typeof t==`number`&&Number.isFinite(t)&&o.set(`limit`,String(Math.max(1,Math.trunc(t)))),typeof n==`number`&&Number.isFinite(n)&&o.set(`page`,String(Math.max(1,Math.trunc(n)))),typeof r==`number`&&Number.isFinite(r)&&o.set(`pageSize`,String(Math.max(1,Math.trunc(r)))),i?.trim()&&o.set(`query`,i.trim());let s=a?.trim();return s&&o.set(`peerId`,s),await this.requestService.get(`/api/ncp/sessions`,{...o.size>0?{query:o}:{}})};get=async e=>await this.requestService.get(`/api/ncp/sessions/${encodeURIComponent(e)}`);listMessages=async(e,t={})=>{let n=typeof t==`number`?{limit:t}:t,r=new URLSearchParams;return typeof n.limit==`number`&&Number.isFinite(n.limit)&&r.set(`limit`,String(Math.max(1,Math.trunc(n.limit)))),n.cursor?.trim()&&r.set(`cursor`,n.cursor.trim()),n.toolPayload===`summary`&&r.set(`toolPayload`,`summary`),n.initialPayload===`compact`&&r.set(`initialPayload`,`compact`),await this.requestService.get(`/api/ncp/sessions/${encodeURIComponent(e)}/messages`,{...r.size>0?{query:r}:{},...n.signal?{signal:n.signal}:{}})};getUsage=async e=>await this.requestService.get(`/api/ncp/sessions/${encodeURIComponent(e)}/usage`);listSkills=async(e,t)=>await this.requestService.get(`/api/ncp/sessions/${encodeURIComponent(e)}/skills`,{query:t?.projectRoot?.trim()?{projectRoot:t.projectRoot.trim()}:void 0});listQueuedInputs=async e=>await this.requestService.get(`/api/ncp/sessions/${encodeURIComponent(e)}/queued-inputs`);deleteQueuedInput=async(e,t)=>await this.requestService.delete(`/api/ncp/sessions/${encodeURIComponent(e)}/queued-inputs/${encodeURIComponent(t)}`);listPendingInputs=async e=>await this.requestService.get(`/api/ncp/sessions/${encodeURIComponent(e)}/pending-inputs`);listUserQuestions=async e=>await this.requestService.get(`/api/ncp/sessions/${encodeURIComponent(e)}/user-questions`);resolveUserQuestion=async(e,t,n)=>await this.requestService.post(`/api/ncp/sessions/${encodeURIComponent(e)}/user-questions/${encodeURIComponent(t)}/resolve`,n);steerQueuedInput=async(e,t)=>await this.requestService.post(`/api/ncp/sessions/${encodeURIComponent(e)}/queued-inputs/${encodeURIComponent(t)}/steer`);update=async(e,t)=>await this.requestService.put(`/api/ncp/sessions/${encodeURIComponent(e)}`,t);compactContext=async e=>await this.requestService.post(`/api/ncp/sessions/${encodeURIComponent(e)}/context/compact`);delete=async e=>await this.requestService.delete(`/api/ncp/sessions/${encodeURIComponent(e)}`);uploadAssets=async e=>{let t=new FormData;for(let n of e)t.append(`files`,n);return await this.requestService.upload(`/api/ncp/assets`,t)};subscribe=(e,t={})=>({close:this.eventBus.subscribeAll(t=>{e(t)})})},vi=class{constructor(e){this.requestService=e}list=async(e={})=>await this.requestService.get(`/api/system-object-references`,{query:e});resolve=async e=>await this.requestService.post(`/api/system-object-references/resolve`,{uri:e})},yi=class{baseUrl;agentRuns;app;appPackages;appData;agents;auth;channelAuth;capabilityAccess;featureControls;config;eventBus;marketplace;inboxDeliveries;mcpMarketplace;mcp;panelApps;providers;projects;realtime;remote;runtimeControl;runtimeUpdate;serverPaths;serviceApps;sessions;systemObjectReferences;constructor(e){this.baseUrl=Dr(e.baseUrl);let t={...e,baseUrl:this.baseUrl},n=new li(t);this.realtime=new ai(t);let r=null;this.eventBus=new zt({onFirstSubscriber:()=>{r??=this.realtime.subscribe(e=>{this.eventBus.emitEnvelope({type:e.type,payload:`payload`in e?e.payload:void 0,emittedAt:`emittedAt`in e?e.emittedAt:new Date().toISOString(),source:`source`in e?e.source:`realtime`})})},onNoSubscribers:()=>{r?.close(),r=null}}),this.agentRuns=new Pr(n,t),this.app=new Ir(n),this.appPackages=new Lr(n),this.appData=new Rr(n),this.agents=new Fr(n,this.baseUrl),this.auth=new zr(n),this.channelAuth=new Br(n),this.capabilityAccess=new Vr(n),this.featureControls=new Hr(n),this.config=new Ur(n),this.marketplace=new Wr(n),this.inboxDeliveries=new Jr(n),this.mcpMarketplace=new Yr(n),this.mcp=new Zr(n),this.panelApps=new ei(n),this.providers=new ti(n),this.projects=new ni(n),this.remote=new oi(n),this.runtimeControl=new di(n),this.runtimeUpdate=new fi(n),this.serverPaths=new pi(n),this.serviceApps=new gi(n),this.sessions=new _i(n,this.eventBus),this.systemObjectReferences=new vi(n)}},bi=`http://127.0.0.1:55667`,xi=(()=>{let e=(void 0)?.trim();return e?e.replace(/\/$/,``):typeof window<`u`&&window.location?.origin?window.location.origin:bi})(),Si={"Use this page to manage the local NextClaw service. Closing the browser does not stop the service.":`runtimeControlManagedLocalMessage`,"This page is served by the running local service. Closing the browser does not stop it.":`runtimeControlManagedLocalHint`,"This page is served by the running local service.":`runtimeControlManagedLocalHintShort`,"This page is already hosted by the running local service.":`runtimeControlStartUnavailableHosted`,"App restart is only available in the desktop shell.":`runtimeControlRestartAppDesktopOnly`,"The local service is not running.":`runtimeControlServiceNotRunning`,"The local service is already stopped.":`runtimeControlServiceAlreadyStopped`,"Managed service started.":`runtimeControlManagedServiceStarted`,"Managed service start scheduled.":`runtimeControlManagedServiceStartScheduled`,"Restart scheduled. This page may disconnect for a few seconds.":`runtimeControlRestartScheduled`,"Stop scheduled. This page will disconnect shortly.":`runtimeControlStopScheduled`,"runtime healthy":`runtimeControlHealthy`};function Ci(e){return e.activeSystemAction?`service-transitioning`:e.lifecyclePhase}function wi(e){return e===`ready`?`connected`:e===`startup-failed`||e===`stalled`?`disconnected`:`connecting`}function Ti(e){let t=Ci(e);return{...e,phase:t,connectionStatus:wi(t)}}function Ei(e){return e===`start-service`?`starting-service`:e===`stop-service`?`stopping-service`:e===`restart-service`?`restarting-service`:`restarting-app`}function Di(e){return e===`start-service`?`starting`:e===`stop-service`?`stopping`:e===`restart-service`?`restarting`:null}function Oi(e){if(!e)return null;let t=Si[e.trim()];return t?r(t):e}function ki(e){let{action:t,message:n}=e;return{action:t,lifecycle:Ei(t),serviceState:Di(t),message:n}}function Ai(e){if(e.runtimeControlError)return{tone:`inactive`,title:r(`runtimeControlLoadFailed`),description:e.runtimeControlError,reasonLines:[],actionLabel:null,isBusy:!1};if(!e.runtimeControlView)return{tone:`inactive`,title:r(`runtimeStatusLoadingTitle`),description:r(`runtimeStatusLoadingDescription`),reasonLines:[],actionLabel:null,isBusy:!!e.activeSystemAction};if(e.activeSystemAction)return{tone:`attention`,title:r(`runtimeControlTitle`),description:Oi(e.activeSystemAction.message)||Oi(e.runtimeControlView.message)||r(`runtimeControlDescription`),reasonLines:[],actionLabel:null,isBusy:!0};let t=e.runtimeControlView;return t.pendingRestart?{tone:`attention`,title:r(`runtimeStatusPendingRestartTitle`),description:r(`runtimeStatusPendingRestartDescription`),reasonLines:t.pendingRestart.changedPaths.length>0?t.pendingRestart.changedPaths.map(e=>r(`runtimeStatusPendingRestartReasonItem`).replace(`{path}`,e)):[t.pendingRestart.message],actionLabel:t.canRestartService.available?r(`runtimeStatusRestartAction`):null,isBusy:!1}:{tone:t.lifecycle===`healthy`?`healthy`:`inactive`,title:r(`runtimeStatusHealthyTitle`),description:r(`runtimeStatusHealthyDescription`),reasonLines:[],actionLabel:null,isBusy:!1}}function ji(e){let t=e.activeSystemAction,n=e.runtimeControlView;return{controlView:n,visibleLifecycle:t?.lifecycle??n?.lifecycle??`healthy`,visibleServiceState:t?.serviceState??n?.serviceState??`unknown`,visibleMessage:Oi(t?.message)||Oi(e.lastSystemActionError)||Oi(n?.message)||r(`runtimeControlDescription`),busyAction:t?.action??null,busy:!!t,pendingRestart:n?.pendingRestart??null,errorMessage:Oi(e.lastSystemActionError)||Oi(e.runtimeControlError)||null}}var Mi=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},Ni=(e=>e?Mi(e):Mi),Pi=e=>e;function Fi(e,t=Pi){let n=P.useSyncExternalStore(e.subscribe,P.useCallback(()=>t(e.getState()),[e,t]),P.useCallback(()=>t(e.getInitialState()),[e,t]));return P.useDebugValue(n),n}var Ii=e=>{let t=Ni(e),n=e=>Fi(t,e);return Object.assign(n,t),n},Li=(e=>e?Ii(e):Ii),Ri={lifecyclePhase:`cold-starting`,hasReachedReady:!1,lastReadyAt:null,recoveryStartedAt:null,bootstrapStatus:null,lastError:null,lastTransportError:null,runtimeControlView:null,runtimeControlError:null,activeSystemAction:null,lastSystemActionError:null},zi=Li(e=>({state:Ri,patchState:t=>e(e=>({state:{...e.state,...t}}))}));function Bi(e){if(e.length===0)throw Error(`AdaptiveCadence requires at least one stage.`);for(let t of e)if(t.delaysMs.length===0)throw Error(`AdaptiveCadence stage requires at least one delay.`)}var Vi=class{constructor(e){this.options=e,this.attempt=0,this.startedAt=null,this.lastFailureAt=null,this.lastSuccessAt=null,this.manualTriggerPending=!1,this.completed=!1,this.recordFailure=()=>{let e=this.clock();this.completed=!1,this.manualTriggerPending=!1,this.startedAt=this.startedAt??e,this.lastFailureAt=e,this.attempt+=1},this.recordSuccess=()=>{this.lastSuccessAt=this.clock(),this.attempt=0,this.startedAt=null,this.lastFailureAt=null,this.manualTriggerPending=!1,this.completed=!0},this.reset=()=>{this.attempt=0,this.startedAt=null,this.lastFailureAt=null,this.lastSuccessAt=null,this.manualTriggerPending=!1,this.completed=!1},this.requestManualTrigger=()=>{this.completed=!1,this.manualTriggerPending=!0},this.hasManualTrigger=()=>this.manualTriggerPending,this.getNextDelay=(e={})=>{if(this.manualTriggerPending)return e.consumeManualTrigger&&(this.manualTriggerPending=!1),this.options.manualTriggerDelayMs;if(this.completed)return this.options.successDelayMs;if(this.startedAt===null)return this.options.idleDelayMs;let t=this.resolveStage(this.clock()-this.startedAt);return t.delaysMs[Math.min(this.attempt-1,t.delaysMs.length-1)]},this.getSnapshot=()=>({attempt:this.attempt,startedAt:this.startedAt,lastFailureAt:this.lastFailureAt,lastSuccessAt:this.lastSuccessAt,manualTriggerPending:this.manualTriggerPending,completed:this.completed}),this.resolveStage=e=>this.options.stages.find(t=>t.untilElapsedMs===void 0||e<t.untilElapsedMs)??this.options.stages[this.options.stages.length-1],Bi(e.stages),this.clock=e.clock??(()=>Date.now())}},Hi=3e4,Ui={idleDelayMs:1e3,manualTriggerDelayMs:0,successDelayMs:!1,stages:[{untilElapsedMs:3e4,delaysMs:[500,1e3,2e3,4e3,5e3]},{untilElapsedMs:5*6e4,delaysMs:[1e4,15e3,3e4]},{delaysMs:[6e4]}]};function Wi(e){return e instanceof Error?e.message:String(e??``)}function Gi(e){return e&&(e.ncpAgent.error?.trim()||e.lastError?.trim())||null}function Ki(e){return r(e===`start-service`?`runtimeControlStartingServiceHelp`:e===`restart-service`?`runtimeControlRestartingServiceHelp`:e===`stop-service`?`runtimeControlStoppingServiceHelp`:`runtimeControlRestartingAppHelp`)}var H=new class{constructor(){this.recoveryTimeoutId=null,this.runtimeBootstrapProbeCadence=new Vi(Ui),this.getRuntimeBootstrapPollInterval=e=>{let{lifecyclePhase:t,activeSystemAction:n}=this.getState(),r=t===`recovering`||t===`stalled`||n?.lifecycle===`recovering`;return this.runtimeBootstrapProbeCadence.hasManualTrigger()?this.runtimeBootstrapProbeCadence.getNextDelay({consumeManualTrigger:!0}):!r&&e?.ncpAgent.state===`ready`?!1:this.runtimeBootstrapProbeCadence.getNextDelay({consumeManualTrigger:!0})},this.getRuntimeControl=async()=>this.decorateForCurrentEnvironment(await fc()),this.reportBootstrapStatus=e=>{let t=this.getState(),n=Gi(e);if(e.ncpAgent.state===`ready`){this.transitionToReady(e);return}if(!t.hasReachedReady){if(e.ncpAgent.state===`error`||e.phase===`error`){this.transitionToStartupFailed(n,e);return}this.transitionToColdStarting(e);return}this.transitionToRecovering(n,e)},this.reportBootstrapQueryError=e=>{let t=Wi(e).trim();if(t&&!this.reportTransportFailure(t)){if(this.getState().hasReachedReady){this.transitionToRecovering(t);return}this.transitionToStartupFailed(t)}},this.reportTransportFailure=e=>{let t=Wi(e).trim();return _o(t)?this.getState().hasReachedReady?(this.transitionToRecovering(t),!0):(this.runtimeBootstrapProbeCadence.recordFailure(),this.patchState({lastTransportError:t}),!0):!1},this.handleConnectionInterrupted=e=>{let t=this.getState(),n=e?.trim()||null;if(!t.hasReachedReady){this.runtimeBootstrapProbeCadence.recordFailure(),n&&this.patchState({lastTransportError:n});return}this.transitionToRecovering(n)},this.handleConnectionRestored=()=>{let e=this.getState();e.bootstrapStatus?.ncpAgent.state===`ready`&&this.transitionToReady(e.bootstrapStatus)},this.reportRuntimeControlView=e=>{this.patchState({runtimeControlView:e,runtimeControlError:null})},this.reportRuntimeControlError=e=>{let t=Wi(e).trim();t&&this.patchState({runtimeControlError:t})},this.runRuntimeControlAction=async e=>{this.patchState({activeSystemAction:ki({action:e,message:Ki(e)}),lastSystemActionError:null});try{let t=await this.executeRuntimeControlAction(e);if(e===`restart-app`)return t;if(e===`stop-service`)return await this.refreshRuntimeControlView(),this.clearActiveSystemAction(),t;this.patchState({activeSystemAction:{action:e,lifecycle:`recovering`,serviceState:null,message:r(`runtimeControlRecoveringHelp`)}}),this.runtimeBootstrapProbeCadence.requestManualTrigger();let n=await this.waitForRecovery();return this.syncRuntimeControlQueryCache(n),this.reportRuntimeControlView(n),this.clearActiveSystemAction(),t}catch(t){let n=t instanceof Error?t.message:r(`runtimeControlActionFailed`);throw this.patchState({activeSystemAction:{action:e,lifecycle:`failed`,serviceState:e===`stop-service`?`running`:e===`restart-app`?null:`unknown`,message:n},lastSystemActionError:n}),t}},this.getStatusView=()=>Ti(this.getState()),this.requestRuntimeBootstrapProbeNow=()=>{this.runtimeBootstrapProbeCadence.requestManualTrigger(),It.refetchQueries({queryKey:[`runtime-bootstrap-status`]})},this.resetForTests=()=>{this.clearRecoveryTimeout(),this.runtimeBootstrapProbeCadence.reset(),zi.setState({state:Ri})},this.getState=()=>zi.getState().state,this.patchState=e=>{zi.getState().patchState(e)},this.transitionToColdStarting=e=>{this.runtimeBootstrapProbeCadence.recordFailure(),this.clearRecoveryTimeout(),this.patchState({lifecyclePhase:`cold-starting`,recoveryStartedAt:null,bootstrapStatus:e,lastError:null})},this.transitionToStartupFailed=(e,t)=>{this.runtimeBootstrapProbeCadence.recordFailure(),this.clearRecoveryTimeout(),this.patchState({lifecyclePhase:`startup-failed`,recoveryStartedAt:null,bootstrapStatus:t??this.getState().bootstrapStatus,lastError:e})},this.transitionToRecovering=(e,t)=>{this.runtimeBootstrapProbeCadence.recordFailure();let n=this.getState();if(!n.hasReachedReady){this.patchState({lastTransportError:e?.trim()||n.lastTransportError});return}n.lifecyclePhase!==`recovering`&&n.lifecyclePhase!==`stalled`&&(this.clearRecoveryTimeout(),this.recoveryTimeoutId=window.setTimeout(()=>{this.recoveryTimeoutId=null,this.getState().lifecyclePhase===`recovering`&&this.patchState({lifecyclePhase:`stalled`})},Hi)),this.patchState({lifecyclePhase:n.lifecyclePhase===`stalled`?`stalled`:`recovering`,recoveryStartedAt:n.recoveryStartedAt??Date.now(),bootstrapStatus:t??n.bootstrapStatus,lastError:e?.trim()||n.lastError,lastTransportError:e?.trim()||n.lastTransportError})},this.transitionToReady=e=>{this.runtimeBootstrapProbeCadence.recordSuccess();let t=this.getState(),n=t.lifecyclePhase===`recovering`||t.lifecyclePhase===`stalled`;this.clearRecoveryTimeout(),this.patchState({lifecyclePhase:`ready`,hasReachedReady:!0,lastReadyAt:Date.now(),recoveryStartedAt:null,bootstrapStatus:e,lastError:null,lastTransportError:null}),n&&It.refetchQueries({type:`active`})},this.executeRuntimeControlAction=async e=>{let t=this.getDesktopBridge();if(e===`restart-service`&&t&&typeof t.restartService==`function`){let e=await t.restartService();return{accepted:e.accepted,action:`restart-service`,lifecycle:e.lifecycle,message:e.message}}if(e===`start-service`)return await pc();if(e===`stop-service`)return await mc();if(e===`restart-app`){if(!t||typeof t.restartApp!=`function`)throw Error(r(`runtimeRestartAppUnavailable`));let e=await t.restartApp();return{accepted:e.accepted,action:`restart-app`,lifecycle:e.lifecycle,message:e.message}}return await X()},this.waitForRecovery=async()=>{let e=Date.now()+25e3,t=null;for(;Date.now()<e;)try{return await this.getRuntimeControl()}catch(e){t=e,await new Promise(e=>{window.setTimeout(e,1500)})}throw t instanceof Error?t:Error(r(`runtimeRecoveryTimedOut`))},this.refreshRuntimeControlView=async()=>{try{let e=await this.getRuntimeControl();this.syncRuntimeControlQueryCache(e),this.reportRuntimeControlView(e)}catch(e){this.reportRuntimeControlError(e)}},this.syncRuntimeControlQueryCache=e=>{It.setQueryData([`runtime-control`],e)},this.clearActiveSystemAction=()=>{this.patchState({activeSystemAction:null,lastSystemActionError:null})},this.clearRecoveryTimeout=()=>{this.recoveryTimeoutId!==null&&(window.clearTimeout(this.recoveryTimeoutId),this.recoveryTimeoutId=null)},this.decorateForCurrentEnvironment=e=>{let t=this.getDesktopBridge();return!t||typeof t.restartApp!=`function`?e:{...e,environment:`desktop-embedded`,serviceState:`running`,canStartService:{available:!1,requiresConfirmation:!1,impact:`none`},canStopService:{available:!1,requiresConfirmation:!0,impact:`brief-ui-disconnect`},canRestartApp:{available:!0,requiresConfirmation:!0,impact:`full-app-relaunch`},ownerLabel:r(`runtimeControlEnvironmentDesktop`),managementHint:r(`runtimeControlDesktopServiceHint`)}},this.getDesktopBridge=()=>typeof window>`u`?null:window.nextclawDesktop??null}};function U(){let e=it({queryKey:[`runtime-bootstrap-status`],queryFn:()=>Fo({timeoutMs:5e3}),refetchInterval:e=>H.getRuntimeBootstrapPollInterval(e.state.data),retry:!1}),t=it({queryKey:[`runtime-control`],queryFn:async()=>await H.getRuntimeControl(),staleTime:5e3});(0,P.useEffect)(()=>{e.data&&H.reportBootstrapStatus(e.data)},[e.data]),(0,P.useEffect)(()=>{e.error&&H.reportBootstrapQueryError(e.error)},[e.error]),(0,P.useEffect)(()=>{t.data&&H.reportRuntimeControlView(t.data)},[t.data]),(0,P.useEffect)(()=>{t.error&&H.reportRuntimeControlError(t.error)},[t.error])}function qi(){return Ti(zi(e=>e.state))}function Ji(){return Ai(zi(e=>e.state))}function Yi(){return ji(zi(e=>e.state))}var W=Li(()=>({supported:!1,initialized:!1,busyAction:null,snapshot:null})),Xi=class{constructor(e){this.desktopApi=e,this.kind=`desktop-bridge`,this.subscribe=e=>this.desktopApi.onUpdateStateChanged(e),this.getState=async()=>await this.desktopApi.getUpdateState(),this.checkForUpdates=async()=>await this.desktopApi.checkForUpdates(),this.downloadUpdate=async()=>await this.desktopApi.downloadUpdate(),this.applyDownloadedUpdate=async()=>await this.desktopApi.applyDownloadedUpdate(),this.updateChannel=async e=>await this.desktopApi.updateChannel(e)}},Zi=class{constructor(){this.kind=`runtime-host`,this.getState=async()=>await gc(),this.checkForUpdates=async()=>await _c(),this.downloadUpdate=async()=>await vc(),this.applyDownloadedUpdate=async()=>await yc(),this.updateChannel=async e=>await bc(e)}},Qi=new class{constructor(){this.unsubscribe=null,this.subscriptionCount=0,this.source=null,this.start=async()=>{this.subscriptionCount+=1;let e=this.resolveSource();if(this.source=e,!e){W.setState({supported:!1,initialized:!0,snapshot:null});return}e.kind===`desktop-bridge`&&!this.unsubscribe&&(this.unsubscribe=e.subscribe(e=>{W.setState({supported:!0,initialized:!0,snapshot:e})})),W.setState({supported:!0,initialized:!1});try{let t=await e.getState();W.setState({supported:!0,initialized:!0,snapshot:t})}catch(t){if(e.kind===`runtime-host`&&this.isUnsupportedError(t)){W.setState({supported:!1,initialized:!0,snapshot:null});return}W.setState({supported:!0,initialized:!0}),I.error(`${r(`runtimeUpdatesLoadFailed`)}: ${this.getErrorMessage(t)}`)}},this.stop=()=>{this.subscriptionCount=Math.max(0,this.subscriptionCount-1),!(this.subscriptionCount>0)&&(this.unsubscribe?.(),this.unsubscribe=null,this.source=null)},this.reportSnapshot=e=>{this.source?.kind!==`desktop-bridge`&&W.setState({supported:!0,initialized:!0,snapshot:e})},this.refreshAfterRealtimeReconnect=async()=>{this.source?.kind===`runtime-host`&&await this.refreshSnapshot()},this.checkForUpdates=async()=>{let e;try{e=await this.runSnapshotCommand(`checking`,r(`runtimeUpdatesCheckFailed`),async e=>await e.checkForUpdates())}catch{return}if(e.status===`up-to-date`){I.success(r(`runtimeUpdatesAlreadyLatest`));return}if(e.status===`update-available`){I.success(r(`runtimeUpdatesAvailable`).replace(`{version}`,e.availableVersion??r(`runtimeUpdatesUnknownVersion`)));return}e.status===`downloaded`&&I.success(r(`runtimeUpdatesReadyToApply`))},this.downloadUpdate=async()=>{try{await this.runSnapshotCommand(`downloading`,r(`runtimeUpdatesDownloadFailed`),async e=>await e.downloadUpdate())}catch{return}},this.applyDownloadedUpdate=async()=>{try{await this.runSnapshotCommand(`applying`,r(`runtimeUpdatesApplyFailed`),async e=>await e.applyDownloadedUpdate())}catch{return}},this.updateNow=async()=>{let e=W.getState().snapshot;if(!(e?.status!==`update-available`&&e?.status!==`downloaded`))try{await this.runSnapshotCommand(`updating`,r(`runtimeUpdatesUpdateFailed`),async t=>{let n=e.status===`downloaded`?e:await t.downloadUpdate();return W.setState({snapshot:n}),n.status===`downloaded`?await t.applyDownloadedUpdate():n})}catch{return}},this.updateChannel=async e=>{if(W.getState().snapshot?.channel===e)return;let t;try{t=await this.runSnapshotCommand(`switching-channel`,r(`runtimeUpdatesChannelChangeFailed`),async t=>await t.updateChannel(e))}catch{return}if(t.status===`update-available`&&t.availableVersion){I.success(r(`runtimeUpdatesChannelChangedWithUpdate`).replace(`{channel}`,this.getChannelLabel(e)).replace(`{version}`,t.availableVersion));return}I.success(r(`runtimeUpdatesChannelChanged`).replace(`{channel}`,this.getChannelLabel(e)))},this.refreshSnapshot=async()=>{if(!(!this.source||this.source.kind!==`runtime-host`))try{let e=await this.source.getState();W.setState({supported:!0,initialized:!0,snapshot:e})}catch{}},this.runSnapshotCommand=async(e,t,n)=>{let i=this.source??this.resolveSource();if(!i)throw Error(r(`runtimeUpdatesUnavailableDescription`));this.source=i,W.setState({busyAction:e});try{let e=await n(i);return W.setState({snapshot:e}),e}catch(e){throw I.error(`${t}: ${this.getErrorMessage(e)}`),e}finally{W.setState({busyAction:null})}},this.resolveSource=()=>{let e=this.getDesktopApi();return e?new Xi(e):new Zi},this.getDesktopApi=()=>typeof window>`u`?null:window.nextclawDesktop??null,this.isUnsupportedError=e=>{let t=this.getErrorMessage(e).toLowerCase();return t.includes(`404`)||t.includes(`not found`)||t.includes(`endpoint not found`)},this.getErrorMessage=e=>e instanceof Error?e.message:r(`error`),this.getChannelLabel=e=>r(e===`beta`?`desktopUpdatesChannelBeta`:`desktopUpdatesChannelStable`)}},$i=`https://docs.nextclaw.io/`;function ea(e,t){let n=t===`zh-CN`?`en-US`:`zh-CN`;return e?.[t]?.trim()||e?.[n]?.trim()||null}function ta(e){let t=e.releaseNotesUrl?.trim(),n=(e.availableVersion??e.downloadedVersion)?.trim();return t?na(n,t):null}function na(e,t=$i){let n=e?.trim();if(!n||!/^[0-9A-Za-z.-]+$/.test(n))return null;try{return new URL(`/release-notes/nextclaw-v${n}.json`,t).toString()}catch{return null}}function ra(e,t){return ea(e?.links?.html,t)}function ia(e){let t=e.releaseNotesUrl?.trim(),n=(e.downloadedVersion??e.availableVersion)?.trim();return!t||!n?null:{url:t,versionLabel:`v${n}`}}function aa(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function oa(e){return aa(e)?typeof e[`zh-CN`]==`string`||typeof e[`en-US`]==`string`:!1}function sa(e){return!aa(e)||!oa(e.title)?!1:e.body===void 0||oa(e.body)}function ca(e){return aa(e)&&typeof e.kind==`string`&&Array.isArray(e.items)&&e.items.every(sa)&&(e.title===void 0||oa(e.title))}function la(e){return aa(e)&&(e.html===void 0||oa(e.html))}function ua(e){return aa(e)&&Array.isArray(e.sections)&&e.sections.every(ca)&&(e.title===void 0||oa(e.title))&&(e.summary===void 0||oa(e.summary))&&(e.links===void 0||la(e.links))}async function da(e){let t=await fetch(e,{cache:`no-store`,headers:{accept:`application/json`}});if(!t.ok)throw Error(`Release notes request failed with HTTP ${t.status}.`);let n=await t.json();if(!ua(n))throw Error(`Release notes payload has an unsupported shape.`);return n}function fa(){return n()===`zh`?`zh-CN`:`en-US`}function pa(e){let t=na(e),n=fa(),r=ra(it({queryKey:[`current-release-notes`,t],queryFn:async()=>await da(t??``),enabled:!!t,retry:!1,staleTime:300*1e3}).data,n),i=e?.trim();return r&&i?{url:r,versionLabel:`v${i}`}:null}function ma({children:e,fullHeight:t=!1,className:n}){return(0,F.jsx)(`div`,{className:Cr(`animate-fade-in`,t?`h-[calc(100vh-80px)] w-full flex flex-col`:`pb-16`,n),children:e})}function ha({title:e,description:t,actions:n,headingLevel:r=2,mobileTitleInShell:i=!1,className:a}){let o=r===1?`h1`:`h2`;return(0,F.jsxs)(`header`,{"data-theme-surface":`header`,className:Cr(`flex shrink-0 flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,a),children:[(0,F.jsxs)(`div`,{className:Cr(`min-w-0`,i&&!t&&`hidden md:block`),children:[(0,F.jsx)(o,{className:Cr(`text-xl font-semibold tracking-tight text-foreground`,i&&`hidden md:block`),children:e}),t&&(0,F.jsx)(`p`,{className:`mt-1 max-w-2xl text-sm leading-6 text-muted-foreground`,children:t})]}),n&&(0,F.jsx)(`div`,{className:`flex items-center gap-2 shrink-0`,children:n})]})}function ga({actions:e,children:t,className:n,description:r,layout:i=`standard`,title:a}){return(0,F.jsxs)(ma,{className:Cr(`w-full space-y-6`,i===`split`&&`pb-0 md:flex md:h-full md:min-h-0 md:flex-col`,n),children:[(0,F.jsx)(ha,{title:a,description:r,actions:e,mobileTitleInShell:!0}),t]})}var _a=Er(`inline-flex items-center justify-center whitespace-nowrap rounded-full text-sm font-medium ring-offset-background transition-colors duration-fast focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border disabled:pointer-events-none disabled:opacity-50`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-[hsl(var(--primary-hover))] active:bg-[hsl(var(--primary-active))] shadow-sm`,destructive:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,outline:`border border-border bg-card text-muted-foreground hover:bg-[var(--interaction-hover)] hover:text-accent-foreground`,secondary:`bg-muted text-foreground hover:bg-[var(--interaction-hover)] hover:text-accent-foreground`,ghost:`text-muted-foreground hover:bg-[var(--interaction-hover)] hover:text-accent-foreground`,link:`text-primary underline-offset-4 hover:underline`,primary:`bg-primary text-primary-foreground hover:bg-[hsl(var(--primary-hover))] active:bg-[hsl(var(--primary-active))] shadow-sm`,subtle:`bg-muted text-muted-foreground hover:bg-[var(--interaction-hover)] hover:text-accent-foreground`,"primary-outline":`border border-primary/30 text-primary hover:bg-primary hover:text-primary-foreground`},size:{default:`h-9 px-4 py-2`,sm:`h-8 px-3 text-xs`,lg:`h-11 px-5 text-[14px]`,xl:`h-12 px-6 text-[15px]`,icon:`h-9 w-9`}},defaultVariants:{variant:`default`,size:`default`}}),va=P.forwardRef(({className:e,variant:t,size:n,...r},i)=>(0,F.jsx)(`button`,{className:Cr(_a({variant:t,size:n,className:e}),n!==`icon`&&`max-md:min-h-[var(--control-touch-size)]`),ref:i,...r}));va.displayName=`Button`;var ya=Er(`grid min-h-16 grid-cols-1 gap-3 px-4 py-3.5 sm:grid-cols-[minmax(0,1fr)_auto] sm:items-center sm:gap-6`,{variants:{tone:{default:``,muted:`bg-muted/55`},layout:{responsive:``,stacked:`sm:grid-cols-1 sm:items-start sm:gap-3`}},defaultVariants:{tone:`default`,layout:`responsive`}}),ba=P.forwardRef(({actions:e,children:t,className:n,description:r,title:i,...a},o)=>(0,F.jsxs)(`section`,{ref:o,className:Cr(`space-y-2.5`,n),...a,children:[i||r||e?(0,F.jsxs)(`div`,{className:`flex items-end justify-between gap-4 px-1`,children:[(0,F.jsxs)(`div`,{className:`min-w-0`,children:[i?(0,F.jsx)(`h3`,{className:`text-sm font-semibold text-foreground`,children:i}):null,r?(0,F.jsx)(`p`,{className:`mt-0.5 text-xs leading-5 text-muted-foreground`,children:r}):null]}),e?(0,F.jsx)(`div`,{className:`shrink-0`,children:e}):null]}):null,t]}));ba.displayName=`SettingsSection`;var xa=P.forwardRef(({className:e,...t},n)=>(0,F.jsx)(`div`,{ref:n,className:Cr(`divide-y divide-border/55 overflow-hidden rounded-2xl bg-muted/45 text-foreground`,e),...t}));xa.displayName=`SettingsGroup`;var Sa=P.forwardRef(({className:e,layout:t,tone:n,title:r,description:i,control:a,children:o,...s},c)=>(0,F.jsxs)(`div`,{ref:c,className:Cr(ya({layout:t,tone:n}),e),...s,children:[(0,F.jsxs)(`div`,{className:`min-w-0`,children:[(0,F.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:r}),i?(0,F.jsx)(`p`,{className:`mt-0.5 text-xs leading-5 text-muted-foreground`,children:i}):null,o?(0,F.jsx)(`div`,{className:`mt-3`,children:o}):null]}),a?(0,F.jsx)(`div`,{className:`min-w-0 sm:shrink-0`,children:a}):null]}));Sa.displayName=`SettingRow`;var G=P.forwardRef(({className:e,density:t=`default`,type:n,...r},i)=>(0,F.jsx)(`input`,{type:n,className:Cr(`flex h-9 w-full rounded-xl border border-border/75 bg-card px-3.5 py-2 text-sm text-foreground file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground/55 placeholder:font-normal transition-colors focus:outline-none focus:ring-0 disabled:cursor-not-allowed disabled:opacity-50`,t===`default`?`max-md:min-h-[var(--control-touch-size)] max-md:text-base`:`text-[13px] max-md:min-h-0 max-md:text-[13px]`,e),ref:i,...r}));G.displayName=`Input`;var K=P.forwardRef(({className:e,...t},n)=>(0,F.jsx)(`label`,{ref:n,className:Cr(`text-sm font-medium leading-none text-foreground peer-disabled:cursor-not-allowed peer-disabled:opacity-70`,e),...t}));K.displayName=`Label`;var Ca=P.forwardRef(({className:e,checked:t=!1,onCheckedChange:n,thumbClassName:r,...i},a)=>(0,F.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":t,"data-state":t?`checked`:`unchecked`,ref:a,className:Cr(`switch-track peer inline-flex h-[22px] w-10 shrink-0 cursor-pointer items-center rounded-full border-2 transition-colors duration-fast focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border disabled:cursor-not-allowed disabled:opacity-50`,t?`border-primary/70 bg-primary`:`border-border/60 bg-muted hover:bg-[var(--interaction-hover)]`,e),onClick:()=>n?.(!t),...i,children:(0,F.jsx)(`span`,{"data-state":t?`checked`:`unchecked`,className:Cr(`switch-thumb pointer-events-none block h-5 w-5 rounded-full bg-card shadow-md ring-1 ring-border/50 transition-transform duration-fast`,t?`translate-x-5`:`translate-x-0`,r)})}));Ca.displayName=`Switch`;var wa={maxRetries:8,startupTimeoutMs:2e3,settledTimeoutMs:5e3,retryBaseDelayMs:500,retryMaxDelayMs:3e3};function Ta(e){return e instanceof Error&&_o(e.message)}function Ea(e,t){return e<wa.maxRetries&&Ta(t)}function Da(e){return Math.min(wa.retryMaxDelayMs,wa.retryBaseDelayMs*2**Math.max(0,e-1))}function Oa(){let e=(0,P.useRef)(!1);return it({queryKey:[`auth-status`],queryFn:async()=>{let t=await Oo({timeoutMs:e.current?wa.settledTimeoutMs:wa.startupTimeoutMs});return e.current=!0,t},staleTime:5e3,retry:Ea,retryDelay:Da})}function ka(e){return Promise.all([e.invalidateQueries({queryKey:[`auth-status`]}),e.invalidateQueries({queryKey:[`app-meta`]}),e.invalidateQueries({queryKey:[`config`]}),e.invalidateQueries({queryKey:[`config-meta`]}),e.invalidateQueries({queryKey:[`config-schema`]}),e.invalidateQueries({queryKey:[`sessions`]}),e.invalidateQueries({queryKey:[`session-history`]}),e.invalidateQueries({queryKey:[`chat-runs`]}),e.invalidateQueries({queryKey:[`cron-jobs`]})])}function Aa(){let e=Ue();return at({mutationFn:ko,onSuccess:async()=>{await ka(e),I.success(r(`authSetupSuccess`))},onError:e=>{I.error(`${r(`authActionFailed`)}: ${e.message}`)}})}function ja(){let e=Ue();return at({mutationFn:Ao,onSuccess:async()=>{await ka(e),I.success(r(`authLoginSuccess`))},onError:e=>{I.error(`${r(`authActionFailed`)}: ${e.message}`)}})}function Ma(){let e=Ue();return at({mutationFn:jo,onSuccess:async()=>{await ka(e),I.success(r(`authLogoutSuccess`))},onError:e=>{I.error(`${r(`authActionFailed`)}: ${e.message}`)}})}function Na(){let e=Ue();return at({mutationFn:Mo,onSuccess:async()=>{await ka(e),I.success(r(`authPasswordUpdated`))},onError:e=>{I.error(`${r(`authActionFailed`)}: ${e.message}`)}})}function Pa(){let e=Ue();return at({mutationFn:No,onSuccess:async(t,n)=>{await ka(e),I.success(n.enabled?r(`authEnabledSuccess`):r(`authDisabledSuccess`))},onError:e=>{I.error(`${r(`authActionFailed`)}: ${e.message}`)}})}var Fa=8;function Ia(e){return e.trim().length>=Fa}function La(e,t){return e===t?!0:(I.error(r(`authPasswordMismatch`)),!1)}function Ra({children:e,contentClassName:t=`space-y-6`}){return(0,F.jsx)(xa,{children:(0,F.jsx)(`div`,{className:`${t} p-4`,children:e})})}function za({canSubmitSetup:e,isPending:t,onSubmit:n,setSetupConfirmPassword:i,setSetupPassword:a,setSetupUsername:o,setupConfirmPassword:s,setupPassword:c,setupUsername:l}){return(0,F.jsxs)(Ra,{contentClassName:`space-y-5`,children:[(0,F.jsxs)(`div`,{className:`rounded-xl bg-background/65 p-4`,children:[(0,F.jsx)(`p`,{className:`text-sm font-medium text-foreground`,children:r(`authSetupTitle`)}),(0,F.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:r(`authSetupDescription`)})]}),(0,F.jsxs)(`div`,{className:`grid gap-4 md:grid-cols-2`,children:[(0,F.jsxs)(`div`,{className:`space-y-2`,children:[(0,F.jsx)(K,{htmlFor:`auth-setup-username`,children:r(`authUsername`)}),(0,F.jsx)(G,{id:`auth-setup-username`,value:l,onChange:e=>o(e.target.value),placeholder:r(`authUsernamePlaceholder`)})]}),(0,F.jsxs)(`div`,{className:`space-y-2`,children:[(0,F.jsx)(K,{htmlFor:`auth-setup-password`,children:r(`authPassword`)}),(0,F.jsx)(G,{id:`auth-setup-password`,type:`password`,value:c,onChange:e=>a(e.target.value),placeholder:r(`authPasswordPlaceholder`)})]})]}),(0,F.jsxs)(`div`,{className:`space-y-2`,children:[(0,F.jsx)(K,{htmlFor:`auth-setup-confirm`,children:r(`authConfirmPassword`)}),(0,F.jsx)(G,{id:`auth-setup-confirm`,type:`password`,value:s,onChange:e=>i(e.target.value),placeholder:r(`authConfirmPasswordPlaceholder`)}),(0,F.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:r(`authPasswordMinLengthHint`)})]}),(0,F.jsx)(va,{type:`button`,disabled:!e,onClick:()=>void n(),children:r(t?`authSettingUp`:`authSetupAction`)})]})}function Ba({authenticated:e,canUpdatePassword:t,enabled:n,isLoggingOut:i,isUpdatingEnabled:a,isUpdatingPassword:o,nextConfirmPassword:s,nextPassword:c,onEnabledChange:l,onLogout:u,onPasswordUpdate:d,setNextConfirmPassword:f,setNextPassword:p,username:m}){return(0,F.jsxs)(Ra,{children:[(0,F.jsxs)(`div`,{className:`rounded-xl bg-background/65 p-4`,children:[(0,F.jsxs)(`div`,{className:`flex flex-col gap-4 md:flex-row md:items-start md:justify-between`,children:[(0,F.jsxs)(`div`,{className:`space-y-1`,children:[(0,F.jsx)(`p`,{className:`text-sm font-medium text-foreground`,children:r(`authStatusLabel`)}),(0,F.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:r(`authStatusConfiguredUser`).replace(`{username}`,m??``)}),(0,F.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:r(`authUsernameFixedHelp`)})]}),(0,F.jsx)(`span`,{className:`inline-flex items-center rounded-full bg-muted px-3 py-1 text-xs font-medium text-foreground`,children:r(n?`enabled`:`disabled`)})]}),(0,F.jsxs)(`div`,{className:`mt-4 flex flex-col gap-4 border-t border-border/55 pt-4 md:flex-row md:items-center md:justify-between`,children:[(0,F.jsxs)(`div`,{className:`space-y-1`,children:[(0,F.jsx)(`p`,{className:`text-sm font-medium text-foreground`,children:r(`authEnableLabel`)}),(0,F.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:r(n?`authEnableOnHelp`:`authEnableOffHelp`)})]}),(0,F.jsx)(Ca,{checked:n,disabled:a,onCheckedChange:e=>{l(e)}})]})]}),(0,F.jsxs)(`div`,{className:`space-y-4 rounded-xl bg-background/65 p-4`,children:[(0,F.jsxs)(`div`,{className:`space-y-1`,children:[(0,F.jsx)(`p`,{className:`text-sm font-medium text-foreground`,children:r(`authPasswordSectionTitle`)}),(0,F.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:r(`authPasswordSectionDescription`)})]}),(0,F.jsxs)(`div`,{className:`grid gap-4 md:grid-cols-2`,children:[(0,F.jsxs)(`div`,{className:`space-y-2`,children:[(0,F.jsx)(K,{htmlFor:`auth-password-next`,children:r(`authPassword`)}),(0,F.jsx)(G,{id:`auth-password-next`,type:`password`,value:c,onChange:e=>p(e.target.value),placeholder:r(`authPasswordPlaceholder`)})]}),(0,F.jsxs)(`div`,{className:`space-y-2`,children:[(0,F.jsx)(K,{htmlFor:`auth-password-confirm`,children:r(`authConfirmPassword`)}),(0,F.jsx)(G,{id:`auth-password-confirm`,type:`password`,value:s,onChange:e=>f(e.target.value),placeholder:r(`authConfirmPasswordPlaceholder`)})]})]}),(0,F.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,F.jsx)(va,{type:`button`,disabled:!t,onClick:()=>void d(),children:r(o?`authPasswordUpdating`:`authPasswordAction`)}),n&&e?(0,F.jsx)(va,{type:`button`,variant:`outline`,disabled:i,onClick:()=>void u(),children:r(i?`authLoggingOut`:`authLogoutAction`)}):null]}),(0,F.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:r(`authSessionMemoryNotice`)})]})]})}function Va(){let e=Oa(),t=Aa(),n=Pa(),i=Na(),a=Ma(),[o,s]=(0,P.useState)(``),[c,l]=(0,P.useState)(``),[u,d]=(0,P.useState)(``),[f,p]=(0,P.useState)(``),[m,h]=(0,P.useState)(``),g=e.data,_=o.trim().length>0&&Ia(c)&&c===u&&!t.isPending,v=Ia(f)&&f===m&&!i.isPending;return e.isLoading&&!g?(0,F.jsx)(Ra,{contentClassName:`text-sm text-gray-500`,children:r(`loading`)}):e.isError||!g?(0,F.jsxs)(Ra,{contentClassName:`space-y-4`,children:[(0,F.jsx)(`p`,{className:`text-sm text-gray-500`,children:r(`authStatusLoadFailed`)}),(0,F.jsx)(va,{variant:`outline`,onClick:()=>void e.refetch(),children:r(`authRetryStatus`)})]}):g.configured?(0,F.jsx)(Ba,{authenticated:g.authenticated,enabled:g.enabled,username:g.username,nextPassword:f,setNextPassword:p,nextConfirmPassword:m,setNextConfirmPassword:h,canUpdatePassword:v,isUpdatingEnabled:n.isPending,isUpdatingPassword:i.isPending,isLoggingOut:a.isPending,onEnabledChange:async e=>{try{await n.mutateAsync({enabled:e})}catch{}},onPasswordUpdate:async()=>{if(La(f,m))try{await i.mutateAsync({password:f}),p(``),h(``)}catch{}},onLogout:async()=>{try{await a.mutateAsync()}catch{}}}):(0,F.jsx)(za,{setupUsername:o,setSetupUsername:s,setupPassword:c,setSetupPassword:l,setupConfirmPassword:u,setSetupConfirmPassword:d,canSubmitSetup:_,isPending:t.isPending,onSubmit:async()=>{if(La(c,u))try{await t.mutateAsync({username:o.trim(),password:c}),l(``),d(``)}catch{}}})}function Ha(){return(0,F.jsx)(ga,{title:r(`authSecurityTitle`),description:r(`authSecurityDescription`),children:(0,F.jsx)(Va,{})})}var Ua=250,Wa=class{constructor(e){this.requestRecovery=e,this.started=!1,this.recoveryCooldownId=null,this.start=()=>{this.started||(this.started=!0,document.addEventListener(`visibilitychange`,this.handleVisibilityChange),window.addEventListener(`online`,this.handleOnline),window.addEventListener(`pageshow`,this.handlePageShow),window.addEventListener(`focus`,this.handleForegroundSignal))},this.stop=()=>{this.started&&(this.started=!1,document.removeEventListener(`visibilitychange`,this.handleVisibilityChange),window.removeEventListener(`online`,this.handleOnline),window.removeEventListener(`pageshow`,this.handlePageShow),window.removeEventListener(`focus`,this.handleForegroundSignal),this.recoveryCooldownId!==null&&(window.clearTimeout(this.recoveryCooldownId),this.recoveryCooldownId=null))},this.handleVisibilityChange=()=>{this.requestRecoveryIfVisible()},this.handleOnline=()=>{this.requestRecoveryIfVisible()},this.handleForegroundSignal=()=>{this.requestRecoveryIfVisible()},this.handlePageShow=e=>{e.persisted&&this.requestRecoveryIfVisible()},this.requestRecoveryIfVisible=()=>{document.visibilityState!==`visible`||this.recoveryCooldownId!==null||(this.requestRecovery(),this.recoveryCooldownId=window.setTimeout(()=>{this.recoveryCooldownId=null},Ua))}}};function Ga(e){return e.replace(/\s+/g,` `).trim().slice(0,200)}function Ka(e,t){if(t===404&&e.startsWith(`/api/providers/`)&&e.endsWith(`/test`))return`Provider test endpoint is missing. This usually means nextclaw runtime version is outdated.`;if(t===401||t===403)return`Authentication failed. Check apiKey and custom headers.`;if(t===429)return`Rate limited by upstream provider. Retry later or switch model/provider.`;if(t>=500)return`Upstream service error. Retry later and inspect server logs if it persists.`}function qa(e){if(e instanceof Error){let t=e.name?.trim()||`Error`,n=e.message?.trim()||`Unknown error`;return{summary:`${t}: ${n}`,details:{errorName:t,errorMessage:n,...e.stack?.trim()?{errorStack:e.stack.trim()}:{}}}}return{summary:String(e??`Unknown error`),details:{errorName:`NonError`,errorMessage:String(e??`Unknown error`)}}}async function Ja(e,t,n={}){let r=`${e}${t}`,i=(n.method||`GET`).toUpperCase(),a;try{let e=new Headers(n.headers);!(n.body instanceof FormData)&&!e.has(`Content-Type`)&&e.set(`Content-Type`,`application/json`),a=await fetch(r,{credentials:`include`,headers:e,...n})}catch(e){let n=qa(e);return H.reportTransportFailure(n.summary),{ok:!1,error:{code:`NETWORK_ERROR`,message:`Fetch failed on ${i} ${t} | ${n.summary}`,details:{method:i,endpoint:t,url:r,...n.details}}}}let o=await a.text(),s=null;if(o)try{s=JSON.parse(o)}catch{}if(!s){let e=o?Ga(o):``,n=Ka(t,a.status),s=[`Non-JSON response (${a.status} ${a.statusText}) on ${i} ${t}`];return e&&s.push(`body=${e}`),n&&s.push(`hint=${n}`),{ok:!1,error:{code:`INVALID_RESPONSE`,message:s.join(` | `),details:{status:a.status,statusText:a.statusText,method:i,endpoint:t,url:r,bodySnippet:e||void 0,hint:n}}}}return a.ok,s}function Ya(e){let t=e.split(`
|
|
14
|
+
`),r=n.pop()??``;for(let e of n){let n=Mr(e);if(n?.event!==`ncp-event`)continue;let r=Nr(n.data);r&&t(r)}return r}},Fr=class{constructor(e,t){this.requestService=e,this.baseUrl=t}list=async()=>(await this.requestService.get(`/api/agents`)).agents;create=async e=>await this.requestService.post(`/api/agents`,e);update=async(e,t)=>await this.requestService.put(`/api/agents/${encodeURIComponent(e)}`,t);delete=async e=>await this.requestService.delete(`/api/agents/${encodeURIComponent(e)}`);resolveAvatarUrl=e=>Or(this.baseUrl,`/api/agents/${encodeURIComponent(e)}/avatar`)},Ir=class{constructor(e){this.requestService=e}fetchMeta=async()=>await this.requestService.get(`/api/app/meta`);fetchBootstrapStatus=async(e={})=>await this.requestService.get(`/api/runtime/bootstrap-status`,e)},Lr=class{constructor(e){this.requestService=e}list=async(e={})=>await this.requestService.get(e.includeStorageUsage===!1?`/api/app-packages?includeStorageUsage=false`:`/api/app-packages`);get=async e=>await this.requestService.get(`/api/app-packages/${encodeURIComponent(e)}`);inspectDocumentAccess=async e=>await this.requestService.get(`/api/app-packages/${encodeURIComponent(e)}/document-access`);grantDocumentAccess=async(e,t)=>await this.requestService.post(`/api/app-packages/${encodeURIComponent(e)}/document-access/grant`,t);revokeDocumentAccess=async(e,t)=>await this.requestService.post(`/api/app-packages/${encodeURIComponent(e)}/document-access/revoke`,{scopeId:t});listOperations=async()=>await this.requestService.get(`/api/app-package-operations`);startInstall=async e=>await this.requestService.post(`/api/app-package-operations/install`,e);startUpdate=async(e,t={})=>await this.requestService.post(`/api/app-package-operations/${encodeURIComponent(e)}/update`,t);startRollback=async(e,t)=>await this.requestService.post(`/api/app-package-operations/${encodeURIComponent(e)}/rollback`,{version:t});startUninstall=async(e,t=!1)=>await this.requestService.post(`/api/app-package-operations/${encodeURIComponent(e)}/uninstall`,{purgeData:t});install=async e=>await this.requestService.post(`/api/app-packages/install`,e);enable=async e=>await this.requestService.post(`/api/app-packages/${encodeURIComponent(e)}/enable`);disable=async e=>await this.requestService.post(`/api/app-packages/${encodeURIComponent(e)}/disable`);update=async(e,t={})=>await this.requestService.post(`/api/app-packages/${encodeURIComponent(e)}/update`,t);rollback=async(e,t)=>await this.requestService.post(`/api/app-packages/${encodeURIComponent(e)}/rollback`,{version:t});uninstall=async(e,t=!1)=>await this.requestService.request(`/api/app-packages/${encodeURIComponent(e)}`,{method:`DELETE`,body:{purgeData:t}})},Rr=class{constructor(e){this.requestService=e}list=async()=>await this.requestService.get(`/api/app-data`);deleteRetained=async(e,t)=>await this.requestService.request(`/api/app-data/${encodeURIComponent(e)}`,{method:`DELETE`,body:{confirmAppId:t}})},zr=class{constructor(e){this.requestService=e}fetchStatus=async(e={})=>await this.requestService.get(`/api/auth/status`,{...e.timeoutMs===void 0?{}:{timeoutMs:e.timeoutMs}});setup=async e=>await this.requestService.post(`/api/auth/setup`,e);login=async e=>await this.requestService.post(`/api/auth/login`,e);logout=async()=>await this.requestService.post(`/api/auth/logout`,{});updatePassword=async e=>await this.requestService.put(`/api/auth/password`,e);updateEnabled=async e=>await this.requestService.put(`/api/auth/enabled`,e)},Br=class{constructor(e){this.requestService=e}start=async(e,t={})=>await this.requestService.post(`/api/config/channels/${encodeURIComponent(e)}/auth/start`,t);poll=async(e,t)=>await this.requestService.post(`/api/config/channels/${encodeURIComponent(e)}/auth/poll`,t);connect=async(e,t)=>await this.requestService.post(`/api/config/channels/${encodeURIComponent(e)}/auth/connect`,t)},Vr=class{constructor(e){this.requestService=e}listDesktopGrants=async()=>await this.requestService.get(`/api/capability-grants?resourceType=desktop.application`);grantDesktopAccess=async e=>await this.requestService.post(`/api/capability-grants`,e);revokeDesktopAccess=async e=>await this.requestService.request(`/api/capability-grants`,{method:`DELETE`,body:{subject:e.subject,resourceType:e.resource.type,target:e.resource.target,access:e.access}});getDesktopStatus=async()=>await this.requestService.get(`/api/desktop-host/status`);requestDesktopPermissions=async()=>await this.requestService.post(`/api/desktop-host/permissions/request`,{});openDesktopPermissionSettings=async()=>await this.requestService.post(`/api/desktop-host/permissions/open-settings`,{})},Hr=class{constructor(e){this.requestService=e}get=async()=>await this.requestService.get(`/api/feature-controls`)},Ur=class{constructor(e){this.requestService=e}fetch=async()=>await this.requestService.get(`/api/config`);fetchMeta=async()=>await this.requestService.get(`/api/config/meta`);fetchSchema=async()=>await this.requestService.get(`/api/config/schema`);updateModel=async e=>await this.requestService.put(`/api/config/model`,e);updateSearch=async e=>await this.requestService.put(`/api/config/search`,e);updateChannel=async(e,t)=>await this.requestService.put(`/api/config/channels/${encodeURIComponent(e)}`,t);updateRuntime=async e=>await this.requestService.put(`/api/config/runtime`,e);updateSecrets=async e=>await this.requestService.put(`/api/config/secrets`,e);updateProductAnalytics=async e=>await this.requestService.put(`/api/config/product-analytics`,e);fetchProductAnalyticsStatus=async()=>await this.requestService.get(`/api/config/product-analytics/status`);executeAction=async(e,t={})=>await this.requestService.post(`/api/config/actions/${encodeURIComponent(e)}/execute`,t);fetchChatSessionTypes=async()=>await this.requestService.get(`/api/ncp/session-types`);fetchCronJobs=async(e={})=>await this.requestService.get(`/api/cron`,{query:{all:e.all?`1`:void 0,limit:e.limit,offset:e.offset,query:e.query,status:e.status}});deleteCronJob=async e=>await this.requestService.delete(`/api/cron/${encodeURIComponent(e)}`);setCronJobEnabled=async(e,t)=>await this.requestService.put(`/api/cron/${encodeURIComponent(e)}/enable`,t);runCronJob=async(e,t={})=>await this.requestService.post(`/api/cron/${encodeURIComponent(e)}/run`,t)},Wr=class{constructor(e){this.requestService=e}fetchItems=async e=>await this.requestService.get(`${Gr(e.type)}/items`,{query:Kr(e)});fetchItem=async(e,t)=>await this.requestService.get(`${Gr(t)}/items/${encodeURIComponent(e)}`);fetchSkillContent=async e=>await this.requestService.get(`/api/marketplace/skills/items/${encodeURIComponent(e)}/content`);fetchRecommendations=async(e,t={})=>await this.requestService.get(`${Gr(e)}/recommendations`,{query:{...t.scene?.trim()?{scene:t.scene.trim()}:{},...typeof t.limit==`number`&&Number.isFinite(t.limit)?{limit:Math.max(1,Math.trunc(t.limit))}:{}}});fetchSkillScenes=async()=>await this.requestService.get(`/api/marketplace/skills/scenes`);install=async e=>await this.requestService.post(`${Gr(qr(e.type))}/install`,e);fetchInstalled=async e=>await this.requestService.get(`${Gr(e)}/installed`);manage=async e=>await this.requestService.post(`${Gr(qr(e.type))}/manage`,e)};function Gr(e){return e===`skill`?`/api/marketplace/skills`:`/api/marketplace/mcp`}function Kr(e){let{page:t,pageSize:n,q:r,scene:i,sort:a,tag:o}=e,s={};return r?.trim()&&(s.q=r.trim()),o?.trim()&&(s.tag=o.trim()),i?.trim()&&(s.scene=i.trim()),a&&(s.sort=a),typeof t==`number`&&Number.isFinite(t)&&(s.page=Math.max(1,Math.trunc(t))),typeof n==`number`&&Number.isFinite(n)&&(s.pageSize=Math.max(1,Math.trunc(n))),Object.keys(s).length>0?s:void 0}function qr(e){if(!e)throw Error(`Marketplace request type is required.`);return e}var Jr=class{constructor(e){this.requestService=e}list=async()=>await this.requestService.get(`/api/inbox/deliveries`);get=async e=>await this.requestService.get(this.deliveryPath(e));updateState=async(e,t)=>await this.requestService.request(this.deliveryPath(e),{method:`PATCH`,body:{action:t}});delete=async e=>(await this.requestService.delete(this.deliveryPath(e))).deleted;deliveryPath=e=>`/api/inbox/deliveries/${encodeURIComponent(e)}`},Yr=class{constructor(e){this.requestService=e}fetchItems=async(e={})=>await this.requestService.get(`/api/marketplace/mcp/items`,{query:Xr(e)});fetchInstalled=async()=>await this.requestService.get(`/api/marketplace/mcp/installed`);fetchItem=async e=>await this.requestService.get(`/api/marketplace/mcp/items/${encodeURIComponent(e)}`);fetchContent=async e=>await this.requestService.get(`/api/marketplace/mcp/items/${encodeURIComponent(e)}/content`);fetchRecommendations=async(e={})=>await this.requestService.get(`/api/marketplace/mcp/recommendations`,{query:{...e.scene?.trim()?{scene:e.scene.trim()}:{},...typeof e.limit==`number`&&Number.isFinite(e.limit)?{limit:Math.max(1,Math.trunc(e.limit))}:{}}});install=async e=>await this.requestService.post(`/api/marketplace/mcp/install`,e);manage=async e=>await this.requestService.post(`/api/marketplace/mcp/manage`,e);doctor=async e=>await this.requestService.post(`/api/marketplace/mcp/doctor`,{name:e})};function Xr(e){let{page:t,pageSize:n,q:r,sort:i,tag:a}=e,o={};return r?.trim()&&(o.q=r.trim()),a?.trim()&&(o.tag=a.trim()),i&&(o.sort=i),typeof t==`number`&&Number.isFinite(t)&&(o.page=Math.max(1,Math.trunc(t))),typeof n==`number`&&Number.isFinite(n)&&(o.pageSize=Math.max(1,Math.trunc(n))),Object.keys(o).length>0?o:void 0}var Zr=class{constructor(e){this.requestService=e}testConnection=async e=>await this.requestService.post(`/api/mcp/servers/test`,e);createConnection=async e=>await this.requestService.post(`/api/mcp/servers`,e)},Qr=`x-nextclaw-panel-bridge-session`;function $r(e){return e?{[Qr]:e}:void 0}var ei=class{constructor(e){this.requestService=e}listPanelApps=async()=>await this.requestService.get(`/api/panel-apps`);getPanelApp=async e=>await this.requestService.get(`/api/panel-apps/${encodeURIComponent(e)}`);updatePanelAppPreferences=async(e,t)=>await this.requestService.request(`/api/panel-apps/${encodeURIComponent(e)}/preferences`,{method:`PATCH`,body:t});recordPanelAppOpened=async e=>await this.requestService.post(`/api/panel-apps/${encodeURIComponent(e)}/open`);deletePanelApp=async e=>await this.requestService.delete(`/api/panel-apps/${encodeURIComponent(e)}`);createBridgeSession=async e=>await this.requestService.post(`/api/panel-app-bridge-sessions`,e);deleteBridgeSession=async e=>await this.requestService.delete(`/api/panel-app-bridge-sessions/${encodeURIComponent(e)}`);grantClient=async e=>await this.requestService.post(`/api/panel-app-client-grants/${encodeURIComponent(e)}`,{});revokeClient=async e=>await this.requestService.delete(`/api/panel-app-client-grants/${encodeURIComponent(e)}`);sendAgentMessage=async(e,t={})=>await this.requestService.post(`/api/panel-app-agent/send`,e,{headers:$r(t.bridgeSessionToken)});generateAgentObject=async(e,t={})=>await this.requestService.post(`/api/panel-app-agent/generate-object`,e,{headers:$r(t.bridgeSessionToken)});grantAgentCapability=async(e,t={})=>await this.requestService.post(`/api/panel-app-agent-capabilities/${encodeURIComponent(e)}/grant`,{},{headers:$r(t.bridgeSessionToken)})},ti=class{constructor(e){this.requestService=e}list=async()=>await this.requestService.get(`/api/providers`);listTemplates=async()=>await this.requestService.get(`/api/provider-templates`);listModelCatalog=async()=>await this.requestService.get(`/api/provider-model-catalog`);update=async(e,t)=>await this.requestService.put(`/api/providers/${encodeURIComponent(e)}`,t);create=async(e={})=>await this.requestService.post(`/api/providers`,e);delete=async e=>await this.requestService.delete(`/api/providers/${encodeURIComponent(e)}`);testConnection=async(e,t)=>await this.requestService.post(`/api/providers/${encodeURIComponent(e)}/test`,t);discoverModels=async(e,t)=>await this.requestService.post(`/api/providers/${encodeURIComponent(e)}/models/discover`,t);startAuth=async(e,t={})=>await this.requestService.post(`/api/providers/${encodeURIComponent(e)}/auth/start`,t);pollAuth=async(e,t)=>await this.requestService.post(`/api/providers/${encodeURIComponent(e)}/auth/poll`,t);importAuthFromCli=async e=>await this.requestService.post(`/api/providers/${encodeURIComponent(e)}/auth/import-cli`,{})},ni=class{constructor(e){this.requestService=e}list=async()=>await this.requestService.get(`/api/projects`);getAgreement=async e=>await this.requestService.get(`/api/projects/${encodeURIComponent(e)}/agreement`);listProjectSkills=async e=>await this.requestService.get(`/api/projects/${encodeURIComponent(e)}/skills`);create=async e=>await this.requestService.post(`/api/projects`,e);addExisting=async e=>await this.requestService.post(`/api/projects/existing`,e);remove=async(e,t)=>await this.requestService.request(`/api/projects/${encodeURIComponent(e)}`,{method:`DELETE`,body:{confirmProjectId:t}});listWork=async(e,t={})=>await this.requestService.get(`/api/projects/${encodeURIComponent(e)}/work`,{query:t});listRecentWorkArtifacts=async(e,t={})=>await this.requestService.get(`/api/projects/${encodeURIComponent(e)}/work/artifacts`,{query:t});getWorkSummary=async e=>await this.requestService.get(`/api/projects/${encodeURIComponent(e)}/work/summary`);getWorkItem=async(e,t)=>await this.requestService.get(ri(e,t));createWorkItem=async(e,t)=>await this.requestService.post(`/api/projects/${encodeURIComponent(e)}/work/items`,t);updateWorkItem=async(e,t,n)=>await this.requestService.patch(ri(e,t),n);deleteWorkItem=async(e,t)=>await this.requestService.delete(ri(e,t));restoreWorkItem=async(e,t)=>await this.requestService.post(`${ri(e,t)}/restore`);listWorkItemActivities=async(e,t,n={})=>await this.requestService.get(`${ri(e,t)}/activities`,{query:n});linkWorkItemArtifact=async(e,t,n)=>await this.requestService.post(`${ri(e,t)}/artifacts`,n);unlinkWorkItemArtifact=async(e,t,n)=>await this.requestService.delete(`${ri(e,t)}/artifacts/${encodeURIComponent(n)}`);listWorkStates=async e=>await this.requestService.get(`/api/projects/${encodeURIComponent(e)}/work/states`);createWorkState=async(e,t)=>await this.requestService.post(`/api/projects/${encodeURIComponent(e)}/work/states`,t);updateWorkState=async(e,t,n)=>await this.requestService.patch(ii(e,t),n);deleteWorkState=async(e,t,n)=>await this.requestService.request(ii(e,t),{method:`DELETE`,body:{migrateToStateId:n??null}})};function ri(e,t){return`/api/projects/${encodeURIComponent(e)}/work/items/${encodeURIComponent(t)}`}function ii(e,t){return`/api/projects/${encodeURIComponent(e)}/work/states/${encodeURIComponent(t)}`}var ai=class{baseUrl;transport;webSocketFactory;constructor(e){this.options=e,this.baseUrl=e.baseUrl,this.transport=e.transport,this.webSocketFactory=e.webSocketFactory}subscribe=(e,t={})=>{if(this.transport?.subscribe){let t=this.transport.subscribe(e);return{close:()=>{t()}}}let n=null,r=null,i=!1,a=Math.max(200,t.reconnectDelayMs??1e3),o=()=>{r!==null&&(clearTimeout(r),r=null)},s=t=>{e(t)},c=()=>{try{n=this.createSocket(Ar(this.baseUrl,`/ws`))}catch(e){t.onError?.(e),i||(r=setTimeout(c,a));return}n.onopen=()=>{s({type:`connection.open`})},n.onmessage=e=>{let t=this.parseEvent(e.data);t&&s(t)},n.onerror=e=>{t.onError?.(e),s({type:`connection.error`,payload:{message:`WebSocket error`}})},n.onclose=()=>{s({type:`connection.close`}),n=null,i||(o(),r=setTimeout(c,a))}};return c(),{close:()=>{i=!0,o(),n?.close(),n=null}}};createSocket=e=>{if(this.webSocketFactory)return this.webSocketFactory(e);if(typeof globalThis.WebSocket!=`function`)throw Error(`WebSocket is unavailable. Provide webSocketFactory when creating the client.`);return new globalThis.WebSocket(e)};parseEvent=e=>{if(typeof e!=`string`)return null;try{let t=JSON.parse(e);return t&&typeof t==`object`&&`type`in t?t:null}catch{return null}}},oi=class{constructor(e){this.requestService=e}fetchStatus=async()=>await this.requestService.get(`/api/remote/status`);fetchDoctor=async()=>await this.requestService.get(`/api/remote/doctor`);login=async e=>await this.requestService.post(`/api/remote/login`,e);startBrowserAuth=async(e={})=>await this.requestService.post(`/api/remote/auth/start`,e);pollBrowserAuth=async e=>await this.requestService.post(`/api/remote/auth/poll`,e);logout=async()=>await this.requestService.post(`/api/remote/logout`,{});updateAccountProfile=async e=>await this.requestService.put(`/api/remote/account/profile`,e);updateSettings=async e=>await this.requestService.put(`/api/remote/settings`,e);controlService=async e=>await this.requestService.post(`/api/remote/service/${e}`,{})},si=class extends Error{status;code;details;constructor(e){let{code:t,details:n,message:r,status:i}=e;super(r),this.name=`NextClawClientError`,this.status=i,this.code=t,this.details=n}};function V(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function ci(e,t){return V(e)?e[t]:void 0}var li=class{baseUrl;fetchImpl;requestTimeoutMs;defaultHeaders;transport;constructor(e){this.options=e;let{baseUrl:t,fetchImpl:n,headers:r,requestTimeoutMs:i,token:a}=e;this.baseUrl=t,this.fetchImpl=jr(n),this.requestTimeoutMs=Math.max(1e3,i??15e3),this.transport=e.transport,this.defaultHeaders={Accept:`application/json`,...r??{},...a?{Authorization:`Bearer ${a}`}:{}}}request=async(e,t={})=>{let{body:n,headers:r,method:i,query:a,signal:o,timeoutMs:s}=t;if(this.transport)return await this.requestWithTransport(e,t);let c=new AbortController,l=Math.max(1e3,s??this.requestTimeoutMs),u=this.bindAbortSignal(c,o),d=setTimeout(()=>c.abort(),l),f={...this.defaultHeaders,...r??{}},p=this.normalizeRequestBody(n,f);try{let t=await this.fetchImpl(Or(this.baseUrl,kr(e,this.serializeQuery(a))),{method:i??`GET`,headers:f,body:p,signal:c.signal}),n=await t.json();if(!t.ok){let e=this.extractApiError(n);throw new si({message:e.message,status:t.status,code:e.code,details:e.details})}if(!this.isApiResponse(n))throw new si({message:`Unexpected NextClaw API response shape.`,status:t.status});if(!n.ok)throw new si({message:n.error.message,status:t.status,code:n.error.code,details:n.error.details});return n.data}catch(e){throw e instanceof si?e:e instanceof Error&&e.name===`AbortError`?new si({message:`NextClaw API request timed out after ${l}ms.`}):new si({message:e instanceof Error?e.message:`NextClaw API request failed.`})}finally{o?.removeEventListener(`abort`,u),clearTimeout(d)}};bindAbortSignal=(e,t)=>{let n=()=>e.abort(t?.reason);return t?t.aborted?(e.abort(t.reason),n):(t.addEventListener(`abort`,n,{once:!0}),n):n};requestWithTransport=async(e,t)=>{let{body:n,headers:r,method:i,query:a,signal:o,timeoutMs:s}=t,{transport:c}=this;if(!c)throw new si({message:`NextClaw transport is not configured.`});try{return await c.request({method:i??`GET`,path:e,...n===void 0?{}:{body:n},...a?{query:a}:{},...r?{headers:r}:{},...o?{signal:o}:{},...s===void 0?{}:{timeoutMs:s}})}catch(e){if(e instanceof si)throw e;let t=ci(e,`code`),n=ci(e,`details`),r=ci(e,`status`);throw new si({message:e instanceof Error?e.message:`NextClaw API request failed.`,code:typeof t==`string`?t:void 0,details:V(n)?n:void 0,status:typeof r==`number`?r:void 0})}};get=async(e,t={})=>await this.request(e,{...t,method:`GET`});post=async(e,t,n={})=>await this.request(e,{...n,method:`POST`,...t===void 0?{}:{body:t}});put=async(e,t,n={})=>await this.request(e,{...n,method:`PUT`,...t===void 0?{}:{body:t}});patch=async(e,t,n={})=>await this.request(e,{...n,method:`PATCH`,...t===void 0?{}:{body:t}});delete=async(e,t={})=>await this.request(e,{...t,method:`DELETE`});upload=async(e,t,n={})=>{let{headers:r,signal:i,timeoutMs:a}=n;if(this.transport?.upload)return await this.transport.upload({path:e,formData:t,...r?{headers:r}:{},...i?{signal:i}:{},...a===void 0?{}:{timeoutMs:a}});let o=new AbortController,s=Math.max(1e3,a??this.requestTimeoutMs),c=()=>o.abort(i?.reason);i&&(i.aborted?o.abort(i.reason):i.addEventListener(`abort`,c,{once:!0}));let l=setTimeout(()=>o.abort(),s);try{let n=await this.fetchImpl(Or(this.baseUrl,e),{method:`POST`,headers:{Accept:`application/json`,...ui(this.options.token)??{},...this.options.headers??{},...r??{}},body:t,signal:o.signal}),i=await n.json();if(!n.ok){let e=this.extractApiError(i);throw new si({message:e.message,status:n.status,code:e.code,details:e.details})}if(!this.isApiResponse(i)||!i.ok)throw new si({message:`Unexpected NextClaw upload response shape.`,status:n.status});return i.data}catch(e){throw e instanceof si?e:e instanceof Error&&e.name===`AbortError`?new si({message:`NextClaw API upload timed out after ${s}ms.`}):new si({message:e instanceof Error?e.message:`NextClaw API upload failed.`})}finally{i?.removeEventListener(`abort`,c),clearTimeout(l)}};isApiResponse=e=>typeof e==`object`&&!!e&&`ok`in e;extractApiError=e=>{if(this.isApiResponse(e)&&!e.ok)return e.error;if(typeof e==`object`&&e&&`message`in e){let t=e;return{code:typeof t.code==`string`?t.code:`HTTP_ERROR`,message:typeof t.message==`string`?t.message:`NextClaw API request failed.`,details:t.details!==null&&typeof t.details==`object`?t.details:void 0}}return{code:`HTTP_ERROR`,message:`NextClaw API request failed.`}};normalizeRequestBody=(e,t)=>{if(e!==void 0)return e instanceof FormData||e instanceof URLSearchParams||e instanceof Blob||e instanceof ArrayBuffer?e:typeof e==`string`?(!(`Content-Type`in t)&&!(`content-type`in t)&&(t[`Content-Type`]=`application/json`),e):(!(`Content-Type`in t)&&!(`content-type`in t)&&(t[`Content-Type`]=`application/json`),JSON.stringify(e))};serializeQuery=e=>{if(!e)return;if(e instanceof URLSearchParams)return e;let t=new URLSearchParams;for(let[n,r]of Object.entries(e)){let e=Array.isArray(r)?r:[r];for(let r of e)r!=null&&t.append(n,String(r))}return t}};function ui(e){return e?{Authorization:`Bearer ${e}`}:null}var di=class{constructor(e){this.requestService=e}fetch=async()=>await this.requestService.get(`/api/runtime/control`);startService=async()=>await this.requestService.post(`/api/runtime/control/start-service`,{});restartService=async()=>await this.requestService.post(`/api/runtime/control/restart-service`,{});stopService=async()=>await this.requestService.post(`/api/runtime/control/stop-service`,{})},fi=class{constructor(e){this.requestService=e}fetch=async()=>await this.requestService.get(`/api/runtime/update`);check=async()=>await this.requestService.post(`/api/runtime/update/check`,{});download=async()=>await this.requestService.post(`/api/runtime/update/download`,{});apply=async()=>await this.requestService.post(`/api/runtime/update/apply`,{});updateChannel=async e=>await this.requestService.put(`/api/runtime/update/channel`,{channel:e})},pi=class{constructor(e){this.requestService=e}browse=async e=>{let{basePath:t,includeFiles:n,path:r}=e??{},i=typeof r==`string`?r.trim():``,a=typeof t==`string`?t.trim():``;return await this.requestService.get(`/api/server-paths/browse`,{query:{...i?{path:i}:{},...a?{basePath:a}:{},...n?{includeFiles:`1`}:{}}})};watch=async e=>await this.requestService.post(`/api/server-paths/watch`,e);unwatch=async e=>{await this.requestService.delete(`/api/server-paths/watch`,{query:{subscriptionId:e.trim()}})};createDirectory=async e=>await this.requestService.post(`/api/server-paths/directory`,e);createFile=async e=>await this.requestService.post(`/api/server-paths/file`,e);renameEntry=async e=>await this.requestService.request(`/api/server-paths/entry`,{method:`PATCH`,body:e});deleteEntry=async e=>await this.requestService.delete(`/api/server-paths/entry`,{query:{basePath:e.basePath.trim(),path:e.path.trim()}});uploadFiles=async e=>{let{basePath:t,files:n,overwrite:r,targetPath:i}=e,a=new FormData;return a.append(`basePath`,t.trim()),a.append(`targetPath`,i.trim()),a.append(`overwrite`,r?`true`:`false`),n.forEach(e=>a.append(`files`,e)),await this.requestService.upload(`/api/server-paths/files`,a,{timeoutMs:12e4})};read=async e=>{let{basePath:t,line:n,path:r}=e,i=r.trim(),a=typeof t==`string`?t.trim():``,o=Number.isSafeInteger(n)&&(n??0)>0?n:null;return await this.requestService.get(`/api/server-paths/read`,{query:{path:i,...a?{basePath:a}:{},...o?{line:String(o)}:{}}})};search=async e=>{let{basePath:t,limit:n,query:r}=e,i=t.trim(),a=r?.trim()??``,o=Number.isSafeInteger(n)&&(n??0)>0?n:null;return await this.requestService.get(`/api/server-paths/search`,{query:{basePath:i,...a?{query:a}:{},...o?{limit:String(o)}:{}}})}},mi=`x-nextclaw-panel-bridge-session`;function hi(e){return e?{[mi]:e}:void 0}var gi=class{constructor(e){this.requestService=e}listServiceApps=async()=>await this.requestService.get(`/api/service-apps`);getServiceApp=async e=>await this.requestService.get(`/api/service-apps/${encodeURIComponent(e)}`);restartServiceApp=async e=>await this.requestService.post(`/api/service-apps/${encodeURIComponent(e)}/restart`);deleteServiceApp=async(e,t=!1)=>await this.requestService.request(`/api/service-apps/${encodeURIComponent(e)}`,{method:`DELETE`,body:{purgeData:t}});listServiceActions=async(e={})=>{let t=e.appId?`?${new URLSearchParams({appId:e.appId}).toString()}`:``;return await this.requestService.get(`/api/service-actions${t}`,{headers:hi(e.bridgeSessionToken)})};listVerificationRecords=async(e={})=>{let t=new URLSearchParams;e.acceptanceId&&t.set(`acceptanceId`,e.acceptanceId),e.appId&&t.set(`appId`,e.appId),e.limit!==void 0&&t.set(`limit`,String(e.limit));let n=t.size>0?`?${t.toString()}`:``;return await this.requestService.get(`/api/runtime-verification-records${n}`,{headers:hi(e.bridgeSessionToken)})};getPortableRuntimeAcceptanceContract=async(e={})=>{let t=e.locale?`?${new URLSearchParams({locale:e.locale})}`:``;return await this.requestService.get(`/api/portable-runtime/acceptance/contract${t}`,{headers:hi(e.bridgeSessionToken)})};getPortableRuntimeAcceptanceStatus=async(e={})=>{let t=new URLSearchParams;e.appId&&t.set(`appId`,e.appId),e.locale&&t.set(`locale`,e.locale);let n=t.size>0?`?${t.toString()}`:``;return await this.requestService.get(`/api/portable-runtime/acceptance/status${n}`,{headers:hi(e.bridgeSessionToken)})};exportPortableRuntimeAcceptance=async(e={})=>{let t=new URLSearchParams;e.appId&&t.set(`appId`,e.appId),e.locale&&t.set(`locale`,e.locale);let n=t.size>0?`?${t.toString()}`:``;return await this.requestService.get(`/api/portable-runtime/acceptance/export${n}`,{headers:hi(e.bridgeSessionToken)})};discoverServiceAppActions=async e=>await this.requestService.post(`/api/service-apps/${encodeURIComponent(e)}/actions/discover`,{});invokeServiceAction=async(e,t,n={})=>await this.requestService.post(`/api/service-actions/${encodeURIComponent(e)}/invoke`,{input:t??{}},{headers:hi(n.bridgeSessionToken)});grantServiceAction=async(e,t={})=>await this.requestService.post(`/api/service-actions/${encodeURIComponent(e)}/grant`,{},{headers:hi(t.bridgeSessionToken)});grantServiceActions=async(e,t={})=>await this.requestService.post(`/api/service-action-grants`,{actionIds:e},{headers:hi(t.bridgeSessionToken)});grantAgentServiceActions=async(e,t)=>await this.requestService.post(`/api/agents/${encodeURIComponent(e)}/service-action-grants`,{actionIds:t});listServiceActionGrants=async()=>await this.requestService.get(`/api/service-action-grants`);revokeServiceAction=async(e,t={})=>await this.requestService.delete(`/api/service-actions/${encodeURIComponent(e)}/grant`,{headers:hi(t.bridgeSessionToken)});revokeServiceActionGrant=async e=>{let{actionId:t,caller:n}=e,r=new URLSearchParams({surface:n.surface,callerId:n.surface===`panel-app`?n.appId:n.agentId});return await this.requestService.delete(`/api/service-action-grants/${encodeURIComponent(t)}?${r.toString()}`)}},_i=class{constructor(e,t){this.requestService=e,this.eventBus=t}list=async e=>{let{limit:t,page:n,pageSize:r,query:i,peerId:a,scheduledOnly:o}=e??{},s=new URLSearchParams;typeof t==`number`&&Number.isFinite(t)&&s.set(`limit`,String(Math.max(1,Math.trunc(t)))),typeof n==`number`&&Number.isFinite(n)&&s.set(`page`,String(Math.max(1,Math.trunc(n)))),typeof r==`number`&&Number.isFinite(r)&&s.set(`pageSize`,String(Math.max(1,Math.trunc(r)))),i?.trim()&&s.set(`query`,i.trim()),o!==void 0&&s.set(`scheduledOnly`,String(o));let c=a?.trim();return c&&s.set(`peerId`,c),await this.requestService.get(`/api/ncp/sessions`,{...s.size>0?{query:s}:{}})};get=async e=>await this.requestService.get(`/api/ncp/sessions/${encodeURIComponent(e)}`);listMessages=async(e,t={})=>{let n=typeof t==`number`?{limit:t}:t,r=new URLSearchParams;return typeof n.limit==`number`&&Number.isFinite(n.limit)&&r.set(`limit`,String(Math.max(1,Math.trunc(n.limit)))),n.cursor?.trim()&&r.set(`cursor`,n.cursor.trim()),n.toolPayload===`summary`&&r.set(`toolPayload`,`summary`),n.initialPayload===`compact`&&r.set(`initialPayload`,`compact`),await this.requestService.get(`/api/ncp/sessions/${encodeURIComponent(e)}/messages`,{...r.size>0?{query:r}:{},...n.signal?{signal:n.signal}:{}})};getUsage=async e=>await this.requestService.get(`/api/ncp/sessions/${encodeURIComponent(e)}/usage`);listSkills=async(e,t)=>await this.requestService.get(`/api/ncp/sessions/${encodeURIComponent(e)}/skills`,{query:t?.projectRoot?.trim()?{projectRoot:t.projectRoot.trim()}:void 0});listQueuedInputs=async e=>await this.requestService.get(`/api/ncp/sessions/${encodeURIComponent(e)}/queued-inputs`);deleteQueuedInput=async(e,t)=>await this.requestService.delete(`/api/ncp/sessions/${encodeURIComponent(e)}/queued-inputs/${encodeURIComponent(t)}`);listPendingInputs=async e=>await this.requestService.get(`/api/ncp/sessions/${encodeURIComponent(e)}/pending-inputs`);listUserQuestions=async e=>await this.requestService.get(`/api/ncp/sessions/${encodeURIComponent(e)}/user-questions`);resolveUserQuestion=async(e,t,n)=>await this.requestService.post(`/api/ncp/sessions/${encodeURIComponent(e)}/user-questions/${encodeURIComponent(t)}/resolve`,n);steerQueuedInput=async(e,t)=>await this.requestService.post(`/api/ncp/sessions/${encodeURIComponent(e)}/queued-inputs/${encodeURIComponent(t)}/steer`);update=async(e,t)=>await this.requestService.put(`/api/ncp/sessions/${encodeURIComponent(e)}`,t);compactContext=async e=>await this.requestService.post(`/api/ncp/sessions/${encodeURIComponent(e)}/context/compact`);delete=async e=>await this.requestService.delete(`/api/ncp/sessions/${encodeURIComponent(e)}`);uploadAssets=async e=>{let t=new FormData;for(let n of e)t.append(`files`,n);return await this.requestService.upload(`/api/ncp/assets`,t)};subscribe=(e,t={})=>({close:this.eventBus.subscribeAll(t=>{e(t)})})},vi=class{constructor(e){this.requestService=e}list=async(e={})=>await this.requestService.get(`/api/system-object-references`,{query:e});resolve=async e=>await this.requestService.post(`/api/system-object-references/resolve`,{uri:e})},yi=class{baseUrl;agentRuns;app;appPackages;appData;agents;auth;channelAuth;capabilityAccess;featureControls;config;eventBus;marketplace;inboxDeliveries;mcpMarketplace;mcp;panelApps;providers;projects;realtime;remote;runtimeControl;runtimeUpdate;serverPaths;serviceApps;sessions;systemObjectReferences;constructor(e){this.baseUrl=Dr(e.baseUrl);let t={...e,baseUrl:this.baseUrl},n=new li(t);this.realtime=new ai(t);let r=null;this.eventBus=new zt({onFirstSubscriber:()=>{r??=this.realtime.subscribe(e=>{this.eventBus.emitEnvelope({type:e.type,payload:`payload`in e?e.payload:void 0,emittedAt:`emittedAt`in e?e.emittedAt:new Date().toISOString(),source:`source`in e?e.source:`realtime`})})},onNoSubscribers:()=>{r?.close(),r=null}}),this.agentRuns=new Pr(n,t),this.app=new Ir(n),this.appPackages=new Lr(n),this.appData=new Rr(n),this.agents=new Fr(n,this.baseUrl),this.auth=new zr(n),this.channelAuth=new Br(n),this.capabilityAccess=new Vr(n),this.featureControls=new Hr(n),this.config=new Ur(n),this.marketplace=new Wr(n),this.inboxDeliveries=new Jr(n),this.mcpMarketplace=new Yr(n),this.mcp=new Zr(n),this.panelApps=new ei(n),this.providers=new ti(n),this.projects=new ni(n),this.remote=new oi(n),this.runtimeControl=new di(n),this.runtimeUpdate=new fi(n),this.serverPaths=new pi(n),this.serviceApps=new gi(n),this.sessions=new _i(n,this.eventBus),this.systemObjectReferences=new vi(n)}},bi=`http://127.0.0.1:55667`,xi=(()=>{let e=(void 0)?.trim();return e?e.replace(/\/$/,``):typeof window<`u`&&window.location?.origin?window.location.origin:bi})(),Si={"Use this page to manage the local NextClaw service. Closing the browser does not stop the service.":`runtimeControlManagedLocalMessage`,"This page is served by the running local service. Closing the browser does not stop it.":`runtimeControlManagedLocalHint`,"This page is served by the running local service.":`runtimeControlManagedLocalHintShort`,"This page is already hosted by the running local service.":`runtimeControlStartUnavailableHosted`,"App restart is only available in the desktop shell.":`runtimeControlRestartAppDesktopOnly`,"The local service is not running.":`runtimeControlServiceNotRunning`,"The local service is already stopped.":`runtimeControlServiceAlreadyStopped`,"Managed service started.":`runtimeControlManagedServiceStarted`,"Managed service start scheduled.":`runtimeControlManagedServiceStartScheduled`,"Restart scheduled. This page may disconnect for a few seconds.":`runtimeControlRestartScheduled`,"Stop scheduled. This page will disconnect shortly.":`runtimeControlStopScheduled`,"runtime healthy":`runtimeControlHealthy`};function Ci(e){return e.activeSystemAction?`service-transitioning`:e.lifecyclePhase}function wi(e){return e===`ready`?`connected`:e===`startup-failed`||e===`stalled`?`disconnected`:`connecting`}function Ti(e){let t=Ci(e);return{...e,phase:t,connectionStatus:wi(t)}}function Ei(e){return e===`start-service`?`starting-service`:e===`stop-service`?`stopping-service`:e===`restart-service`?`restarting-service`:`restarting-app`}function Di(e){return e===`start-service`?`starting`:e===`stop-service`?`stopping`:e===`restart-service`?`restarting`:null}function Oi(e){if(!e)return null;let t=Si[e.trim()];return t?r(t):e}function ki(e){let{action:t,message:n}=e;return{action:t,lifecycle:Ei(t),serviceState:Di(t),message:n}}function Ai(e){if(e.runtimeControlError)return{tone:`inactive`,title:r(`runtimeControlLoadFailed`),description:e.runtimeControlError,reasonLines:[],actionLabel:null,isBusy:!1};if(!e.runtimeControlView)return{tone:`inactive`,title:r(`runtimeStatusLoadingTitle`),description:r(`runtimeStatusLoadingDescription`),reasonLines:[],actionLabel:null,isBusy:!!e.activeSystemAction};if(e.activeSystemAction)return{tone:`attention`,title:r(`runtimeControlTitle`),description:Oi(e.activeSystemAction.message)||Oi(e.runtimeControlView.message)||r(`runtimeControlDescription`),reasonLines:[],actionLabel:null,isBusy:!0};let t=e.runtimeControlView;return t.pendingRestart?{tone:`attention`,title:r(`runtimeStatusPendingRestartTitle`),description:r(`runtimeStatusPendingRestartDescription`),reasonLines:t.pendingRestart.changedPaths.length>0?t.pendingRestart.changedPaths.map(e=>r(`runtimeStatusPendingRestartReasonItem`).replace(`{path}`,e)):[t.pendingRestart.message],actionLabel:t.canRestartService.available?r(`runtimeStatusRestartAction`):null,isBusy:!1}:{tone:t.lifecycle===`healthy`?`healthy`:`inactive`,title:r(`runtimeStatusHealthyTitle`),description:r(`runtimeStatusHealthyDescription`),reasonLines:[],actionLabel:null,isBusy:!1}}function ji(e){let t=e.activeSystemAction,n=e.runtimeControlView;return{controlView:n,visibleLifecycle:t?.lifecycle??n?.lifecycle??`healthy`,visibleServiceState:t?.serviceState??n?.serviceState??`unknown`,visibleMessage:Oi(t?.message)||Oi(e.lastSystemActionError)||Oi(n?.message)||r(`runtimeControlDescription`),busyAction:t?.action??null,busy:!!t,pendingRestart:n?.pendingRestart??null,errorMessage:Oi(e.lastSystemActionError)||Oi(e.runtimeControlError)||null}}var Mi=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},Ni=(e=>e?Mi(e):Mi),Pi=e=>e;function Fi(e,t=Pi){let n=P.useSyncExternalStore(e.subscribe,P.useCallback(()=>t(e.getState()),[e,t]),P.useCallback(()=>t(e.getInitialState()),[e,t]));return P.useDebugValue(n),n}var Ii=e=>{let t=Ni(e),n=e=>Fi(t,e);return Object.assign(n,t),n},Li=(e=>e?Ii(e):Ii),Ri={lifecyclePhase:`cold-starting`,hasReachedReady:!1,lastReadyAt:null,recoveryStartedAt:null,bootstrapStatus:null,lastError:null,lastTransportError:null,runtimeControlView:null,runtimeControlError:null,activeSystemAction:null,lastSystemActionError:null},zi=Li(e=>({state:Ri,patchState:t=>e(e=>({state:{...e.state,...t}}))}));function Bi(e){if(e.length===0)throw Error(`AdaptiveCadence requires at least one stage.`);for(let t of e)if(t.delaysMs.length===0)throw Error(`AdaptiveCadence stage requires at least one delay.`)}var Vi=class{constructor(e){this.options=e,this.attempt=0,this.startedAt=null,this.lastFailureAt=null,this.lastSuccessAt=null,this.manualTriggerPending=!1,this.completed=!1,this.recordFailure=()=>{let e=this.clock();this.completed=!1,this.manualTriggerPending=!1,this.startedAt=this.startedAt??e,this.lastFailureAt=e,this.attempt+=1},this.recordSuccess=()=>{this.lastSuccessAt=this.clock(),this.attempt=0,this.startedAt=null,this.lastFailureAt=null,this.manualTriggerPending=!1,this.completed=!0},this.reset=()=>{this.attempt=0,this.startedAt=null,this.lastFailureAt=null,this.lastSuccessAt=null,this.manualTriggerPending=!1,this.completed=!1},this.requestManualTrigger=()=>{this.completed=!1,this.manualTriggerPending=!0},this.hasManualTrigger=()=>this.manualTriggerPending,this.getNextDelay=(e={})=>{if(this.manualTriggerPending)return e.consumeManualTrigger&&(this.manualTriggerPending=!1),this.options.manualTriggerDelayMs;if(this.completed)return this.options.successDelayMs;if(this.startedAt===null)return this.options.idleDelayMs;let t=this.resolveStage(this.clock()-this.startedAt);return t.delaysMs[Math.min(this.attempt-1,t.delaysMs.length-1)]},this.getSnapshot=()=>({attempt:this.attempt,startedAt:this.startedAt,lastFailureAt:this.lastFailureAt,lastSuccessAt:this.lastSuccessAt,manualTriggerPending:this.manualTriggerPending,completed:this.completed}),this.resolveStage=e=>this.options.stages.find(t=>t.untilElapsedMs===void 0||e<t.untilElapsedMs)??this.options.stages[this.options.stages.length-1],Bi(e.stages),this.clock=e.clock??(()=>Date.now())}},Hi=3e4,Ui={idleDelayMs:1e3,manualTriggerDelayMs:0,successDelayMs:!1,stages:[{untilElapsedMs:3e4,delaysMs:[500,1e3,2e3,4e3,5e3]},{untilElapsedMs:5*6e4,delaysMs:[1e4,15e3,3e4]},{delaysMs:[6e4]}]};function Wi(e){return e instanceof Error?e.message:String(e??``)}function Gi(e){return e&&(e.ncpAgent.error?.trim()||e.lastError?.trim())||null}function Ki(e){return r(e===`start-service`?`runtimeControlStartingServiceHelp`:e===`restart-service`?`runtimeControlRestartingServiceHelp`:e===`stop-service`?`runtimeControlStoppingServiceHelp`:`runtimeControlRestartingAppHelp`)}var H=new class{constructor(){this.recoveryTimeoutId=null,this.runtimeBootstrapProbeCadence=new Vi(Ui),this.getRuntimeBootstrapPollInterval=e=>{let{lifecyclePhase:t,activeSystemAction:n}=this.getState(),r=t===`recovering`||t===`stalled`||n?.lifecycle===`recovering`;return this.runtimeBootstrapProbeCadence.hasManualTrigger()?this.runtimeBootstrapProbeCadence.getNextDelay({consumeManualTrigger:!0}):!r&&e?.ncpAgent.state===`ready`?!1:this.runtimeBootstrapProbeCadence.getNextDelay({consumeManualTrigger:!0})},this.getRuntimeControl=async()=>this.decorateForCurrentEnvironment(await fc()),this.reportBootstrapStatus=e=>{let t=this.getState(),n=Gi(e);if(e.ncpAgent.state===`ready`){this.transitionToReady(e);return}if(!t.hasReachedReady){if(e.ncpAgent.state===`error`||e.phase===`error`){this.transitionToStartupFailed(n,e);return}this.transitionToColdStarting(e);return}this.transitionToRecovering(n,e)},this.reportBootstrapQueryError=e=>{let t=Wi(e).trim();if(t&&!this.reportTransportFailure(t)){if(this.getState().hasReachedReady){this.transitionToRecovering(t);return}this.transitionToStartupFailed(t)}},this.reportTransportFailure=e=>{let t=Wi(e).trim();return _o(t)?this.getState().hasReachedReady?(this.transitionToRecovering(t),!0):(this.runtimeBootstrapProbeCadence.recordFailure(),this.patchState({lastTransportError:t}),!0):!1},this.handleConnectionInterrupted=e=>{let t=this.getState(),n=e?.trim()||null;if(!t.hasReachedReady){this.runtimeBootstrapProbeCadence.recordFailure(),n&&this.patchState({lastTransportError:n});return}this.transitionToRecovering(n)},this.handleConnectionRestored=()=>{let e=this.getState();e.bootstrapStatus?.ncpAgent.state===`ready`&&this.transitionToReady(e.bootstrapStatus)},this.reportRuntimeControlView=e=>{this.patchState({runtimeControlView:e,runtimeControlError:null})},this.reportRuntimeControlError=e=>{let t=Wi(e).trim();t&&this.patchState({runtimeControlError:t})},this.runRuntimeControlAction=async e=>{this.patchState({activeSystemAction:ki({action:e,message:Ki(e)}),lastSystemActionError:null});try{let t=await this.executeRuntimeControlAction(e);if(e===`restart-app`)return t;if(e===`stop-service`)return await this.refreshRuntimeControlView(),this.clearActiveSystemAction(),t;this.patchState({activeSystemAction:{action:e,lifecycle:`recovering`,serviceState:null,message:r(`runtimeControlRecoveringHelp`)}}),this.runtimeBootstrapProbeCadence.requestManualTrigger();let n=await this.waitForRecovery();return this.syncRuntimeControlQueryCache(n),this.reportRuntimeControlView(n),this.clearActiveSystemAction(),t}catch(t){let n=t instanceof Error?t.message:r(`runtimeControlActionFailed`);throw this.patchState({activeSystemAction:{action:e,lifecycle:`failed`,serviceState:e===`stop-service`?`running`:e===`restart-app`?null:`unknown`,message:n},lastSystemActionError:n}),t}},this.getStatusView=()=>Ti(this.getState()),this.requestRuntimeBootstrapProbeNow=()=>{this.runtimeBootstrapProbeCadence.requestManualTrigger(),It.refetchQueries({queryKey:[`runtime-bootstrap-status`]})},this.resetForTests=()=>{this.clearRecoveryTimeout(),this.runtimeBootstrapProbeCadence.reset(),zi.setState({state:Ri})},this.getState=()=>zi.getState().state,this.patchState=e=>{zi.getState().patchState(e)},this.transitionToColdStarting=e=>{this.runtimeBootstrapProbeCadence.recordFailure(),this.clearRecoveryTimeout(),this.patchState({lifecyclePhase:`cold-starting`,recoveryStartedAt:null,bootstrapStatus:e,lastError:null})},this.transitionToStartupFailed=(e,t)=>{this.runtimeBootstrapProbeCadence.recordFailure(),this.clearRecoveryTimeout(),this.patchState({lifecyclePhase:`startup-failed`,recoveryStartedAt:null,bootstrapStatus:t??this.getState().bootstrapStatus,lastError:e})},this.transitionToRecovering=(e,t)=>{this.runtimeBootstrapProbeCadence.recordFailure();let n=this.getState();if(!n.hasReachedReady){this.patchState({lastTransportError:e?.trim()||n.lastTransportError});return}n.lifecyclePhase!==`recovering`&&n.lifecyclePhase!==`stalled`&&(this.clearRecoveryTimeout(),this.recoveryTimeoutId=window.setTimeout(()=>{this.recoveryTimeoutId=null,this.getState().lifecyclePhase===`recovering`&&this.patchState({lifecyclePhase:`stalled`})},Hi)),this.patchState({lifecyclePhase:n.lifecyclePhase===`stalled`?`stalled`:`recovering`,recoveryStartedAt:n.recoveryStartedAt??Date.now(),bootstrapStatus:t??n.bootstrapStatus,lastError:e?.trim()||n.lastError,lastTransportError:e?.trim()||n.lastTransportError})},this.transitionToReady=e=>{this.runtimeBootstrapProbeCadence.recordSuccess();let t=this.getState(),n=t.lifecyclePhase===`recovering`||t.lifecyclePhase===`stalled`;this.clearRecoveryTimeout(),this.patchState({lifecyclePhase:`ready`,hasReachedReady:!0,lastReadyAt:Date.now(),recoveryStartedAt:null,bootstrapStatus:e,lastError:null,lastTransportError:null}),n&&It.refetchQueries({type:`active`})},this.executeRuntimeControlAction=async e=>{let t=this.getDesktopBridge();if(e===`restart-service`&&t&&typeof t.restartService==`function`){let e=await t.restartService();return{accepted:e.accepted,action:`restart-service`,lifecycle:e.lifecycle,message:e.message}}if(e===`start-service`)return await pc();if(e===`stop-service`)return await mc();if(e===`restart-app`){if(!t||typeof t.restartApp!=`function`)throw Error(r(`runtimeRestartAppUnavailable`));let e=await t.restartApp();return{accepted:e.accepted,action:`restart-app`,lifecycle:e.lifecycle,message:e.message}}return await X()},this.waitForRecovery=async()=>{let e=Date.now()+25e3,t=null;for(;Date.now()<e;)try{return await this.getRuntimeControl()}catch(e){t=e,await new Promise(e=>{window.setTimeout(e,1500)})}throw t instanceof Error?t:Error(r(`runtimeRecoveryTimedOut`))},this.refreshRuntimeControlView=async()=>{try{let e=await this.getRuntimeControl();this.syncRuntimeControlQueryCache(e),this.reportRuntimeControlView(e)}catch(e){this.reportRuntimeControlError(e)}},this.syncRuntimeControlQueryCache=e=>{It.setQueryData([`runtime-control`],e)},this.clearActiveSystemAction=()=>{this.patchState({activeSystemAction:null,lastSystemActionError:null})},this.clearRecoveryTimeout=()=>{this.recoveryTimeoutId!==null&&(window.clearTimeout(this.recoveryTimeoutId),this.recoveryTimeoutId=null)},this.decorateForCurrentEnvironment=e=>{let t=this.getDesktopBridge();return!t||typeof t.restartApp!=`function`?e:{...e,environment:`desktop-embedded`,serviceState:`running`,canStartService:{available:!1,requiresConfirmation:!1,impact:`none`},canStopService:{available:!1,requiresConfirmation:!0,impact:`brief-ui-disconnect`},canRestartApp:{available:!0,requiresConfirmation:!0,impact:`full-app-relaunch`},ownerLabel:r(`runtimeControlEnvironmentDesktop`),managementHint:r(`runtimeControlDesktopServiceHint`)}},this.getDesktopBridge=()=>typeof window>`u`?null:window.nextclawDesktop??null}};function U(){let e=it({queryKey:[`runtime-bootstrap-status`],queryFn:()=>Fo({timeoutMs:5e3}),refetchInterval:e=>H.getRuntimeBootstrapPollInterval(e.state.data),retry:!1}),t=it({queryKey:[`runtime-control`],queryFn:async()=>await H.getRuntimeControl(),staleTime:5e3});(0,P.useEffect)(()=>{e.data&&H.reportBootstrapStatus(e.data)},[e.data]),(0,P.useEffect)(()=>{e.error&&H.reportBootstrapQueryError(e.error)},[e.error]),(0,P.useEffect)(()=>{t.data&&H.reportRuntimeControlView(t.data)},[t.data]),(0,P.useEffect)(()=>{t.error&&H.reportRuntimeControlError(t.error)},[t.error])}function qi(){return Ti(zi(e=>e.state))}function Ji(){return Ai(zi(e=>e.state))}function Yi(){return ji(zi(e=>e.state))}var W=Li(()=>({supported:!1,initialized:!1,busyAction:null,snapshot:null})),Xi=class{constructor(e){this.desktopApi=e,this.kind=`desktop-bridge`,this.subscribe=e=>this.desktopApi.onUpdateStateChanged(e),this.getState=async()=>await this.desktopApi.getUpdateState(),this.checkForUpdates=async()=>await this.desktopApi.checkForUpdates(),this.downloadUpdate=async()=>await this.desktopApi.downloadUpdate(),this.applyDownloadedUpdate=async()=>await this.desktopApi.applyDownloadedUpdate(),this.updateChannel=async e=>await this.desktopApi.updateChannel(e)}},Zi=class{constructor(){this.kind=`runtime-host`,this.getState=async()=>await gc(),this.checkForUpdates=async()=>await _c(),this.downloadUpdate=async()=>await vc(),this.applyDownloadedUpdate=async()=>await yc(),this.updateChannel=async e=>await bc(e)}},Qi=new class{constructor(){this.unsubscribe=null,this.subscriptionCount=0,this.source=null,this.start=async()=>{this.subscriptionCount+=1;let e=this.resolveSource();if(this.source=e,!e){W.setState({supported:!1,initialized:!0,snapshot:null});return}e.kind===`desktop-bridge`&&!this.unsubscribe&&(this.unsubscribe=e.subscribe(e=>{W.setState({supported:!0,initialized:!0,snapshot:e})})),W.setState({supported:!0,initialized:!1});try{let t=await e.getState();W.setState({supported:!0,initialized:!0,snapshot:t})}catch(t){if(e.kind===`runtime-host`&&this.isUnsupportedError(t)){W.setState({supported:!1,initialized:!0,snapshot:null});return}W.setState({supported:!0,initialized:!0}),I.error(`${r(`runtimeUpdatesLoadFailed`)}: ${this.getErrorMessage(t)}`)}},this.stop=()=>{this.subscriptionCount=Math.max(0,this.subscriptionCount-1),!(this.subscriptionCount>0)&&(this.unsubscribe?.(),this.unsubscribe=null,this.source=null)},this.reportSnapshot=e=>{this.source?.kind!==`desktop-bridge`&&W.setState({supported:!0,initialized:!0,snapshot:e})},this.refreshAfterRealtimeReconnect=async()=>{this.source?.kind===`runtime-host`&&await this.refreshSnapshot()},this.checkForUpdates=async()=>{let e;try{e=await this.runSnapshotCommand(`checking`,r(`runtimeUpdatesCheckFailed`),async e=>await e.checkForUpdates())}catch{return}if(e.status===`up-to-date`){I.success(r(`runtimeUpdatesAlreadyLatest`));return}if(e.status===`update-available`){I.success(r(`runtimeUpdatesAvailable`).replace(`{version}`,e.availableVersion??r(`runtimeUpdatesUnknownVersion`)));return}e.status===`downloaded`&&I.success(r(`runtimeUpdatesReadyToApply`))},this.downloadUpdate=async()=>{try{await this.runSnapshotCommand(`downloading`,r(`runtimeUpdatesDownloadFailed`),async e=>await e.downloadUpdate())}catch{return}},this.applyDownloadedUpdate=async()=>{try{await this.runSnapshotCommand(`applying`,r(`runtimeUpdatesApplyFailed`),async e=>await e.applyDownloadedUpdate())}catch{return}},this.updateNow=async()=>{let e=W.getState().snapshot;if(!(e?.status!==`update-available`&&e?.status!==`downloaded`))try{await this.runSnapshotCommand(`updating`,r(`runtimeUpdatesUpdateFailed`),async t=>{let n=e.status===`downloaded`?e:await t.downloadUpdate();return W.setState({snapshot:n}),n.status===`downloaded`?await t.applyDownloadedUpdate():n})}catch{return}},this.updateChannel=async e=>{if(W.getState().snapshot?.channel===e)return;let t;try{t=await this.runSnapshotCommand(`switching-channel`,r(`runtimeUpdatesChannelChangeFailed`),async t=>await t.updateChannel(e))}catch{return}if(t.status===`update-available`&&t.availableVersion){I.success(r(`runtimeUpdatesChannelChangedWithUpdate`).replace(`{channel}`,this.getChannelLabel(e)).replace(`{version}`,t.availableVersion));return}I.success(r(`runtimeUpdatesChannelChanged`).replace(`{channel}`,this.getChannelLabel(e)))},this.refreshSnapshot=async()=>{if(!(!this.source||this.source.kind!==`runtime-host`))try{let e=await this.source.getState();W.setState({supported:!0,initialized:!0,snapshot:e})}catch{}},this.runSnapshotCommand=async(e,t,n)=>{let i=this.source??this.resolveSource();if(!i)throw Error(r(`runtimeUpdatesUnavailableDescription`));this.source=i,W.setState({busyAction:e});try{let e=await n(i);return W.setState({snapshot:e}),e}catch(e){throw I.error(`${t}: ${this.getErrorMessage(e)}`),e}finally{W.setState({busyAction:null})}},this.resolveSource=()=>{let e=this.getDesktopApi();return e?new Xi(e):new Zi},this.getDesktopApi=()=>typeof window>`u`?null:window.nextclawDesktop??null,this.isUnsupportedError=e=>{let t=this.getErrorMessage(e).toLowerCase();return t.includes(`404`)||t.includes(`not found`)||t.includes(`endpoint not found`)},this.getErrorMessage=e=>e instanceof Error?e.message:r(`error`),this.getChannelLabel=e=>r(e===`beta`?`desktopUpdatesChannelBeta`:`desktopUpdatesChannelStable`)}},$i=`https://docs.nextclaw.io/`;function ea(e,t){let n=t===`zh-CN`?`en-US`:`zh-CN`;return e?.[t]?.trim()||e?.[n]?.trim()||null}function ta(e){let t=e.releaseNotesUrl?.trim(),n=(e.availableVersion??e.downloadedVersion)?.trim();return t?na(n,t):null}function na(e,t=$i){let n=e?.trim();if(!n||!/^[0-9A-Za-z.-]+$/.test(n))return null;try{return new URL(`/release-notes/nextclaw-v${n}.json`,t).toString()}catch{return null}}function ra(e,t){return ea(e?.links?.html,t)}function ia(e){let t=e.releaseNotesUrl?.trim(),n=(e.downloadedVersion??e.availableVersion)?.trim();return!t||!n?null:{url:t,versionLabel:`v${n}`}}function aa(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function oa(e){return aa(e)?typeof e[`zh-CN`]==`string`||typeof e[`en-US`]==`string`:!1}function sa(e){return!aa(e)||!oa(e.title)?!1:e.body===void 0||oa(e.body)}function ca(e){return aa(e)&&typeof e.kind==`string`&&Array.isArray(e.items)&&e.items.every(sa)&&(e.title===void 0||oa(e.title))}function la(e){return aa(e)&&(e.html===void 0||oa(e.html))}function ua(e){return aa(e)&&Array.isArray(e.sections)&&e.sections.every(ca)&&(e.title===void 0||oa(e.title))&&(e.summary===void 0||oa(e.summary))&&(e.links===void 0||la(e.links))}async function da(e){let t=await fetch(e,{cache:`no-store`,headers:{accept:`application/json`}});if(!t.ok)throw Error(`Release notes request failed with HTTP ${t.status}.`);let n=await t.json();if(!ua(n))throw Error(`Release notes payload has an unsupported shape.`);return n}function fa(){return n()===`zh`?`zh-CN`:`en-US`}function pa(e){let t=na(e),n=fa(),r=ra(it({queryKey:[`current-release-notes`,t],queryFn:async()=>await da(t??``),enabled:!!t,retry:!1,staleTime:300*1e3}).data,n),i=e?.trim();return r&&i?{url:r,versionLabel:`v${i}`}:null}function ma({children:e,fullHeight:t=!1,className:n}){return(0,F.jsx)(`div`,{className:Cr(`animate-fade-in`,t?`h-[calc(100vh-80px)] w-full flex flex-col`:`pb-16`,n),children:e})}function ha({title:e,description:t,actions:n,headingLevel:r=2,mobileTitleInShell:i=!1,className:a}){let o=r===1?`h1`:`h2`;return(0,F.jsxs)(`header`,{"data-theme-surface":`header`,className:Cr(`flex shrink-0 flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,a),children:[(0,F.jsxs)(`div`,{className:Cr(`min-w-0`,i&&!t&&`hidden md:block`),children:[(0,F.jsx)(o,{className:Cr(`text-xl font-semibold tracking-tight text-foreground`,i&&`hidden md:block`),children:e}),t&&(0,F.jsx)(`p`,{className:`mt-1 max-w-2xl text-sm leading-6 text-muted-foreground`,children:t})]}),n&&(0,F.jsx)(`div`,{className:`flex items-center gap-2 shrink-0`,children:n})]})}function ga({actions:e,children:t,className:n,description:r,layout:i=`standard`,title:a}){return(0,F.jsxs)(ma,{className:Cr(`w-full space-y-6`,i===`split`&&`pb-0 md:flex md:h-full md:min-h-0 md:flex-col`,n),children:[(0,F.jsx)(ha,{title:a,description:r,actions:e,mobileTitleInShell:!0}),t]})}var _a=Er(`inline-flex items-center justify-center whitespace-nowrap rounded-full text-sm font-medium ring-offset-background transition-colors duration-fast focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border disabled:pointer-events-none disabled:opacity-50`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-[hsl(var(--primary-hover))] active:bg-[hsl(var(--primary-active))] shadow-sm`,destructive:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,outline:`border border-border bg-card text-muted-foreground hover:bg-[var(--interaction-hover)] hover:text-accent-foreground`,secondary:`bg-muted text-foreground hover:bg-[var(--interaction-hover)] hover:text-accent-foreground`,ghost:`text-muted-foreground hover:bg-[var(--interaction-hover)] hover:text-accent-foreground`,link:`text-primary underline-offset-4 hover:underline`,primary:`bg-primary text-primary-foreground hover:bg-[hsl(var(--primary-hover))] active:bg-[hsl(var(--primary-active))] shadow-sm`,subtle:`bg-muted text-muted-foreground hover:bg-[var(--interaction-hover)] hover:text-accent-foreground`,"primary-outline":`border border-primary/30 text-primary hover:bg-primary hover:text-primary-foreground`},size:{default:`h-9 px-4 py-2`,sm:`h-8 px-3 text-xs`,lg:`h-11 px-5 text-[14px]`,xl:`h-12 px-6 text-[15px]`,icon:`h-9 w-9`}},defaultVariants:{variant:`default`,size:`default`}}),va=P.forwardRef(({className:e,variant:t,size:n,...r},i)=>(0,F.jsx)(`button`,{className:Cr(_a({variant:t,size:n,className:e}),n!==`icon`&&`max-md:min-h-[var(--control-touch-size)]`),ref:i,...r}));va.displayName=`Button`;var ya=Er(`grid min-h-16 grid-cols-1 gap-3 px-4 py-3.5 sm:grid-cols-[minmax(0,1fr)_auto] sm:items-center sm:gap-6`,{variants:{tone:{default:``,muted:`bg-muted/55`},layout:{responsive:``,stacked:`sm:grid-cols-1 sm:items-start sm:gap-3`}},defaultVariants:{tone:`default`,layout:`responsive`}}),ba=P.forwardRef(({actions:e,children:t,className:n,description:r,title:i,...a},o)=>(0,F.jsxs)(`section`,{ref:o,className:Cr(`space-y-2.5`,n),...a,children:[i||r||e?(0,F.jsxs)(`div`,{className:`flex items-end justify-between gap-4 px-1`,children:[(0,F.jsxs)(`div`,{className:`min-w-0`,children:[i?(0,F.jsx)(`h3`,{className:`text-sm font-semibold text-foreground`,children:i}):null,r?(0,F.jsx)(`p`,{className:`mt-0.5 text-xs leading-5 text-muted-foreground`,children:r}):null]}),e?(0,F.jsx)(`div`,{className:`shrink-0`,children:e}):null]}):null,t]}));ba.displayName=`SettingsSection`;var xa=P.forwardRef(({className:e,...t},n)=>(0,F.jsx)(`div`,{ref:n,className:Cr(`divide-y divide-border/55 overflow-hidden rounded-2xl bg-muted/45 text-foreground`,e),...t}));xa.displayName=`SettingsGroup`;var Sa=P.forwardRef(({className:e,layout:t,tone:n,title:r,description:i,control:a,children:o,...s},c)=>(0,F.jsxs)(`div`,{ref:c,className:Cr(ya({layout:t,tone:n}),e),...s,children:[(0,F.jsxs)(`div`,{className:`min-w-0`,children:[(0,F.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:r}),i?(0,F.jsx)(`p`,{className:`mt-0.5 text-xs leading-5 text-muted-foreground`,children:i}):null,o?(0,F.jsx)(`div`,{className:`mt-3`,children:o}):null]}),a?(0,F.jsx)(`div`,{className:`min-w-0 sm:shrink-0`,children:a}):null]}));Sa.displayName=`SettingRow`;var G=P.forwardRef(({className:e,density:t=`default`,type:n,...r},i)=>(0,F.jsx)(`input`,{type:n,className:Cr(`flex h-9 w-full rounded-xl border border-border/75 bg-card px-3.5 py-2 text-sm text-foreground file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground/55 placeholder:font-normal transition-colors focus:outline-none focus:ring-0 disabled:cursor-not-allowed disabled:opacity-50`,t===`default`?`max-md:min-h-[var(--control-touch-size)] max-md:text-base`:`text-[13px] max-md:min-h-0 max-md:text-[13px]`,e),ref:i,...r}));G.displayName=`Input`;var K=P.forwardRef(({className:e,...t},n)=>(0,F.jsx)(`label`,{ref:n,className:Cr(`text-sm font-medium leading-none text-foreground peer-disabled:cursor-not-allowed peer-disabled:opacity-70`,e),...t}));K.displayName=`Label`;var Ca=P.forwardRef(({className:e,checked:t=!1,onCheckedChange:n,thumbClassName:r,...i},a)=>(0,F.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":t,"data-state":t?`checked`:`unchecked`,ref:a,className:Cr(`switch-track peer inline-flex h-[22px] w-10 shrink-0 cursor-pointer items-center rounded-full border-2 transition-colors duration-fast focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border disabled:cursor-not-allowed disabled:opacity-50`,t?`border-primary/70 bg-primary`:`border-border/60 bg-muted hover:bg-[var(--interaction-hover)]`,e),onClick:()=>n?.(!t),...i,children:(0,F.jsx)(`span`,{"data-state":t?`checked`:`unchecked`,className:Cr(`switch-thumb pointer-events-none block h-5 w-5 rounded-full bg-card shadow-md ring-1 ring-border/50 transition-transform duration-fast`,t?`translate-x-5`:`translate-x-0`,r)})}));Ca.displayName=`Switch`;var wa={maxRetries:8,startupTimeoutMs:2e3,settledTimeoutMs:5e3,retryBaseDelayMs:500,retryMaxDelayMs:3e3};function Ta(e){return e instanceof Error&&_o(e.message)}function Ea(e,t){return e<wa.maxRetries&&Ta(t)}function Da(e){return Math.min(wa.retryMaxDelayMs,wa.retryBaseDelayMs*2**Math.max(0,e-1))}function Oa(){let e=(0,P.useRef)(!1);return it({queryKey:[`auth-status`],queryFn:async()=>{let t=await Oo({timeoutMs:e.current?wa.settledTimeoutMs:wa.startupTimeoutMs});return e.current=!0,t},staleTime:5e3,retry:Ea,retryDelay:Da})}function ka(e){return Promise.all([e.invalidateQueries({queryKey:[`auth-status`]}),e.invalidateQueries({queryKey:[`app-meta`]}),e.invalidateQueries({queryKey:[`config`]}),e.invalidateQueries({queryKey:[`config-meta`]}),e.invalidateQueries({queryKey:[`config-schema`]}),e.invalidateQueries({queryKey:[`sessions`]}),e.invalidateQueries({queryKey:[`session-history`]}),e.invalidateQueries({queryKey:[`chat-runs`]}),e.invalidateQueries({queryKey:[`cron-jobs`]})])}function Aa(){let e=Ue();return at({mutationFn:ko,onSuccess:async()=>{await ka(e),I.success(r(`authSetupSuccess`))},onError:e=>{I.error(`${r(`authActionFailed`)}: ${e.message}`)}})}function ja(){let e=Ue();return at({mutationFn:Ao,onSuccess:async()=>{await ka(e),I.success(r(`authLoginSuccess`))},onError:e=>{I.error(`${r(`authActionFailed`)}: ${e.message}`)}})}function Ma(){let e=Ue();return at({mutationFn:jo,onSuccess:async()=>{await ka(e),I.success(r(`authLogoutSuccess`))},onError:e=>{I.error(`${r(`authActionFailed`)}: ${e.message}`)}})}function Na(){let e=Ue();return at({mutationFn:Mo,onSuccess:async()=>{await ka(e),I.success(r(`authPasswordUpdated`))},onError:e=>{I.error(`${r(`authActionFailed`)}: ${e.message}`)}})}function Pa(){let e=Ue();return at({mutationFn:No,onSuccess:async(t,n)=>{await ka(e),I.success(n.enabled?r(`authEnabledSuccess`):r(`authDisabledSuccess`))},onError:e=>{I.error(`${r(`authActionFailed`)}: ${e.message}`)}})}var Fa=8;function Ia(e){return e.trim().length>=Fa}function La(e,t){return e===t?!0:(I.error(r(`authPasswordMismatch`)),!1)}function Ra({children:e,contentClassName:t=`space-y-6`}){return(0,F.jsx)(xa,{children:(0,F.jsx)(`div`,{className:`${t} p-4`,children:e})})}function za({canSubmitSetup:e,isPending:t,onSubmit:n,setSetupConfirmPassword:i,setSetupPassword:a,setSetupUsername:o,setupConfirmPassword:s,setupPassword:c,setupUsername:l}){return(0,F.jsxs)(Ra,{contentClassName:`space-y-5`,children:[(0,F.jsxs)(`div`,{className:`rounded-xl bg-background/65 p-4`,children:[(0,F.jsx)(`p`,{className:`text-sm font-medium text-foreground`,children:r(`authSetupTitle`)}),(0,F.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:r(`authSetupDescription`)})]}),(0,F.jsxs)(`div`,{className:`grid gap-4 md:grid-cols-2`,children:[(0,F.jsxs)(`div`,{className:`space-y-2`,children:[(0,F.jsx)(K,{htmlFor:`auth-setup-username`,children:r(`authUsername`)}),(0,F.jsx)(G,{id:`auth-setup-username`,value:l,onChange:e=>o(e.target.value),placeholder:r(`authUsernamePlaceholder`)})]}),(0,F.jsxs)(`div`,{className:`space-y-2`,children:[(0,F.jsx)(K,{htmlFor:`auth-setup-password`,children:r(`authPassword`)}),(0,F.jsx)(G,{id:`auth-setup-password`,type:`password`,value:c,onChange:e=>a(e.target.value),placeholder:r(`authPasswordPlaceholder`)})]})]}),(0,F.jsxs)(`div`,{className:`space-y-2`,children:[(0,F.jsx)(K,{htmlFor:`auth-setup-confirm`,children:r(`authConfirmPassword`)}),(0,F.jsx)(G,{id:`auth-setup-confirm`,type:`password`,value:s,onChange:e=>i(e.target.value),placeholder:r(`authConfirmPasswordPlaceholder`)}),(0,F.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:r(`authPasswordMinLengthHint`)})]}),(0,F.jsx)(va,{type:`button`,disabled:!e,onClick:()=>void n(),children:r(t?`authSettingUp`:`authSetupAction`)})]})}function Ba({authenticated:e,canUpdatePassword:t,enabled:n,isLoggingOut:i,isUpdatingEnabled:a,isUpdatingPassword:o,nextConfirmPassword:s,nextPassword:c,onEnabledChange:l,onLogout:u,onPasswordUpdate:d,setNextConfirmPassword:f,setNextPassword:p,username:m}){return(0,F.jsxs)(Ra,{children:[(0,F.jsxs)(`div`,{className:`rounded-xl bg-background/65 p-4`,children:[(0,F.jsxs)(`div`,{className:`flex flex-col gap-4 md:flex-row md:items-start md:justify-between`,children:[(0,F.jsxs)(`div`,{className:`space-y-1`,children:[(0,F.jsx)(`p`,{className:`text-sm font-medium text-foreground`,children:r(`authStatusLabel`)}),(0,F.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:r(`authStatusConfiguredUser`).replace(`{username}`,m??``)}),(0,F.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:r(`authUsernameFixedHelp`)})]}),(0,F.jsx)(`span`,{className:`inline-flex items-center rounded-full bg-muted px-3 py-1 text-xs font-medium text-foreground`,children:r(n?`enabled`:`disabled`)})]}),(0,F.jsxs)(`div`,{className:`mt-4 flex flex-col gap-4 border-t border-border/55 pt-4 md:flex-row md:items-center md:justify-between`,children:[(0,F.jsxs)(`div`,{className:`space-y-1`,children:[(0,F.jsx)(`p`,{className:`text-sm font-medium text-foreground`,children:r(`authEnableLabel`)}),(0,F.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:r(n?`authEnableOnHelp`:`authEnableOffHelp`)})]}),(0,F.jsx)(Ca,{checked:n,disabled:a,onCheckedChange:e=>{l(e)}})]})]}),(0,F.jsxs)(`div`,{className:`space-y-4 rounded-xl bg-background/65 p-4`,children:[(0,F.jsxs)(`div`,{className:`space-y-1`,children:[(0,F.jsx)(`p`,{className:`text-sm font-medium text-foreground`,children:r(`authPasswordSectionTitle`)}),(0,F.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:r(`authPasswordSectionDescription`)})]}),(0,F.jsxs)(`div`,{className:`grid gap-4 md:grid-cols-2`,children:[(0,F.jsxs)(`div`,{className:`space-y-2`,children:[(0,F.jsx)(K,{htmlFor:`auth-password-next`,children:r(`authPassword`)}),(0,F.jsx)(G,{id:`auth-password-next`,type:`password`,value:c,onChange:e=>p(e.target.value),placeholder:r(`authPasswordPlaceholder`)})]}),(0,F.jsxs)(`div`,{className:`space-y-2`,children:[(0,F.jsx)(K,{htmlFor:`auth-password-confirm`,children:r(`authConfirmPassword`)}),(0,F.jsx)(G,{id:`auth-password-confirm`,type:`password`,value:s,onChange:e=>f(e.target.value),placeholder:r(`authConfirmPasswordPlaceholder`)})]})]}),(0,F.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,F.jsx)(va,{type:`button`,disabled:!t,onClick:()=>void d(),children:r(o?`authPasswordUpdating`:`authPasswordAction`)}),n&&e?(0,F.jsx)(va,{type:`button`,variant:`outline`,disabled:i,onClick:()=>void u(),children:r(i?`authLoggingOut`:`authLogoutAction`)}):null]}),(0,F.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:r(`authSessionMemoryNotice`)})]})]})}function Va(){let e=Oa(),t=Aa(),n=Pa(),i=Na(),a=Ma(),[o,s]=(0,P.useState)(``),[c,l]=(0,P.useState)(``),[u,d]=(0,P.useState)(``),[f,p]=(0,P.useState)(``),[m,h]=(0,P.useState)(``),g=e.data,_=o.trim().length>0&&Ia(c)&&c===u&&!t.isPending,v=Ia(f)&&f===m&&!i.isPending;return e.isLoading&&!g?(0,F.jsx)(Ra,{contentClassName:`text-sm text-gray-500`,children:r(`loading`)}):e.isError||!g?(0,F.jsxs)(Ra,{contentClassName:`space-y-4`,children:[(0,F.jsx)(`p`,{className:`text-sm text-gray-500`,children:r(`authStatusLoadFailed`)}),(0,F.jsx)(va,{variant:`outline`,onClick:()=>void e.refetch(),children:r(`authRetryStatus`)})]}):g.configured?(0,F.jsx)(Ba,{authenticated:g.authenticated,enabled:g.enabled,username:g.username,nextPassword:f,setNextPassword:p,nextConfirmPassword:m,setNextConfirmPassword:h,canUpdatePassword:v,isUpdatingEnabled:n.isPending,isUpdatingPassword:i.isPending,isLoggingOut:a.isPending,onEnabledChange:async e=>{try{await n.mutateAsync({enabled:e})}catch{}},onPasswordUpdate:async()=>{if(La(f,m))try{await i.mutateAsync({password:f}),p(``),h(``)}catch{}},onLogout:async()=>{try{await a.mutateAsync()}catch{}}}):(0,F.jsx)(za,{setupUsername:o,setSetupUsername:s,setupPassword:c,setSetupPassword:l,setupConfirmPassword:u,setSetupConfirmPassword:d,canSubmitSetup:_,isPending:t.isPending,onSubmit:async()=>{if(La(c,u))try{await t.mutateAsync({username:o.trim(),password:c}),l(``),d(``)}catch{}}})}function Ha(){return(0,F.jsx)(ga,{title:r(`authSecurityTitle`),description:r(`authSecurityDescription`),children:(0,F.jsx)(Va,{})})}var Ua=250,Wa=class{constructor(e){this.requestRecovery=e,this.started=!1,this.recoveryCooldownId=null,this.start=()=>{this.started||(this.started=!0,document.addEventListener(`visibilitychange`,this.handleVisibilityChange),window.addEventListener(`online`,this.handleOnline),window.addEventListener(`pageshow`,this.handlePageShow),window.addEventListener(`focus`,this.handleForegroundSignal))},this.stop=()=>{this.started&&(this.started=!1,document.removeEventListener(`visibilitychange`,this.handleVisibilityChange),window.removeEventListener(`online`,this.handleOnline),window.removeEventListener(`pageshow`,this.handlePageShow),window.removeEventListener(`focus`,this.handleForegroundSignal),this.recoveryCooldownId!==null&&(window.clearTimeout(this.recoveryCooldownId),this.recoveryCooldownId=null))},this.handleVisibilityChange=()=>{this.requestRecoveryIfVisible()},this.handleOnline=()=>{this.requestRecoveryIfVisible()},this.handleForegroundSignal=()=>{this.requestRecoveryIfVisible()},this.handlePageShow=e=>{e.persisted&&this.requestRecoveryIfVisible()},this.requestRecoveryIfVisible=()=>{document.visibilityState!==`visible`||this.recoveryCooldownId!==null||(this.requestRecovery(),this.recoveryCooldownId=window.setTimeout(()=>{this.recoveryCooldownId=null},Ua))}}};function Ga(e){return e.replace(/\s+/g,` `).trim().slice(0,200)}function Ka(e,t){if(t===404&&e.startsWith(`/api/providers/`)&&e.endsWith(`/test`))return`Provider test endpoint is missing. This usually means nextclaw runtime version is outdated.`;if(t===401||t===403)return`Authentication failed. Check apiKey and custom headers.`;if(t===429)return`Rate limited by upstream provider. Retry later or switch model/provider.`;if(t>=500)return`Upstream service error. Retry later and inspect server logs if it persists.`}function qa(e){if(e instanceof Error){let t=e.name?.trim()||`Error`,n=e.message?.trim()||`Unknown error`;return{summary:`${t}: ${n}`,details:{errorName:t,errorMessage:n,...e.stack?.trim()?{errorStack:e.stack.trim()}:{}}}}return{summary:String(e??`Unknown error`),details:{errorName:`NonError`,errorMessage:String(e??`Unknown error`)}}}async function Ja(e,t,n={}){let r=`${e}${t}`,i=(n.method||`GET`).toUpperCase(),a;try{let e=new Headers(n.headers);!(n.body instanceof FormData)&&!e.has(`Content-Type`)&&e.set(`Content-Type`,`application/json`),a=await fetch(r,{credentials:`include`,headers:e,...n})}catch(e){let n=qa(e);return H.reportTransportFailure(n.summary),{ok:!1,error:{code:`NETWORK_ERROR`,message:`Fetch failed on ${i} ${t} | ${n.summary}`,details:{method:i,endpoint:t,url:r,...n.details}}}}let o=await a.text(),s=null;if(o)try{s=JSON.parse(o)}catch{}if(!s){let e=o?Ga(o):``,n=Ka(t,a.status),s=[`Non-JSON response (${a.status} ${a.statusText}) on ${i} ${t}`];return e&&s.push(`body=${e}`),n&&s.push(`hint=${n}`),{ok:!1,error:{code:`INVALID_RESPONSE`,message:s.join(` | `),details:{status:a.status,statusText:a.statusText,method:i,endpoint:t,url:r,bodySnippet:e||void 0,hint:n}}}}return a.ok,s}function Ya(e){let t=e.split(`
|
|
15
15
|
`),n=``,r=[];for(let e of t){let t=e.trimEnd();if(!(!t||t.startsWith(`:`))){if(t.startsWith(`event:`)){n=t.slice(6).trim();continue}t.startsWith(`data:`)&&r.push(t.slice(5).trimStart())}}if(!n)return null;let i,a=r.join(`
|
|
16
16
|
`);if(a)try{i=JSON.parse(a)}catch{i=a}return{name:n,payload:i}}function Xa(e,t,n){let r=Ya(e);r&&(r.name===`final`&&n(r.payload),t(r))}function Za(e,t,n){let r=e,i=r.indexOf(`
|
|
17
17
|
|
|
18
18
|
`);for(;i!==-1;)Xa(r.slice(0,i),t,n),r=r.slice(i+2),i=r.indexOf(`
|
|
19
19
|
|
|
20
|
-
`);return r}async function Qa(e,t){let n=e.body?.getReader();if(!n)throw Error(`SSE response body unavailable`);let r=new TextDecoder,i=``,a;try{for(;;){let{value:e,done:o}=await n.read();if(o)break;i+=r.decode(e,{stream:!0}),i=Za(i,t,e=>{a=e})}i.trim()&&Xa(i,t,e=>{a=e})}finally{n.releaseLock()}return a}function $a(e,t){let n=e.replace(/\/$/,``);try{let e=new URL(n,window.location.origin);return`${e.protocol===`https:`?`wss:`:e.protocol===`http:`?`ws:`:e.protocol}//${e.host}${t}`}catch{return n.startsWith(`wss://`)||n.startsWith(`ws://`)?`${n}${t}`:n.startsWith(`https://`)?`${n.replace(/^https:/,`wss:`)}${t}`:n.startsWith(`http://`)?`${n.replace(/^http:/,`ws:`)}${t}`:`${n}${t}`}}function eo(e,t){if(!e.ok){let n=Error(e.error?.message||t);return n.code=e.error?.code,n.details=e.error?.details,n}return Error(t)}function to(e){if(e instanceof Error){let t=e.name?.trim(),n=e.message?.trim();return t&&n?`${t}: ${n}`:n||t||`Unknown error`}return String(e??`Unknown error`)}function no(e,t){let n=Error(e);return t!==void 0&&(n.cause=t),n}var ro=class{constructor(e){this.wsUrl=e,this.socket=null,this.reconnectTimer=null,this.manualClose=!1,this.subscribers=new Set,this.browserRecovery=new Wa(()=>{this.replaceSocket()}),this.subscribe=e=>(this.subscribers.add(e),this.subscribers.size===1?(this.browserRecovery.start(),this.connect()):this.socket?.readyState===WebSocket.OPEN&&e({type:`connection.open`,payload:{}}),()=>{this.subscribers.delete(e),this.subscribers.size===0&&(this.browserRecovery.stop(),this.disconnect())}),this.emit=e=>{for(let t of this.subscribers)t(e)},this.connect=()=>{if(this.socket&&(this.socket.readyState===WebSocket.CONNECTING||this.socket.readyState===WebSocket.OPEN))return;this.manualClose=!1;let e=new WebSocket(this.wsUrl);this.socket=e,e.onopen=()=>{this.emit({type:`connection.open`,payload:{}})},e.onmessage=e=>{try{let t=JSON.parse(String(e.data??``));this.emit(t)}catch(e){console.error(`Failed to parse websocket message:`,e)}},e.onerror=()=>{this.emit({type:`connection.error`,payload:{message:`websocket error`}})},e.onclose=()=>{this.emit({type:`connection.close`,payload:{}}),this.socket=null,!this.manualClose&&this.subscribers.size>0&&this.scheduleReconnect()}},this.scheduleReconnect=()=>{this.reconnectTimer===null&&(this.reconnectTimer=window.setTimeout(()=>{this.reconnectTimer=null,this.connect()},3e3))},this.replaceSocket=()=>{if(this.subscribers.size===0)return;this.reconnectTimer!==null&&(window.clearTimeout(this.reconnectTimer),this.reconnectTimer=null);let e=this.socket;this.socket=null,e&&(e.onopen=null,e.onmessage=null,e.onerror=null,e.onclose=null,e.close(),this.emit({type:`connection.close`,payload:{}})),this.connect()},this.disconnect=()=>{this.manualClose=!0,this.reconnectTimer!==null&&(window.clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.socket?.close(),this.socket=null}}},io=class{constructor(e={}){this.options=e,this.request=async e=>{let t=Number.isFinite(e.timeoutMs)&&(e.timeoutMs??0)>0?Math.trunc(e.timeoutMs):3e4,n=new AbortController,r=window.setTimeout(()=>n.abort(`Request timed out after ${t}ms: ${e.method} ${e.path}`),t),i=e.signal?AbortSignal.any([n.signal,e.signal]):n.signal,a=ao(e.body);try{let t=await Ja(this.apiBase,e.path,{method:e.method,...a===void 0?{}:{body:a},...e.headers?{headers:e.headers}:{},signal:i});if(!t.ok)throw eo(t,`Request failed for ${e.method} ${e.path}`);return t.data}catch(t){if(n?.signal.aborted){let{reason:t}=n.signal;throw Error(typeof t==`string`&&t.trim()?t:`Request timed out: ${e.method} ${e.path}`)}throw t instanceof Error?t:no(`Request failed for ${e.method} ${e.path} | ${to(t)}`,t)}finally{r!==null&&window.clearTimeout(r)}},this.openStream=e=>{let t=new AbortController,n=()=>t.abort();return e.signal&&(e.signal.aborted?n():e.signal.addEventListener(`abort`,n,{once:!0})),{finished:(async()=>{let r;try{r=await fetch(`${this.apiBase}${e.path}`,{method:e.method,credentials:`include`,headers:{"Content-Type":`application/json`,Accept:`text/event-stream`},...e.body===void 0?{}:{body:JSON.stringify(e.body)},signal:t.signal})}catch(t){throw H.reportTransportFailure(to(t)),no(`Stream request failed for ${e.method} ${e.path} | ${to(t)}`,t)}if(!r.ok){let t=(await r.text()).trim();throw Error(t?`Stream request failed for ${e.method} ${e.path} | HTTP ${r.status} | ${t}`:`Stream request failed for ${e.method} ${e.path} | HTTP ${r.status}`)}try{return await Qa(r,e.onEvent)}finally{e.signal?.removeEventListener(`abort`,n)}})(),cancel:()=>t.abort()}},this.subscribe=e=>this.realtimeGateway.subscribe(e),this.apiBase=e.apiBase??((void 0)?.trim().replace(/\/$/,``)||(typeof window<`u`?window.location.origin:`http://127.0.0.1:55667`)),this.realtimeGateway=new ro($a(this.apiBase,e.wsPath??`/ws`))}};function ao(e){if(e!==void 0)return e instanceof FormData||e instanceof URLSearchParams||e instanceof Blob||e instanceof ArrayBuffer||typeof e==`string`?e:JSON.stringify(e)}function oo(e,t,n){if(typeof e==`object`&&e&&`ok`in e){let r=e;if(r.ok===!1&&r.error?.message){let e=Error(r.error.message);return e.code=r.error.code,e.details=r.error.details,e.status=t,e}if(r.ok===!0)return Error(n)}return typeof e==`string`&&e.trim()?Error(e.trim()):Error(`${n} (${t})`)}function so(e){if(typeof e==`object`&&e&&`ok`in e){let t=e;if(t.ok===!1){let e=Error(t.error?.message??`Remote request failed.`);throw e.code=t.error?.code,e.details=t.error?.details,e}if(t.ok===!0)return t.data}return e}function co(e){return`${e}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}var lo=15e3,uo=class extends Error{constructor(){super(`Remote transport connection replaced after browser recovery.`)}},fo=class{constructor(e,t=(void 0)?.trim().replace(/\/$/,``)||(typeof window<`u`?window.location.origin:`http://127.0.0.1:55667`)){this.runtime=e,this.apiBase=t,this.socket=null,this.connectPromise=null,this.rejectConnect=null,this.connectTimeoutId=null,this.reconnectTimer=null,this.manualClose=!1,this.subscribers=new Set,this.pendingRequests=new Map,this.pendingStreams=new Map,this.browserRecovery=new Wa(()=>{this.replaceSocket()}),this.request=async e=>{await this.ensureSocket();let t=co(`req`),n=Number.isFinite(e.timeoutMs)&&(e.timeoutMs??0)>0?Math.trunc(e.timeoutMs):lo;return await new Promise((r,i)=>{let a=window.setTimeout(()=>{this.pendingRequests.delete(t),i(Error(`Timed out waiting for remote request response after ${n}ms: ${e.method} ${e.path}`))},n);this.pendingRequests.set(t,{resolve:e=>r(e),reject:i,timeoutId:a}),this.send({type:`request`,id:t,target:{method:e.method,path:e.path,...e.headers?{headers:e.headers}:{},...e.body===void 0?{}:{body:e.body}}})})},this.openStream=e=>{let t=co(`stream`),n=!1,r=e=>{n||(n=!0,a(e))},i,a,o=new Promise((e,t)=>{i=e,a=t}),s=()=>{this.pendingStreams.delete(t),!n&&(n=!0,this.send({type:`stream.cancel`,streamId:t}),a(Error(`stream cancelled`)))};this.pendingStreams.set(t,{onEvent:e.onEvent,finalResult:void 0,resolve:e=>{n||(n=!0,i(e))},reject:e=>{n||(n=!0,a(e))}});let c=()=>s();return e.signal&&(e.signal.aborted?s():e.signal.addEventListener(`abort`,c,{once:!0})),this.ensureSocket().then(()=>{n||this.send({type:`stream.open`,streamId:t,target:{method:e.method,path:e.path,...e.body===void 0?{}:{body:e.body}}})}).catch(e=>{this.pendingStreams.delete(t),r(e instanceof Error?e:Error(String(e)))}),{finished:o.finally(()=>{e.signal?.removeEventListener(`abort`,c),this.pendingStreams.delete(t)}),cancel:s}},this.subscribe=e=>(this.subscribers.add(e),this.browserRecovery.start(),this.ensureSocket().catch(t=>{t instanceof uo||e({type:`connection.error`,payload:{message:t instanceof Error?t.message:String(t)}})}),()=>{this.subscribers.delete(e),this.subscribers.size===0&&this.browserRecovery.stop()}),this.emit=e=>{for(let t of this.subscribers)t(e)},this.send=e=>{if(!this.socket||this.socket.readyState!==WebSocket.OPEN)throw Error(`Remote transport websocket is not connected.`);this.socket.send(JSON.stringify(e))},this.ensureSocket=async()=>{if(this.socket?.readyState===WebSocket.OPEN&&this.connectPromise===null)return;if(this.connectPromise)return await this.connectPromise;let e=$a(this.apiBase,this.runtime.wsPath);this.manualClose=!1,this.connectPromise=new Promise((t,n)=>{this.rejectConnect=n;let r=new WebSocket(e);this.socket=r;let i=!1,a=()=>{this.connectTimeoutId!==null&&(window.clearTimeout(this.connectTimeoutId),this.connectTimeoutId=null)};this.connectTimeoutId=window.setTimeout(()=>{this.connectTimeoutId=null,n(Error(`Timed out waiting for remote transport websocket.`)),r.close()},8e3),r.onopen=()=>{i=!0,a(),this.connectPromise=null,this.rejectConnect=null,t(),this.emit({type:`connection.open`,payload:{}})},r.onmessage=e=>{try{let t=JSON.parse(String(e.data??``));if(t.type===`connection.ready`)return;this.handleFrame(t)}catch(e){console.error(`Failed to parse remote websocket frame:`,e)}},r.onerror=()=>{this.emit({type:`connection.error`,payload:{message:`remote websocket error`}})},r.onclose=()=>{a();let e=this.connectPromise!==null;this.socket=null,this.connectPromise=null,this.rejectConnect=null,this.failPendingWork(Error(`Remote transport connection closed.`)),this.emit({type:`connection.close`,payload:{}}),e&&!i&&n(Error(`Remote transport connection closed before ready.`)),!this.manualClose&&this.subscribers.size>0&&this.scheduleReconnect()}});let{connectPromise:t}=this;return await t},this.scheduleReconnect=()=>{this.reconnectTimer===null&&(this.reconnectTimer=window.setTimeout(()=>{this.reconnectTimer=null,this.ensureSocket().catch(()=>void 0)},3e3))},this.replaceSocket=()=>{if(this.subscribers.size===0)return;this.reconnectTimer!==null&&(window.clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.connectTimeoutId!==null&&(window.clearTimeout(this.connectTimeoutId),this.connectTimeoutId=null);let e=this.socket,t=this.rejectConnect;this.socket=null,this.connectPromise=null,this.rejectConnect=null,e&&(e.onopen=null,e.onmessage=null,e.onerror=null,e.onclose=null,e.close(),t?.(new uo),this.failPendingWork(Error(`Remote transport connection replaced after browser recovery.`)),this.emit({type:`connection.close`,payload:{}})),this.ensureSocket().catch(()=>void 0)},this.failPendingWork=e=>{for(let t of this.pendingRequests.values())window.clearTimeout(t.timeoutId),t.reject(e);this.pendingRequests.clear();for(let t of this.pendingStreams.values())t.reject(e);this.pendingStreams.clear()},this.handleFrame=e=>{if(e.type===`response`||e.type===`request.error`){this.handleRequestFrame(e);return}if(e.type===`stream.event`||e.type===`stream.end`||e.type===`stream.error`){this.handleStreamFrame(e);return}if(e.type===`event`){this.emit(e.event);return}e.type===`connection.error`&&this.emit({type:`connection.error`,payload:{message:e.message}})},this.handleRequestFrame=e=>{let t=this.pendingRequests.get(e.id);if(t){if(this.pendingRequests.delete(e.id),window.clearTimeout(t.timeoutId),e.type===`request.error`){t.reject(Error(e.message));return}if(e.status>=400){t.reject(oo(e.body,e.status,`Remote request failed.`));return}try{t.resolve(so(e.body))}catch(e){t.reject(e instanceof Error?e:Error(String(e)))}}},this.handleStreamFrame=e=>{let t=this.pendingStreams.get(e.streamId);if(t){if(e.type===`stream.event`){try{e.event===`final`&&(t.finalResult=e.payload),t.onEvent({name:e.event,payload:e.payload})}catch(n){this.pendingStreams.delete(e.streamId),t.reject(n instanceof Error?n:Error(String(n)))}return}if(this.pendingStreams.delete(e.streamId),e.type===`stream.end`){t.resolve(t.finalResult);return}t.reject(Error(e.message))}}}},po=`/_remote/runtime`,mo={mode:`remote`,protocolVersion:1,wsPath:`/_remote/ws`};async function ho(e){let t=`${e.replace(/\/$/,``)}${po}`,n;try{n=await fetch(t,{method:`GET`,credentials:`include`,cache:`no-store`})}catch{return new io({apiBase:e})}if(n.status===404)return new io({apiBase:e});if(!(n.headers.get(`content-type`)?.toLowerCase()??``).includes(`application/json`))return n.status>=400?new fo(mo,e):new io({apiBase:e});let r=null;try{r=await n.json()}catch{return n.status>=400?new fo(mo,e):new io({apiBase:e})}return n.ok&&r.ok&&r.data?.mode===`remote`?new fo(r.data,e):n.status>=400?new fo(mo,e):new io({apiBase:e})}var go=new class{constructor(e=(void 0)?.trim().replace(/\/$/,``)||(typeof window<`u`?window.location.origin:`http://127.0.0.1:55667`)){this.apiBase=e,this.transportPromise=null,this.getTransport=async()=>(this.transportPromise||=ho(this.apiBase),await this.transportPromise),this.request=async e=>await(await this.getTransport()).request(e),this.openStream=e=>{let t=null,n,r,i=new Promise((e,t)=>{n=e,r=t});return this.getTransport().then(i=>{t=i.openStream(e),t.finished.then(n).catch(e=>{r(e instanceof Error?e:Error(String(e)))})}).catch(e=>{r(e instanceof Error?e:Error(String(e)))}),{finished:i,cancel:()=>t?.cancel()}},this.subscribe=e=>{let t=()=>{},n=!0;return this.getTransport().then(r=>{n&&(t=r.subscribe(e))}).catch(t=>{e({type:`connection.error`,payload:{message:t instanceof Error?t.message:String(t)}})}),()=>{n=!1,t()}}}};function _o(e){let t=e.trim().toLowerCase();return t?[`failed to fetch`,`networkerror`,`network request failed`,`load failed`,`request timed out`,`timed out waiting for remote request response`,`remote transport connection closed`,`websocket error`,`fetch failed on `,`stream request failed for `,`ncp fetch failed for `].some(e=>t.includes(e)):!1}var q=new yi({baseUrl:xi,transport:{request:async({body:e,headers:t,method:n,path:r,query:i,signal:a,timeoutMs:o})=>await go.request({method:n,path:So(r,xo(i)),...e===void 0?{}:{body:e},...t?{headers:t}:{},...a?{signal:a}:{},...o===void 0?{}:{timeoutMs:o}}),upload:async({formData:e,headers:t,path:n,signal:r})=>{let i=await fetch(`${xi}${n}`,{method:`POST`,body:e,credentials:`include`,...t?{headers:t}:{},...r?{signal:r}:{}}),a=await i.json();if(!i.ok||!a.ok)throw new si({message:Co(a,`Upload failed for ${n}`),status:i.status,code:a.ok?void 0:a.error.code,details:a.ok?void 0:a.error.details});return a.data},subscribe:e=>go.subscribe(e)}});async function vo(e,t={}){let n=(t.method||`GET`).toUpperCase();try{return{ok:!0,data:await go.request({method:n,path:e,...t.timeoutMs===void 0?{}:{timeoutMs:t.timeoutMs},...t.body===void 0?{}:{body:bo(t.body)}})}}catch(t){return{ok:!1,error:{code:`REQUEST_FAILED`,message:t instanceof Error?t.message:String(t),details:{method:n,endpoint:e}}}}}var yo={get:(e,t={})=>vo(e,{...t,method:`GET`}),put:(e,t)=>vo(e,{method:`PUT`,body:JSON.stringify(t)}),post:(e,t)=>vo(e,{method:`POST`,body:JSON.stringify(t)}),delete:e=>vo(e,{method:`DELETE`})};function bo(e){if(e!=null){if(typeof e==`string`)try{return JSON.parse(e)}catch{return e}return e}}function xo(e){if(!e)return;if(e instanceof URLSearchParams)return e;let t=new URLSearchParams;for(let[n,r]of Object.entries(e)){let e=Array.isArray(r)?r:[r];for(let r of e)r!=null&&t.append(n,String(r))}return t}function So(e,t){let n=t?.toString();return n?`${e}${e.includes(`?`)?`&`:`?`}${n}`:e}function Co(e,t){return e.ok?t:e.error.message}async function J(){return{agents:await q.agents.list()}}async function Y(e,t){return await q.agents.update(e,t)}async function wo(e){return await q.agents.delete(e)}async function To(e,t={}){return await q.channelAuth.start(e,t)}async function Eo(e,t){return await q.channelAuth.poll(e,t)}async function Do(e,t){return await q.channelAuth.connect(e,t)}async function Oo(e={}){return await q.auth.fetchStatus({timeoutMs:e.timeoutMs??5e3})}async function ko(e){return await q.auth.setup(e)}async function Ao(e){return await q.auth.login(e)}async function jo(){return await q.auth.logout()}async function Mo(e){return await q.auth.updatePassword(e)}async function No(e){return await q.auth.updateEnabled(e)}async function Po(){return await q.app.fetchMeta()}async function Fo(e={}){return await q.app.fetchBootstrapStatus(e)}async function Io(){return await q.config.fetch()}async function Lo(){return await q.config.fetchMeta()}async function Ro(){return await q.providers.list()}async function zo(){return await q.providers.listTemplates()}async function Bo(){return await q.providers.listModelCatalog()}async function Vo(){return await q.config.fetchSchema()}async function Ho(e){return await q.config.updateModel(e)}async function Uo(e){return await q.config.updateSearch(e)}async function Wo(e,t){return await q.providers.update(e,t)}async function Go(e={}){return await q.providers.create(e)}async function Ko(e){return await q.providers.delete(e)}async function qo(e,t){return await q.providers.testConnection(e,t)}async function Jo(e,t){return await q.providers.discoverModels(e,t)}async function Yo(e,t={}){return await q.providers.startAuth(e,t)}async function Xo(e,t){return await q.providers.pollAuth(e,t)}async function Zo(e){return await q.providers.importAuthFromCli(e)}async function Qo(e,t){return await q.config.updateChannel(e,t)}async function $o(e){return await q.config.updateRuntime(e)}async function es(e){return await q.config.updateSecrets(e)}async function ts(e){return await q.config.updateProductAnalytics(e)}async function ns(){return await q.config.fetchProductAnalyticsStatus()}async function rs(e,t){return await q.config.executeAction(e,t)}async function is(){return await q.config.fetchChatSessionTypes()}async function as(e){return await q.config.fetchCronJobs(e)}async function os(e){return await q.config.deleteCronJob(e)}async function ss(e,t){return await q.config.setCronJobEnabled(e,t)}async function cs(e,t){return await q.config.runCronJob(e,t)}async function ls(e){return await q.marketplace.fetchItems(e)}async function us(e){return await q.marketplace.fetchSkillContent(e)}async function ds(){return await q.marketplace.fetchSkillScenes()}async function fs(e){return await q.marketplace.install(e)}async function ps(e){return await q.marketplace.fetchInstalled(e)}async function ms(e){return await q.marketplace.manage(e)}async function hs(e){return await q.mcpMarketplace.fetchItems(e)}async function gs(){return await q.mcpMarketplace.fetchInstalled()}async function _s(e){return await q.mcpMarketplace.fetchContent(e)}async function vs(e){return await q.mcpMarketplace.install({type:`mcp`,...e})}async function ys(e){return await q.mcpMarketplace.manage({type:`mcp`,...e})}async function bs(e){return await q.mcpMarketplace.doctor(e)}async function xs(e){return await q.mcp.testConnection(e)}async function Ss(e){return await q.mcp.createConnection(e)}function Cs(e){return`${xi}/api/ncp/assets/content?${new URLSearchParams({uri:e}).toString()}`}async function ws(e){return(await q.sessions.uploadAssets(e)).assets.map(e=>({id:e.id,name:e.name,mimeType:e.mimeType,sizeBytes:e.sizeBytes,assetUri:e.assetUri,url:e.url}))}async function Ts(e){return await q.sessions.list(e)}async function Es(e,t={}){return await q.sessions.listMessages(e,t)}async function Ds(e,t,n,r){let i=(await Es(e,{cursor:n,limit:1,...r?{signal:r}:{}})).messages[0];if(!i||i.id!==t)throw Error(`Session message detail no longer matches ${t}.`);return i}async function Os(e){return await q.sessions.getUsage(e)}async function ks(e){let t=await vo(`/api/ncp/sessions/${encodeURIComponent(e)}/observations`);if(!t.ok)throw Error(t.error.message);return t.data}async function As(e,t){let n=await vo(`/api/ncp/sessions/${encodeURIComponent(e)}/observations/${t.kind}/${encodeURIComponent(t.id)}`,{method:`PATCH`,body:JSON.stringify({action:t.action})});if(!n.ok)throw Error(n.error.message);return n.data}async function js(e,t){return await q.sessions.listSkills(e,t)}async function Ms(e,t){return await q.sessions.update(e,t)}async function Ns(e){return await q.sessions.compactContext(e)}async function Ps(e){return await q.sessions.delete(e)}async function Fs(){return await q.projects.list()}async function Is(e){return await q.projects.create(e)}async function Ls(e){return await q.projects.addExisting(e)}async function Rs(e){return await q.projects.remove(e,e)}function zs(e){return encodeURIComponent(e)}async function Bs(e){let t=await yo.get(`/api/preferences/${zs(e)}`);if(!t.ok)throw Error(t.error.message);return t.data}async function Vs(e,t){let n=await yo.put(`/api/preferences/${zs(e)}`,{value:t});if(!n.ok)throw Error(n.error.message);return n.data}var Hs={chat:{modelFavorites:`chat.modelFavorites`,newSessionType:`chat.newSession.sessionType`}};function Us(e){return e.lastMessageAt??e.createdAt??e.updatedAt}function Ws(e){return e.metadata?.last_activity_preview?.state===`running`}function Gs(e){return[...e].sort((e,t)=>Us(t).localeCompare(Us(e)))}function Ks(e,t){let n=t.updatedAt.localeCompare(e.updatedAt);return n===0?e.status===t.status||t.status===`idle`:n>0}function qs(e,t){if(e[0]!==`ncp-sessions`)return!1;let n=typeof e[2]==`string`?e[2].trim():``;return!n||t.peerId===n}function Js(e,t){if(!e)return e;let n=e.pages.map(e=>e.sessions.length),r=e.pages.flatMap(e=>e.sessions),i=t({sessions:r,total:e.pages[0]?.total??r.length});if(!i)return e;let a=0;return{...e,pages:e.pages.map((e,t)=>{let r=a+(n[t]??0),o={...e,sessions:i.sessions.slice(a,r)};return a=r,o})}}function Ys(e,t){if(!e)return;let n=e.getQueriesData({queryKey:[`ncp-session-pages`]});for(let[r,i]of n){let n=typeof r[2]==`string`?r[2].trim():``,a=i?.pages.some(e=>e.sessions.some(e=>e.sessionId===t.sessionId));if(n||!a){e.invalidateQueries({queryKey:r,exact:!0});continue}e.setQueryData(r,e=>Js(e,e=>Zs(e,t)))}}function Xs(e,t){e?.setQueriesData({queryKey:[`ncp-session-pages`]},e=>Js(e,e=>ec(e,t)))}function Zs(e,t){if(!e)return e;let n=e.sessions.findIndex(e=>e.sessionId===t.sessionId),r=Gs(n>=0?e.sessions.map((e,r)=>r===n&&Ks(e,t)?{...t,status:t.status===`idle`&&Ws(t)?e.status:t.status}:e):[...e.sessions,t]);return{...e,sessions:r,total:r.length}}function Qs(e,t){if(!e)return e;let n=t.trim();if(!n)return e;let r=e.sessions.filter(e=>e.sessionId!==n);return r.length===e.sessions.length?e:{...e,sessions:r,total:r.length}}function $s(e,t){e?.setQueriesData({predicate:e=>qs(e.queryKey,t)},e=>Zs(e,t))}function ec(e,t){if(!e)return e;let n=t.sessionKey.trim();if(!n)return e;let r=!1,i=e.sessions.map(e=>e.sessionId!==n||e.status===t.status?e:(r=!0,{...e,status:t.status}));return r?{...e,sessions:i}:e}function tc(e,t){e?.setQueriesData({queryKey:[`ncp-sessions`]},e=>ec(e,t))}function nc(e,t){e?.setQueriesData({queryKey:[`ncp-sessions`]},e=>Qs(e,t))}function rc(e,t){if(t.type===`session.run-status`){tc(e,t.payload),Xs(e,t.payload);return}if(t.type===`session.summary.upsert`){$s(e,t.payload.summary),Ys(e,t.payload.summary),e?.invalidateQueries({queryKey:[`ncp-session-token-usage`,t.payload.summary.sessionId],exact:!0});return}nc(e,t.payload.sessionKey),e?.invalidateQueries({queryKey:[`ncp-session-pages`]})}async function ic(){return await q.remote.fetchStatus()}async function ac(){return await q.remote.fetchDoctor()}async function oc(e){return await q.remote.startBrowserAuth(e)}async function sc(e){return await q.remote.pollBrowserAuth(e)}async function cc(){return await q.remote.logout()}async function lc(e){return await q.remote.updateAccountProfile(e)}async function uc(e){return await q.remote.updateSettings(e)}async function dc(e){return await q.remote.controlService(e)}async function fc(){return await q.runtimeControl.fetch()}async function pc(){return await q.runtimeControl.startService()}async function X(){return await q.runtimeControl.restartService()}async function mc(){return await q.runtimeControl.stopService()}async function hc(){let e=await vo(`/api/runtime/extensions/catalog`);if(!e.ok)throw Error(e.error.message);return e.data}async function gc(){return await q.runtimeUpdate.fetch()}async function _c(){return await q.runtimeUpdate.check()}async function vc(){return await q.runtimeUpdate.download()}async function yc(){return await q.runtimeUpdate.apply()}async function bc(e){return await q.runtimeUpdate.updateChannel(e)}var xc=`/api/server-paths/content`;async function Sc(e){return await q.serverPaths.browse(e)}async function Cc(e){return await q.serverPaths.watch(e)}async function wc(e){await q.serverPaths.unwatch(e)}async function Tc(e){return await q.serverPaths.createDirectory(e)}async function Ec(e){return await q.serverPaths.createFile(e)}async function Dc(e){return await q.serverPaths.renameEntry(e)}async function Oc(e){return await q.serverPaths.deleteEntry(e)}async function kc(e){return await q.serverPaths.uploadFiles(e)}async function Ac(e){return await q.serverPaths.read(e)}async function jc(e){return await q.serverPaths.search(e)}function Mc(e,t){let n=e.trim(),r=n.startsWith(`/`)||/^[a-z]:[\\/]/i.test(n),i=t?.trim()??``;if(!r&&!i)return null;let a=new URLSearchParams({path:n});return i&&a.set(`basePath`,i),`${xi}${xc}?${a.toString()}`}export{us as $,rt as $n,ma as $t,Rs as A,rn as An,es as At,As as B,Jt as Bn,ja as Bt,$s as C,xn as Cn,qo as Ct,Ls as D,bn as Dn,Wo as Dt,Vs as E,yn as En,ts as Et,ks as F,en as Fn,J as Ft,bs as G,Ht as Gn,G as Gt,ws as H,qt as Hn,Oa as Ht,js as I,Kt as In,Y as It,hs as J,It as Jn,ba as Jt,_s as K,Vt as Kn,Sa as Kt,Os as L,Wt as Ln,q as Lt,Ps as M,pn as Mn,Eo as Mt,Ds as N,nn as Nn,To as Nt,Is as O,sn as On,$o as Ot,Es as P,tn as Pn,wo as Pt,ls as Q,it as Qn,ha as Qt,Ts as R,Gt as Rn,_o as Rt,nc as S,Sn,Yo as St,Bs as T,vn as Tn,Ho as Tt,Ss as U,Ut as Un,Ca as Ut,Cs as V,Yt as Vn,Ta as Vt,xs as W,R as Wn,K as Wt,ys as X,I as Xn,_a as Xt,vs as Y,Ft as Yn,va as Yt,ps as Z,at as Zn,ga as Zt,sc as _,Cr as _n,te as _r,Ro as _t,Sc as a,Qi as an,Ze as ar,Ko as at,uc as b,En as bn,l as br,cs as bt,Dc as c,Ji as cn,We as cr,Po as ct,Cc as d,H as dn,je as dr,Vo as dt,pa as en,$e as er,ds as et,hc as f,Li as fn,Me as fr,as as ft,cc as g,Er as gn,h as gr,zo as gt,ic as h,si as hn,N as hr,Bo as ht,Oc as i,ia as in,Qe as ir,os as it,Ns as j,an as jn,Do as jt,Fs as k,on as kn,Uo as kt,wc as l,qi as ln,Ue as lr,Io as lt,ac as m,xi as mn,xe as mr,ns as mt,Tc as n,ea as nn,tt as nr,ms as nt,Ac as o,W as on,Ye as or,Jo as ot,dc as p,Oi as pn,Oe as pr,is as pt,gs as q,Bt as qn,xa as qt,Ec as r,ta as rn,Xe as rr,Go as rt,jc as s,Yi as sn,Ke as sr,rs as st,Mc as t,da as tn,nt as tr,fs as tt,kc as u,U as un,Ve as ur,Lo as ut,oc as v,Sr as vn,E as vr,Zo as vt,Hs as w,hn as wn,Qo as wt,rc as x,Cn as xn,a as xr,ss as xt,lc as y,On as yn,u as yr,Xo as yt,Ms as z,Xt as zn,Ha as zt};
|
|
20
|
+
`);return r}async function Qa(e,t){let n=e.body?.getReader();if(!n)throw Error(`SSE response body unavailable`);let r=new TextDecoder,i=``,a;try{for(;;){let{value:e,done:o}=await n.read();if(o)break;i+=r.decode(e,{stream:!0}),i=Za(i,t,e=>{a=e})}i.trim()&&Xa(i,t,e=>{a=e})}finally{n.releaseLock()}return a}function $a(e,t){let n=e.replace(/\/$/,``);try{let e=new URL(n,window.location.origin);return`${e.protocol===`https:`?`wss:`:e.protocol===`http:`?`ws:`:e.protocol}//${e.host}${t}`}catch{return n.startsWith(`wss://`)||n.startsWith(`ws://`)?`${n}${t}`:n.startsWith(`https://`)?`${n.replace(/^https:/,`wss:`)}${t}`:n.startsWith(`http://`)?`${n.replace(/^http:/,`ws:`)}${t}`:`${n}${t}`}}function eo(e,t){if(!e.ok){let n=Error(e.error?.message||t);return n.code=e.error?.code,n.details=e.error?.details,n}return Error(t)}function to(e){if(e instanceof Error){let t=e.name?.trim(),n=e.message?.trim();return t&&n?`${t}: ${n}`:n||t||`Unknown error`}return String(e??`Unknown error`)}function no(e,t){let n=Error(e);return t!==void 0&&(n.cause=t),n}var ro=class{constructor(e){this.wsUrl=e,this.socket=null,this.reconnectTimer=null,this.manualClose=!1,this.subscribers=new Set,this.browserRecovery=new Wa(()=>{this.replaceSocket()}),this.subscribe=e=>(this.subscribers.add(e),this.subscribers.size===1?(this.browserRecovery.start(),this.connect()):this.socket?.readyState===WebSocket.OPEN&&e({type:`connection.open`,payload:{}}),()=>{this.subscribers.delete(e),this.subscribers.size===0&&(this.browserRecovery.stop(),this.disconnect())}),this.emit=e=>{for(let t of this.subscribers)t(e)},this.connect=()=>{if(this.socket&&(this.socket.readyState===WebSocket.CONNECTING||this.socket.readyState===WebSocket.OPEN))return;this.manualClose=!1;let e=new WebSocket(this.wsUrl);this.socket=e,e.onopen=()=>{this.emit({type:`connection.open`,payload:{}})},e.onmessage=e=>{try{let t=JSON.parse(String(e.data??``));this.emit(t)}catch(e){console.error(`Failed to parse websocket message:`,e)}},e.onerror=()=>{this.emit({type:`connection.error`,payload:{message:`websocket error`}})},e.onclose=()=>{this.emit({type:`connection.close`,payload:{}}),this.socket=null,!this.manualClose&&this.subscribers.size>0&&this.scheduleReconnect()}},this.scheduleReconnect=()=>{this.reconnectTimer===null&&(this.reconnectTimer=window.setTimeout(()=>{this.reconnectTimer=null,this.connect()},3e3))},this.replaceSocket=()=>{if(this.subscribers.size===0)return;this.reconnectTimer!==null&&(window.clearTimeout(this.reconnectTimer),this.reconnectTimer=null);let e=this.socket;this.socket=null,e&&(e.onopen=null,e.onmessage=null,e.onerror=null,e.onclose=null,e.close(),this.emit({type:`connection.close`,payload:{}})),this.connect()},this.disconnect=()=>{this.manualClose=!0,this.reconnectTimer!==null&&(window.clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.socket?.close(),this.socket=null}}},io=class{constructor(e={}){this.options=e,this.request=async e=>{let t=Number.isFinite(e.timeoutMs)&&(e.timeoutMs??0)>0?Math.trunc(e.timeoutMs):3e4,n=new AbortController,r=window.setTimeout(()=>n.abort(`Request timed out after ${t}ms: ${e.method} ${e.path}`),t),i=e.signal?AbortSignal.any([n.signal,e.signal]):n.signal,a=ao(e.body);try{let t=await Ja(this.apiBase,e.path,{method:e.method,...a===void 0?{}:{body:a},...e.headers?{headers:e.headers}:{},signal:i});if(!t.ok)throw eo(t,`Request failed for ${e.method} ${e.path}`);return t.data}catch(t){if(n?.signal.aborted){let{reason:t}=n.signal;throw Error(typeof t==`string`&&t.trim()?t:`Request timed out: ${e.method} ${e.path}`)}throw t instanceof Error?t:no(`Request failed for ${e.method} ${e.path} | ${to(t)}`,t)}finally{r!==null&&window.clearTimeout(r)}},this.openStream=e=>{let t=new AbortController,n=()=>t.abort();return e.signal&&(e.signal.aborted?n():e.signal.addEventListener(`abort`,n,{once:!0})),{finished:(async()=>{let r;try{r=await fetch(`${this.apiBase}${e.path}`,{method:e.method,credentials:`include`,headers:{"Content-Type":`application/json`,Accept:`text/event-stream`},...e.body===void 0?{}:{body:JSON.stringify(e.body)},signal:t.signal})}catch(t){throw H.reportTransportFailure(to(t)),no(`Stream request failed for ${e.method} ${e.path} | ${to(t)}`,t)}if(!r.ok){let t=(await r.text()).trim();throw Error(t?`Stream request failed for ${e.method} ${e.path} | HTTP ${r.status} | ${t}`:`Stream request failed for ${e.method} ${e.path} | HTTP ${r.status}`)}try{return await Qa(r,e.onEvent)}finally{e.signal?.removeEventListener(`abort`,n)}})(),cancel:()=>t.abort()}},this.subscribe=e=>this.realtimeGateway.subscribe(e),this.apiBase=e.apiBase??((void 0)?.trim().replace(/\/$/,``)||(typeof window<`u`?window.location.origin:`http://127.0.0.1:55667`)),this.realtimeGateway=new ro($a(this.apiBase,e.wsPath??`/ws`))}};function ao(e){if(e!==void 0)return e instanceof FormData||e instanceof URLSearchParams||e instanceof Blob||e instanceof ArrayBuffer||typeof e==`string`?e:JSON.stringify(e)}function oo(e,t,n){if(typeof e==`object`&&e&&`ok`in e){let r=e;if(r.ok===!1&&r.error?.message){let e=Error(r.error.message);return e.code=r.error.code,e.details=r.error.details,e.status=t,e}if(r.ok===!0)return Error(n)}return typeof e==`string`&&e.trim()?Error(e.trim()):Error(`${n} (${t})`)}function so(e){if(typeof e==`object`&&e&&`ok`in e){let t=e;if(t.ok===!1){let e=Error(t.error?.message??`Remote request failed.`);throw e.code=t.error?.code,e.details=t.error?.details,e}if(t.ok===!0)return t.data}return e}function co(e){return`${e}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}var lo=15e3,uo=class extends Error{constructor(){super(`Remote transport connection replaced after browser recovery.`)}},fo=class{constructor(e,t=(void 0)?.trim().replace(/\/$/,``)||(typeof window<`u`?window.location.origin:`http://127.0.0.1:55667`)){this.runtime=e,this.apiBase=t,this.socket=null,this.connectPromise=null,this.rejectConnect=null,this.connectTimeoutId=null,this.reconnectTimer=null,this.manualClose=!1,this.subscribers=new Set,this.pendingRequests=new Map,this.pendingStreams=new Map,this.browserRecovery=new Wa(()=>{this.replaceSocket()}),this.request=async e=>{await this.ensureSocket();let t=co(`req`),n=Number.isFinite(e.timeoutMs)&&(e.timeoutMs??0)>0?Math.trunc(e.timeoutMs):lo;return await new Promise((r,i)=>{let a=window.setTimeout(()=>{this.pendingRequests.delete(t),i(Error(`Timed out waiting for remote request response after ${n}ms: ${e.method} ${e.path}`))},n);this.pendingRequests.set(t,{resolve:e=>r(e),reject:i,timeoutId:a}),this.send({type:`request`,id:t,target:{method:e.method,path:e.path,...e.headers?{headers:e.headers}:{},...e.body===void 0?{}:{body:e.body}}})})},this.openStream=e=>{let t=co(`stream`),n=!1,r=e=>{n||(n=!0,a(e))},i,a,o=new Promise((e,t)=>{i=e,a=t}),s=()=>{this.pendingStreams.delete(t),!n&&(n=!0,this.send({type:`stream.cancel`,streamId:t}),a(Error(`stream cancelled`)))};this.pendingStreams.set(t,{onEvent:e.onEvent,finalResult:void 0,resolve:e=>{n||(n=!0,i(e))},reject:e=>{n||(n=!0,a(e))}});let c=()=>s();return e.signal&&(e.signal.aborted?s():e.signal.addEventListener(`abort`,c,{once:!0})),this.ensureSocket().then(()=>{n||this.send({type:`stream.open`,streamId:t,target:{method:e.method,path:e.path,...e.body===void 0?{}:{body:e.body}}})}).catch(e=>{this.pendingStreams.delete(t),r(e instanceof Error?e:Error(String(e)))}),{finished:o.finally(()=>{e.signal?.removeEventListener(`abort`,c),this.pendingStreams.delete(t)}),cancel:s}},this.subscribe=e=>(this.subscribers.add(e),this.browserRecovery.start(),this.ensureSocket().catch(t=>{t instanceof uo||e({type:`connection.error`,payload:{message:t instanceof Error?t.message:String(t)}})}),()=>{this.subscribers.delete(e),this.subscribers.size===0&&this.browserRecovery.stop()}),this.emit=e=>{for(let t of this.subscribers)t(e)},this.send=e=>{if(!this.socket||this.socket.readyState!==WebSocket.OPEN)throw Error(`Remote transport websocket is not connected.`);this.socket.send(JSON.stringify(e))},this.ensureSocket=async()=>{if(this.socket?.readyState===WebSocket.OPEN&&this.connectPromise===null)return;if(this.connectPromise)return await this.connectPromise;let e=$a(this.apiBase,this.runtime.wsPath);this.manualClose=!1,this.connectPromise=new Promise((t,n)=>{this.rejectConnect=n;let r=new WebSocket(e);this.socket=r;let i=!1,a=()=>{this.connectTimeoutId!==null&&(window.clearTimeout(this.connectTimeoutId),this.connectTimeoutId=null)};this.connectTimeoutId=window.setTimeout(()=>{this.connectTimeoutId=null,n(Error(`Timed out waiting for remote transport websocket.`)),r.close()},8e3),r.onopen=()=>{i=!0,a(),this.connectPromise=null,this.rejectConnect=null,t(),this.emit({type:`connection.open`,payload:{}})},r.onmessage=e=>{try{let t=JSON.parse(String(e.data??``));if(t.type===`connection.ready`)return;this.handleFrame(t)}catch(e){console.error(`Failed to parse remote websocket frame:`,e)}},r.onerror=()=>{this.emit({type:`connection.error`,payload:{message:`remote websocket error`}})},r.onclose=()=>{a();let e=this.connectPromise!==null;this.socket=null,this.connectPromise=null,this.rejectConnect=null,this.failPendingWork(Error(`Remote transport connection closed.`)),this.emit({type:`connection.close`,payload:{}}),e&&!i&&n(Error(`Remote transport connection closed before ready.`)),!this.manualClose&&this.subscribers.size>0&&this.scheduleReconnect()}});let{connectPromise:t}=this;return await t},this.scheduleReconnect=()=>{this.reconnectTimer===null&&(this.reconnectTimer=window.setTimeout(()=>{this.reconnectTimer=null,this.ensureSocket().catch(()=>void 0)},3e3))},this.replaceSocket=()=>{if(this.subscribers.size===0)return;this.reconnectTimer!==null&&(window.clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.connectTimeoutId!==null&&(window.clearTimeout(this.connectTimeoutId),this.connectTimeoutId=null);let e=this.socket,t=this.rejectConnect;this.socket=null,this.connectPromise=null,this.rejectConnect=null,e&&(e.onopen=null,e.onmessage=null,e.onerror=null,e.onclose=null,e.close(),t?.(new uo),this.failPendingWork(Error(`Remote transport connection replaced after browser recovery.`)),this.emit({type:`connection.close`,payload:{}})),this.ensureSocket().catch(()=>void 0)},this.failPendingWork=e=>{for(let t of this.pendingRequests.values())window.clearTimeout(t.timeoutId),t.reject(e);this.pendingRequests.clear();for(let t of this.pendingStreams.values())t.reject(e);this.pendingStreams.clear()},this.handleFrame=e=>{if(e.type===`response`||e.type===`request.error`){this.handleRequestFrame(e);return}if(e.type===`stream.event`||e.type===`stream.end`||e.type===`stream.error`){this.handleStreamFrame(e);return}if(e.type===`event`){this.emit(e.event);return}e.type===`connection.error`&&this.emit({type:`connection.error`,payload:{message:e.message}})},this.handleRequestFrame=e=>{let t=this.pendingRequests.get(e.id);if(t){if(this.pendingRequests.delete(e.id),window.clearTimeout(t.timeoutId),e.type===`request.error`){t.reject(Error(e.message));return}if(e.status>=400){t.reject(oo(e.body,e.status,`Remote request failed.`));return}try{t.resolve(so(e.body))}catch(e){t.reject(e instanceof Error?e:Error(String(e)))}}},this.handleStreamFrame=e=>{let t=this.pendingStreams.get(e.streamId);if(t){if(e.type===`stream.event`){try{e.event===`final`&&(t.finalResult=e.payload),t.onEvent({name:e.event,payload:e.payload})}catch(n){this.pendingStreams.delete(e.streamId),t.reject(n instanceof Error?n:Error(String(n)))}return}if(this.pendingStreams.delete(e.streamId),e.type===`stream.end`){t.resolve(t.finalResult);return}t.reject(Error(e.message))}}}},po=`/_remote/runtime`,mo={mode:`remote`,protocolVersion:1,wsPath:`/_remote/ws`};async function ho(e){let t=`${e.replace(/\/$/,``)}${po}`,n;try{n=await fetch(t,{method:`GET`,credentials:`include`,cache:`no-store`})}catch{return new io({apiBase:e})}if(n.status===404)return new io({apiBase:e});if(!(n.headers.get(`content-type`)?.toLowerCase()??``).includes(`application/json`))return n.status>=400?new fo(mo,e):new io({apiBase:e});let r=null;try{r=await n.json()}catch{return n.status>=400?new fo(mo,e):new io({apiBase:e})}return n.ok&&r.ok&&r.data?.mode===`remote`?new fo(r.data,e):n.status>=400?new fo(mo,e):new io({apiBase:e})}var go=new class{constructor(e=(void 0)?.trim().replace(/\/$/,``)||(typeof window<`u`?window.location.origin:`http://127.0.0.1:55667`)){this.apiBase=e,this.transportPromise=null,this.getTransport=async()=>(this.transportPromise||=ho(this.apiBase),await this.transportPromise),this.request=async e=>await(await this.getTransport()).request(e),this.openStream=e=>{let t=null,n,r,i=new Promise((e,t)=>{n=e,r=t});return this.getTransport().then(i=>{t=i.openStream(e),t.finished.then(n).catch(e=>{r(e instanceof Error?e:Error(String(e)))})}).catch(e=>{r(e instanceof Error?e:Error(String(e)))}),{finished:i,cancel:()=>t?.cancel()}},this.subscribe=e=>{let t=()=>{},n=!0;return this.getTransport().then(r=>{n&&(t=r.subscribe(e))}).catch(t=>{e({type:`connection.error`,payload:{message:t instanceof Error?t.message:String(t)}})}),()=>{n=!1,t()}}}};function _o(e){let t=e.trim().toLowerCase();return t?[`failed to fetch`,`networkerror`,`network request failed`,`load failed`,`request timed out`,`timed out waiting for remote request response`,`remote transport connection closed`,`websocket error`,`fetch failed on `,`stream request failed for `,`ncp fetch failed for `].some(e=>t.includes(e)):!1}var q=new yi({baseUrl:xi,transport:{request:async({body:e,headers:t,method:n,path:r,query:i,signal:a,timeoutMs:o})=>await go.request({method:n,path:So(r,xo(i)),...e===void 0?{}:{body:e},...t?{headers:t}:{},...a?{signal:a}:{},...o===void 0?{}:{timeoutMs:o}}),upload:async({formData:e,headers:t,path:n,signal:r})=>{let i=await fetch(`${xi}${n}`,{method:`POST`,body:e,credentials:`include`,...t?{headers:t}:{},...r?{signal:r}:{}}),a=await i.json();if(!i.ok||!a.ok)throw new si({message:Co(a,`Upload failed for ${n}`),status:i.status,code:a.ok?void 0:a.error.code,details:a.ok?void 0:a.error.details});return a.data},subscribe:e=>go.subscribe(e)}});async function vo(e,t={}){let n=(t.method||`GET`).toUpperCase();try{return{ok:!0,data:await go.request({method:n,path:e,...t.timeoutMs===void 0?{}:{timeoutMs:t.timeoutMs},...t.body===void 0?{}:{body:bo(t.body)}})}}catch(t){return{ok:!1,error:{code:`REQUEST_FAILED`,message:t instanceof Error?t.message:String(t),details:{method:n,endpoint:e}}}}}var yo={get:(e,t={})=>vo(e,{...t,method:`GET`}),put:(e,t)=>vo(e,{method:`PUT`,body:JSON.stringify(t)}),post:(e,t)=>vo(e,{method:`POST`,body:JSON.stringify(t)}),delete:e=>vo(e,{method:`DELETE`})};function bo(e){if(e!=null){if(typeof e==`string`)try{return JSON.parse(e)}catch{return e}return e}}function xo(e){if(!e)return;if(e instanceof URLSearchParams)return e;let t=new URLSearchParams;for(let[n,r]of Object.entries(e)){let e=Array.isArray(r)?r:[r];for(let r of e)r!=null&&t.append(n,String(r))}return t}function So(e,t){let n=t?.toString();return n?`${e}${e.includes(`?`)?`&`:`?`}${n}`:e}function Co(e,t){return e.ok?t:e.error.message}async function J(){return{agents:await q.agents.list()}}async function Y(e,t){return await q.agents.update(e,t)}async function wo(e){return await q.agents.delete(e)}async function To(e,t={}){return await q.channelAuth.start(e,t)}async function Eo(e,t){return await q.channelAuth.poll(e,t)}async function Do(e,t){return await q.channelAuth.connect(e,t)}async function Oo(e={}){return await q.auth.fetchStatus({timeoutMs:e.timeoutMs??5e3})}async function ko(e){return await q.auth.setup(e)}async function Ao(e){return await q.auth.login(e)}async function jo(){return await q.auth.logout()}async function Mo(e){return await q.auth.updatePassword(e)}async function No(e){return await q.auth.updateEnabled(e)}async function Po(){return await q.app.fetchMeta()}async function Fo(e={}){return await q.app.fetchBootstrapStatus(e)}async function Io(){return await q.config.fetch()}async function Lo(){return await q.config.fetchMeta()}async function Ro(){return await q.providers.list()}async function zo(){return await q.providers.listTemplates()}async function Bo(){return await q.providers.listModelCatalog()}async function Vo(){return await q.config.fetchSchema()}async function Ho(e){return await q.config.updateModel(e)}async function Uo(e){return await q.config.updateSearch(e)}async function Wo(e,t){return await q.providers.update(e,t)}async function Go(e={}){return await q.providers.create(e)}async function Ko(e){return await q.providers.delete(e)}async function qo(e,t){return await q.providers.testConnection(e,t)}async function Jo(e,t){return await q.providers.discoverModels(e,t)}async function Yo(e,t={}){return await q.providers.startAuth(e,t)}async function Xo(e,t){return await q.providers.pollAuth(e,t)}async function Zo(e){return await q.providers.importAuthFromCli(e)}async function Qo(e,t){return await q.config.updateChannel(e,t)}async function $o(e){return await q.config.updateRuntime(e)}async function es(e){return await q.config.updateSecrets(e)}async function ts(e){return await q.config.updateProductAnalytics(e)}async function ns(){return await q.config.fetchProductAnalyticsStatus()}async function rs(e,t){return await q.config.executeAction(e,t)}async function is(){return await q.config.fetchChatSessionTypes()}async function as(e){return await q.config.fetchCronJobs(e)}async function os(e){return await q.config.deleteCronJob(e)}async function ss(e,t){return await q.config.setCronJobEnabled(e,t)}async function cs(e,t){return await q.config.runCronJob(e,t)}async function ls(e){return await q.marketplace.fetchItems(e)}async function us(e){return await q.marketplace.fetchSkillContent(e)}async function ds(){return await q.marketplace.fetchSkillScenes()}async function fs(e){return await q.marketplace.install(e)}async function ps(e){return await q.marketplace.fetchInstalled(e)}async function ms(e){return await q.marketplace.manage(e)}async function hs(e){return await q.mcpMarketplace.fetchItems(e)}async function gs(){return await q.mcpMarketplace.fetchInstalled()}async function _s(e){return await q.mcpMarketplace.fetchContent(e)}async function vs(e){return await q.mcpMarketplace.install({type:`mcp`,...e})}async function ys(e){return await q.mcpMarketplace.manage({type:`mcp`,...e})}async function bs(e){return await q.mcpMarketplace.doctor(e)}async function xs(e){return await q.mcp.testConnection(e)}async function Ss(e){return await q.mcp.createConnection(e)}function Cs(e){return`${xi}/api/ncp/assets/content?${new URLSearchParams({uri:e}).toString()}`}async function ws(e){return(await q.sessions.uploadAssets(e)).assets.map(e=>({id:e.id,name:e.name,mimeType:e.mimeType,sizeBytes:e.sizeBytes,assetUri:e.assetUri,url:e.url}))}async function Ts(e){return await q.sessions.list(e)}async function Es(e,t={}){return await q.sessions.listMessages(e,t)}async function Ds(e,t,n,r){let i=(await Es(e,{cursor:n,limit:1,...r?{signal:r}:{}})).messages[0];if(!i||i.id!==t)throw Error(`Session message detail no longer matches ${t}.`);return i}async function Os(e){return await q.sessions.getUsage(e)}async function ks(e){let t=await vo(`/api/ncp/sessions/${encodeURIComponent(e)}/observations`);if(!t.ok)throw Error(t.error.message);return t.data}async function As(e,t){let n=await vo(`/api/ncp/sessions/${encodeURIComponent(e)}/observations/${t.kind}/${encodeURIComponent(t.id)}`,{method:`PATCH`,body:JSON.stringify({action:t.action})});if(!n.ok)throw Error(n.error.message);return n.data}async function js(e,t){return await q.sessions.listSkills(e,t)}async function Ms(e,t){return await q.sessions.update(e,t)}async function Ns(e){return await q.sessions.compactContext(e)}async function Ps(e){return await q.sessions.delete(e)}async function Fs(){return await q.projects.list()}async function Is(e){return await q.projects.create(e)}async function Ls(e){return await q.projects.addExisting(e)}async function Rs(e){return await q.projects.remove(e,e)}function zs(e){return encodeURIComponent(e)}async function Bs(e){let t=await yo.get(`/api/preferences/${zs(e)}`);if(!t.ok)throw Error(t.error.message);return t.data}async function Vs(e,t){let n=await yo.put(`/api/preferences/${zs(e)}`,{value:t});if(!n.ok)throw Error(n.error.message);return n.data}var Hs={chat:{modelFavorites:`chat.modelFavorites`,newSessionType:`chat.newSession.sessionType`}};function Us(e){return e.lastMessageAt??e.createdAt??e.updatedAt}function Ws(e){return e.metadata?.last_activity_preview?.state===`running`}function Gs(e){return[...e].sort((e,t)=>Number(t.metadata?.pinned===!0)-Number(e.metadata?.pinned===!0)||Us(t).localeCompare(Us(e))||t.sessionId.localeCompare(e.sessionId))}function Ks(e,t){let n=t.updatedAt.localeCompare(e.updatedAt);return n===0?e.status===t.status||t.status===`idle`:n>0}function qs(e,t){if(e[0]!==`ncp-sessions`)return!1;let n=typeof e[2]==`string`?e[2].trim():``;return!n||t.peerId===n}function Js(e,t){if(!e)return e;let n=e.pages.map(e=>e.sessions.length),r=e.pages.flatMap(e=>e.sessions),i=t({sessions:r,total:e.pages[0]?.total??r.length});if(!i)return e;let a=0;return{...e,pages:e.pages.map((e,t)=>{let r=a+(n[t]??0),o={...e,sessions:i.sessions.slice(a,r)};return a=r,o})}}function Ys(e,t){if(!e)return;let n=e.getQueriesData({queryKey:[`ncp-session-pages`]});for(let[r,i]of n){let n=typeof r[2]==`string`?r[2].trim():``,a=i?.pages.some(e=>e.sessions.some(e=>e.sessionId===t.sessionId));if(n||r[3]===!0||!a){e.invalidateQueries({queryKey:r,exact:!0});continue}e.setQueryData(r,e=>Js(e,e=>Zs(e,t)))}}function Xs(e,t){e?.setQueriesData({queryKey:[`ncp-session-pages`]},e=>Js(e,e=>ec(e,t)))}function Zs(e,t){if(!e)return e;let n=e.sessions.findIndex(e=>e.sessionId===t.sessionId),r=Gs(n>=0?e.sessions.map((e,r)=>r===n&&Ks(e,t)?{...t,status:t.status===`idle`&&Ws(t)?e.status:t.status}:e):[...e.sessions,t]);return{...e,sessions:r,total:r.length}}function Qs(e,t){if(!e)return e;let n=t.trim();if(!n)return e;let r=e.sessions.filter(e=>e.sessionId!==n);return r.length===e.sessions.length?e:{...e,sessions:r,total:r.length}}function $s(e,t){e?.setQueriesData({predicate:e=>qs(e.queryKey,t)},e=>Zs(e,t))}function ec(e,t){if(!e)return e;let n=t.sessionKey.trim();if(!n)return e;let r=!1,i=e.sessions.map(e=>e.sessionId!==n||e.status===t.status?e:(r=!0,{...e,status:t.status}));return r?{...e,sessions:i}:e}function tc(e,t){e?.setQueriesData({queryKey:[`ncp-sessions`]},e=>ec(e,t))}function nc(e,t){e?.setQueriesData({queryKey:[`ncp-sessions`]},e=>Qs(e,t))}function rc(e,t){if(t.type===`session.run-status`){tc(e,t.payload),Xs(e,t.payload);return}if(t.type===`session.summary.upsert`){$s(e,t.payload.summary),Ys(e,t.payload.summary),e?.invalidateQueries({queryKey:[`ncp-session-token-usage`,t.payload.summary.sessionId],exact:!0});return}nc(e,t.payload.sessionKey),e?.invalidateQueries({queryKey:[`ncp-session-pages`]})}async function ic(){return await q.remote.fetchStatus()}async function ac(){return await q.remote.fetchDoctor()}async function oc(e){return await q.remote.startBrowserAuth(e)}async function sc(e){return await q.remote.pollBrowserAuth(e)}async function cc(){return await q.remote.logout()}async function lc(e){return await q.remote.updateAccountProfile(e)}async function uc(e){return await q.remote.updateSettings(e)}async function dc(e){return await q.remote.controlService(e)}async function fc(){return await q.runtimeControl.fetch()}async function pc(){return await q.runtimeControl.startService()}async function X(){return await q.runtimeControl.restartService()}async function mc(){return await q.runtimeControl.stopService()}async function hc(){let e=await vo(`/api/runtime/extensions/catalog`);if(!e.ok)throw Error(e.error.message);return e.data}async function gc(){return await q.runtimeUpdate.fetch()}async function _c(){return await q.runtimeUpdate.check()}async function vc(){return await q.runtimeUpdate.download()}async function yc(){return await q.runtimeUpdate.apply()}async function bc(e){return await q.runtimeUpdate.updateChannel(e)}var xc=`/api/server-paths/content`;async function Sc(e){return await q.serverPaths.browse(e)}async function Cc(e){return await q.serverPaths.watch(e)}async function wc(e){await q.serverPaths.unwatch(e)}async function Tc(e){return await q.serverPaths.createDirectory(e)}async function Ec(e){return await q.serverPaths.createFile(e)}async function Dc(e){return await q.serverPaths.renameEntry(e)}async function Oc(e){return await q.serverPaths.deleteEntry(e)}async function kc(e){return await q.serverPaths.uploadFiles(e)}async function Ac(e){return await q.serverPaths.read(e)}async function jc(e){return await q.serverPaths.search(e)}function Mc(e,t){let n=e.trim(),r=n.startsWith(`/`)||/^[a-z]:[\\/]/i.test(n),i=t?.trim()??``;if(!r&&!i)return null;let a=new URLSearchParams({path:n});return i&&a.set(`basePath`,i),`${xi}${xc}?${a.toString()}`}export{us as $,rt as $n,ma as $t,Rs as A,rn as An,es as At,As as B,Jt as Bn,ja as Bt,$s as C,xn as Cn,qo as Ct,Ls as D,bn as Dn,Wo as Dt,Vs as E,yn as En,ts as Et,ks as F,en as Fn,J as Ft,bs as G,Ht as Gn,G as Gt,ws as H,qt as Hn,Oa as Ht,js as I,Kt as In,Y as It,hs as J,It as Jn,ba as Jt,_s as K,Vt as Kn,Sa as Kt,Os as L,Wt as Ln,q as Lt,Ps as M,pn as Mn,Eo as Mt,Ds as N,nn as Nn,To as Nt,Is as O,sn as On,$o as Ot,Es as P,tn as Pn,wo as Pt,ls as Q,it as Qn,ha as Qt,Ts as R,Gt as Rn,_o as Rt,nc as S,Sn,Yo as St,Bs as T,vn as Tn,Ho as Tt,Ss as U,Ut as Un,Ca as Ut,Cs as V,Yt as Vn,Ta as Vt,xs as W,R as Wn,K as Wt,ys as X,I as Xn,_a as Xt,vs as Y,Ft as Yn,va as Yt,ps as Z,at as Zn,ga as Zt,sc as _,Cr as _n,te as _r,Ro as _t,Sc as a,Qi as an,Ze as ar,Ko as at,uc as b,En as bn,l as br,cs as bt,Dc as c,Ji as cn,We as cr,Po as ct,Cc as d,H as dn,je as dr,Vo as dt,pa as en,$e as er,ds as et,hc as f,Li as fn,Me as fr,as as ft,cc as g,Er as gn,h as gr,zo as gt,ic as h,si as hn,N as hr,Bo as ht,Oc as i,ia as in,Qe as ir,os as it,Ns as j,an as jn,Do as jt,Fs as k,on as kn,Uo as kt,wc as l,qi as ln,Ue as lr,Io as lt,ac as m,xi as mn,xe as mr,ns as mt,Tc as n,ea as nn,tt as nr,ms as nt,Ac as o,W as on,Ye as or,Jo as ot,dc as p,Oi as pn,Oe as pr,is as pt,gs as q,Bt as qn,xa as qt,Ec as r,ta as rn,Xe as rr,Go as rt,jc as s,Yi as sn,Ke as sr,rs as st,Mc as t,da as tn,nt as tr,fs as tt,kc as u,U as un,Ve as ur,Lo as ut,oc as v,Sr as vn,E as vr,Zo as vt,Hs as w,hn as wn,Qo as wt,rc as x,Cn as xn,a as xr,ss as xt,lc as y,On as yn,u as yr,Xo as yt,Ms as z,Xt as zn,Ha as zt};
|
|
Binary file
|