@inkeep/open-knowledge 0.51.3 → 0.51.5
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/{acp-harness-probe-XylGN-um.mjs → acp-harness-probe-DNfyJSyV.mjs} +2 -2
- package/dist/cli.mjs +6 -6
- package/dist/constants-B31gJMU-.mjs +2 -0
- package/dist/index.mjs +1 -1
- package/dist/init-CubgvDjJ.mjs +1 -0
- package/dist/{init-C_Eq7NlD.mjs → init-Vv3gEflM.mjs} +3 -3
- package/dist/{launch-json-removal-CH6qzAz1.mjs → launch-json-removal-kfVAzK2F.mjs} +2 -2
- package/dist/loader-BU_aZOV_.mjs +1 -0
- package/dist/{loader-BOor2v6a.mjs → loader-CL63YkWQ.mjs} +2 -2
- package/dist/{open-browser-De70N-tU.mjs → open-browser-F_Q44toi.mjs} +2 -2
- package/dist/preview-N3xTkzX1.mjs +1 -0
- package/dist/{preview-DstfEksF.mjs → preview-dPcINETL.mjs} +2 -2
- package/dist/public/assets/ActivityModeContent-CjLkC3OR.js +1 -0
- package/dist/public/assets/{AgentDiffPane-aCTBV0Sg.js → AgentDiffPane-CsFl8Z5a.js} +2 -2
- package/dist/public/assets/{AgentThreadClientBinder-D630hQw1.js → AgentThreadClientBinder-BFNjsn1A.js} +1 -1
- package/dist/public/assets/{AppMenubar-BTcflVIz.js → AppMenubar-CYaE7Hn6.js} +1 -1
- package/dist/public/assets/{BugReportHistory-BwBrd3j1.js → BugReportHistory-C59fSH13.js} +1 -1
- package/dist/public/assets/{BugReportHistoryDialog-BuDyugK5.js → BugReportHistoryDialog-C2b4xA3d.js} +1 -1
- package/dist/public/assets/ChangedOutsideBadge-ayB1siCV.js +7 -0
- package/dist/public/assets/{CodeMirrorPropInput-Bhg9LmQE.js → CodeMirrorPropInput-DfGAqVE2.js} +3 -3
- package/dist/public/assets/{ConfigSharingInfoTooltip-DYamSYiX.js → ConfigSharingInfoTooltip-4T5uhyyt.js} +1 -1
- package/dist/public/assets/ConsentDialogBody-DfhGpXdb.js +2 -0
- package/dist/public/assets/{CopyButton-ZwWbjArY.js → CopyButton-ByR_1gcU.js} +1 -1
- package/dist/public/assets/{DiffView-CpNQGl6x.js → DiffView-BkhkquRc.js} +1 -1
- package/dist/public/assets/DocumentContext-DnKfTpmg.js +38 -0
- package/dist/public/assets/{EditorModeToggle-C7tp7ZQj.js → EditorModeToggle-CO_om036.js} +1 -1
- package/dist/public/assets/{EnableSyncConfirmDialog-DMBFy4OF.js → EnableSyncConfirmDialog-5tBIHX6Z.js} +1 -1
- package/dist/public/assets/FeedbackForm-Cj4LsbD9.js +1 -0
- package/dist/public/assets/{GraphPanel-Bx4N9J4N.js → GraphPanel-D3eqDrvs.js} +1 -1
- package/dist/public/assets/{ImportSkillDialog-T9ZQOD7J.js → ImportSkillDialog-CennJlsL.js} +1 -1
- package/dist/public/assets/{LintConfigEditor-C9tW3WCi.js → LintConfigEditor-BdOIj6Lp.js} +1 -1
- package/dist/public/assets/{ManagedArtifactProperties-_M6QrlVX.js → ManagedArtifactProperties-CE_CYfVl.js} +2 -2
- package/dist/public/assets/ManagedArtifactProperties-gHUxVdf6.js +1 -0
- package/dist/public/assets/{McpConsentDialogBody-Bf2kCPC8.js → McpConsentDialogBody-CmWQQsvA.js} +1 -1
- package/dist/public/assets/{Mermaid-DRkWFp4B.js → Mermaid-BHfANkja.js} +2 -2
- package/dist/public/assets/{MermaidDocEditor-Dt3Q4l9b.js → MermaidDocEditor-9a3rJ6Yx.js} +1 -1
- package/dist/public/assets/{RegisteredAgentIcon-BgDInKA9.js → RegisteredAgentIcon-gjOJZp_B.js} +1 -1
- package/dist/public/assets/ReportBugDialogBody-AcYxCdAP.js +3 -0
- package/dist/public/assets/SchemaConfigEditor-CxRw1h73.js +1 -0
- package/dist/public/assets/{SessionsHost-BXg_DOs0.js → SessionsHost-B380Iepa.js} +2 -2
- package/dist/public/assets/SettingsDialogBody-m-dM0Hvi.js +12 -0
- package/dist/public/assets/ShareBranchSwitchDialog-ClrT-3XL.js +1 -0
- package/dist/public/assets/{ShareReceiveDialog-qUzPS8Up.js → ShareReceiveDialog-CGp7LdmP.js} +1 -1
- package/dist/public/assets/{ShareReceiveMissDialog-CDuQRIrW.js → ShareReceiveMissDialog-B40fjSmr.js} +1 -1
- package/dist/public/assets/{SkillEditBanner-Bsad_Vwl.js → SkillEditBanner-DAXtbz8B.js} +1 -1
- package/dist/public/assets/{SkillOriginInline-BxKL6y6j.js → SkillOriginInline-CSKIzMpb.js} +1 -1
- package/dist/public/assets/{SkillToolbarControls-4cCFN4AD.js → SkillToolbarControls-C4FyBpeC.js} +1 -1
- package/dist/public/assets/{SlidesToolbarControls-6Zt8rSXK.js → SlidesToolbarControls-bvIjkbin.js} +1 -1
- package/dist/public/assets/SourceEditor-Bji79MEj.js +1 -0
- package/dist/public/assets/{TerminalPanel-BR5g3hPy.js → TerminalPanel-CCfioVTh.js} +1 -1
- package/dist/public/assets/{TerminalWindowApp-CM4VbPB3.js → TerminalWindowApp-DZ9SMowT.js} +1 -1
- package/dist/public/assets/TextDocEditor-C9PDu-kP.js +1 -0
- package/dist/public/assets/ThreadView-B35kTuTN.js +10 -0
- package/dist/public/assets/{TimelineDiffPane-cM6CdbUJ.js → TimelineDiffPane-CIe5iIe0.js} +2 -2
- package/dist/public/assets/{abnfDiagram-VRR7QNED-Cyt3GTKk.js → abnfDiagram-VRR7QNED-By0_za11.js} +1 -1
- package/dist/public/assets/{agent-diff-store-CiNC0ek3.js → agent-diff-store-iX_f1eWT.js} +1 -1
- package/dist/public/assets/{arc-aNMnWBC6.js → arc-5_RUQzQ7.js} +1 -1
- package/dist/public/assets/architecture-TIHT7OUA-DwJXOzeg.js +1 -0
- package/dist/public/assets/{architectureDiagram-ZJ3FMSHR-DEckN_lR.js → architectureDiagram-ZJ3FMSHR-PHjEFax1.js} +1 -1
- package/dist/public/assets/arrow-up-right-CGe6dTck.js +1 -0
- package/dist/public/assets/auth-state-cache-BVvyn4q8.js +11 -0
- package/dist/public/assets/{blockDiagram-677ZJIJ3-WTdCgLgQ.js → blockDiagram-677ZJIJ3-BUuJiGZl.js} +1 -1
- package/dist/public/assets/{braces-B2tgJ4cu.js → braces-CJEjDc1f.js} +1 -1
- package/dist/public/assets/{c4Diagram-LMCZKHZV-DjtrDhgP.js → c4Diagram-LMCZKHZV-D4UjQlwU.js} +1 -1
- package/dist/public/assets/{calendar-PDFs2-7B.js → calendar-BTcSoUWo.js} +1 -1
- package/dist/public/assets/{case-sensitive-Cz58rAyi.js → case-sensitive-CE1B0vR4.js} +1 -1
- package/dist/public/assets/channel-DPiKu0N2.js +1 -0
- package/dist/public/assets/check-CGfmW4da.js +1 -0
- package/dist/public/assets/{checkbox-BkFAESv7.js → checkbox-vidgONxv.js} +1 -1
- package/dist/public/assets/{chevron-down-DmoBYxyq.js → chevron-down-DabHDQTe.js} +1 -1
- package/dist/public/assets/chevron-left-UUhIKmW4.js +1 -0
- package/dist/public/assets/chevron-right-Diamp-K_.js +1 -0
- package/dist/public/assets/{chevron-up-eNJS5_XA.js → chevron-up-BNZIobnQ.js} +1 -1
- package/dist/public/assets/chunk-2Q5K7J3B-CSqFa28W.js +1 -0
- package/dist/public/assets/{chunk-32BRIVSS-Mw0pXo8-.js → chunk-32BRIVSS-CqHtBxci.js} +1 -1
- package/dist/public/assets/{chunk-52WLFC77-CWEe7Xh9.js → chunk-52WLFC77-Ct--wlEg.js} +1 -1
- package/dist/public/assets/{chunk-5FCAYU7R-REjYzYtT.js → chunk-5FCAYU7R-D4Qemx4Q.js} +1 -1
- package/dist/public/assets/{chunk-5HE753X5-C_srkIcK.js → chunk-5HE753X5-AFxpbWC8.js} +1 -1
- package/dist/public/assets/{chunk-5JV3BV7I--CkeTKyk.js → chunk-5JV3BV7I-DQech1b8.js} +1 -1
- package/dist/public/assets/{chunk-5TONJI2A-xMtNuVwq.js → chunk-5TONJI2A-DhQn7UEA.js} +1 -1
- package/dist/public/assets/{chunk-5VM5RSS4-DGa1vtny.js → chunk-5VM5RSS4-Mk-moEej.js} +1 -1
- package/dist/public/assets/{chunk-7BUUIJ7U-B4APkU8z.js → chunk-7BUUIJ7U-NgiLm4do.js} +1 -1
- package/dist/public/assets/{chunk-BIQX33UG-DnxSHlbV.js → chunk-BIQX33UG-BGOx5d7P.js} +1 -1
- package/dist/public/assets/{chunk-BO2N2NFS-C1xvee7F.js → chunk-BO2N2NFS-BD-R2P8f.js} +4 -4
- package/dist/public/assets/{chunk-C7G6YPKG-CFvl8zby.js → chunk-C7G6YPKG-ETQuvHy_.js} +1 -1
- package/dist/public/assets/{chunk-CQNSW5MT-D8ElevwX.js → chunk-CQNSW5MT-BtseeAyV.js} +1 -1
- package/dist/public/assets/{chunk-CYSBUYHQ-aUTH1eDe.js → chunk-CYSBUYHQ-BMn0BrMO.js} +1 -1
- package/dist/public/assets/{chunk-EMLP6XTP-7BWUOZ2c.js → chunk-EMLP6XTP-CMh4Lfqa.js} +1 -1
- package/dist/public/assets/{chunk-EX3LRPZG-DTQ9xTRn.js → chunk-EX3LRPZG-9JJX2N4p.js} +1 -1
- package/dist/public/assets/{chunk-FWX5IMBZ-_K1EOgwo.js → chunk-FWX5IMBZ-BG7sIfOm.js} +2 -2
- package/dist/public/assets/{chunk-HOUHSVGY-Ck4oYOb8.js → chunk-HOUHSVGY-DZGPL4gA.js} +1 -1
- package/dist/public/assets/{chunk-ICXQ74PX-DDE_yp71.js → chunk-ICXQ74PX-CKtDW9ht.js} +1 -1
- package/dist/public/assets/{chunk-JG7HCLWE-BLVAUXzS.js → chunk-JG7HCLWE-Bx0614Ks.js} +1 -1
- package/dist/public/assets/{chunk-JWPE2WC7-Bvpkq10U.js → chunk-JWPE2WC7-CTPvDarN.js} +1 -1
- package/dist/public/assets/{chunk-MOJQB5TN-WcfkN7IB.js → chunk-MOJQB5TN-BAhZ0kPA.js} +1 -1
- package/dist/public/assets/{chunk-MOZMSUNE-D2Nv8Wuo.js → chunk-MOZMSUNE-Cw75i_mo.js} +1 -1
- package/dist/public/assets/{chunk-OGEWGWER-jM45RyK9.js → chunk-OGEWGWER-CXRXvI-G.js} +1 -1
- package/dist/public/assets/{chunk-OSBZ3O6U-BrRjkIaa.js → chunk-OSBZ3O6U-3rlBFXeF.js} +1 -1
- package/dist/public/assets/{chunk-PUDLZKDR-L51iYZEJ.js → chunk-PUDLZKDR-m0_LideR.js} +1 -1
- package/dist/public/assets/{chunk-Q4XR5HBZ-D8nk0QTa.js → chunk-Q4XR5HBZ-DtfMFxTy.js} +1 -1
- package/dist/public/assets/{chunk-QBLGF6JB-DzOtuO7_.js → chunk-QBLGF6JB-ClgYvCDk.js} +1 -1
- package/dist/public/assets/{chunk-R7FJI6CG-BBE8TyYk.js → chunk-R7FJI6CG-Byfy5jLm.js} +1 -1
- package/dist/public/assets/{chunk-RYQCIY6F-JjxPddrX.js → chunk-RYQCIY6F-BcYiXXs_.js} +1 -1
- package/dist/public/assets/{chunk-U6XO7XAA-CelnNe02.js → chunk-U6XO7XAA-BgHi1_DT.js} +1 -1
- package/dist/public/assets/{chunk-V7JOEXUC-DG41UFXs.js → chunk-V7JOEXUC-87Dg_1li.js} +1 -1
- package/dist/public/assets/chunk-VAUOI2AC-BRgZjfPj.js +1 -0
- package/dist/public/assets/{chunk-VR4S4FIN-Hvt9mm6P.js → chunk-VR4S4FIN-CgLu4IqR.js} +1 -1
- package/dist/public/assets/{chunk-WYO6CB5R-B9Bw1Fap.js → chunk-WYO6CB5R-DDQFGPZ4.js} +2 -2
- package/dist/public/assets/chunk-XXDRQBXY-CSo_IP1t.js +1 -0
- package/dist/public/assets/{chunk-YOTPTUD7-CMDUudTa.js → chunk-YOTPTUD7-Bb6P7QJ5.js} +1 -1
- package/dist/public/assets/{chunk-ZGVPDNZ5-DFzNO2Tk.js → chunk-ZGVPDNZ5-Cps1Smx5.js} +1 -1
- package/dist/public/assets/{chunk-ZIRB5QZD-B7LalPlS.js → chunk-ZIRB5QZD-BUb1k7IW.js} +1 -1
- package/dist/public/assets/classDiagram-OUVF2IWQ-B4b2FFhv.js +1 -0
- package/dist/public/assets/classDiagram-v2-EOCWNBFH-D-BosVMB.js +1 -0
- package/dist/public/assets/client-version-CbFMG_Zz.js +1 -0
- package/dist/public/assets/{cm-theme-D9MUEK3x.js → cm-theme-NiQt8zc0.js} +1 -1
- package/dist/public/assets/{code-highlighter-impl-D1qLP5Oi.js → code-highlighter-impl-Dk8zJoMV.js} +1 -1
- package/dist/public/assets/comment-chips-C1VVNIzh.js +5 -0
- package/dist/public/assets/{config-provider-Caw1J79K.js → config-provider-Dc9oWWUW.js} +3 -3
- package/dist/public/assets/{context-menu-sbpsdVzK.js → context-menu-D1MgERPo.js} +1 -1
- package/dist/public/assets/{cose-bilkent-JH36ORCC-DJRZsB5E.js → cose-bilkent-JH36ORCC-B5G6WpVe.js} +1 -1
- package/dist/public/assets/cynefin-VYW2F7L2-DCXxsTQd.js +1 -0
- package/dist/public/assets/{cynefinDiagram-TSTJHNR4-DuGT4Jjc.js → cynefinDiagram-TSTJHNR4-xWzANYbb.js} +1 -1
- package/dist/public/assets/{dagre-DW1q7dDf.js → dagre-DU0bSWB3.js} +1 -1
- package/dist/public/assets/{dagre-VKFMJZFB-LBURqiEZ.js → dagre-VKFMJZFB-DRyoGqzk.js} +1 -1
- package/dist/public/assets/{diagram-FQU43EPY-iqQIxuC-.js → diagram-FQU43EPY-nZKoVz4B.js} +1 -1
- package/dist/public/assets/{diagram-G47NLZAW-CgIts092.js → diagram-G47NLZAW-DPNtUg-P.js} +1 -1
- package/dist/public/assets/{diagram-NH7WQ7WH-B14H0nEQ.js → diagram-NH7WQ7WH-Zm853285.js} +1 -1
- package/dist/public/assets/{diagram-OA4YK3LP-DzO3nuRp.js → diagram-OA4YK3LP-DAhRUKgQ.js} +1 -1
- package/dist/public/assets/{diagram-WEI45ONY-9YQecyFK.js → diagram-WEI45ONY-D3E8BHEU.js} +1 -1
- package/dist/public/assets/dialog-DztIj-ZS.js +5 -0
- package/dist/public/assets/{dist-BQPldDGL.js → dist-B55799jR.js} +1 -1
- package/dist/public/assets/{dist-CJlTCFgz.js → dist-BSAh-TK7.js} +1 -1
- package/dist/public/assets/{dist-D82VADo2.js → dist-BUDkMEzD.js} +1 -1
- package/dist/public/assets/{dist-IadXjKLx.js → dist-C6lhy_gK.js} +1 -1
- package/dist/public/assets/{dist-SueN4kiT.js → dist-CADCdgrq.js} +1 -1
- package/dist/public/assets/{dist-CFCiGNjc.js → dist-CrYLos7c.js} +1 -1
- package/dist/public/assets/{dist-RCzd72OE.js → dist-DPG-4B8V.js} +1 -1
- package/dist/public/assets/{dist-BPE3EfQ5.js → dist-DU3mip8Z.js} +1 -1
- package/dist/public/assets/{dist-BfaJZWlQ.js → dist-DbcFk_pj.js} +1 -1
- package/dist/public/assets/{dist-BY1jqfIu2.js → dist-DoYGOGZp.js} +3 -3
- package/dist/public/assets/{dist-BwRSnzRm.js → dist-DpjZjxsY.js} +1 -1
- package/dist/public/assets/{dist-ChuC3aAT.js → dist-Ds8NLlxa.js} +1 -1
- package/dist/public/assets/{dist-CoDGIN0N.js → dist-DwFjOxj-.js} +1 -1
- package/dist/public/assets/{dist-C99wbZvV.js → dist-RxK2lKIj.js} +1 -1
- package/dist/public/assets/{dist-BotIWl7V.js → dist-lGeJn8Qx.js} +1 -1
- package/dist/public/assets/doc-paths-SFSlIMRQ.js +1 -0
- package/dist/public/assets/documents-events-a5eIuqSk.js +1 -0
- package/dist/public/assets/{download-btG_KeFQ.js → download-C3PYuI1f.js} +1 -1
- package/dist/public/assets/{dropdown-menu-CCTsTCfv.js → dropdown-menu-CLgDYkh1.js} +1 -1
- package/dist/public/assets/{ebnfDiagram-CCIWWBDH-BySx8NjB.js → ebnfDiagram-CCIWWBDH-BildoPpV.js} +1 -1
- package/dist/public/assets/{erDiagram-Q63AITRT-Cdw6iCQb.js → erDiagram-Q63AITRT-CrQn__5X.js} +1 -1
- package/dist/public/assets/eventmodeling-45OFAUF4-CrAU37MM.js +1 -0
- package/dist/public/assets/{eye-j_4QS15C.js → eye-CSz7ogHo.js} +1 -1
- package/dist/public/assets/{field-DUtAomNS.js → field-CtVP3IIV.js} +1 -1
- package/dist/public/assets/file-tree-adapter-oSszPvAJ.js +1 -0
- package/dist/public/assets/file-tree-utils-BG5IgULP.js +1 -0
- package/dist/public/assets/flowDiagram-23GEKE2U-BDzq_lmd.js +1 -0
- package/dist/public/assets/{folder-C8rE1Soy.js → folder-CopDpuy5.js} +1 -1
- package/dist/public/assets/{folder-config-api-LjRlSYnh.js → folder-config-api-7-6Lsx3w.js} +1 -1
- package/dist/public/assets/{folder-open-CB-trByC.js → folder-open-DUSc8NL8.js} +1 -1
- package/dist/public/assets/follow-file-D1bxvLt8.js +4 -0
- package/dist/public/assets/{ganttDiagram-NO4QXBWP-jPRdgNRi.js → ganttDiagram-NO4QXBWP-D3jf9kZJ.js} +1 -1
- package/dist/public/assets/{git-branch-JnfmLuHd.js → git-branch-CCnsAeFH.js} +1 -1
- package/dist/public/assets/gitGraph-TEB2WS4Q-C3je2KR3.js +1 -0
- package/dist/public/assets/{gitGraphDiagram-IHSO6WYX-DezGE_VT.js → gitGraphDiagram-IHSO6WYX-DlDGz9cq.js} +1 -1
- package/dist/public/assets/globals-DXwGOGPM.css +1 -0
- package/dist/public/assets/{graphlib-5VWtP6Ao.js → graphlib-C4PVrCSd.js} +1 -1
- package/dist/public/assets/{hash-DKiwvmF3.js → hash-DI30zEBt.js} +1 -1
- package/dist/public/assets/{highlighted-body-OFNGDK62-JqfzcmVm.js → highlighted-body-OFNGDK62-BRij1le7.js} +1 -1
- package/dist/public/assets/{history-eaFgPZWX.js → history-B1SZDFzE.js} +1 -1
- package/dist/public/assets/i18n-0lGbQDuK.js +1 -0
- package/dist/public/assets/index-xvXn-G-j.js +2095 -0
- package/dist/public/assets/{info-CsTy513y.js → info-CV59RycV.js} +1 -1
- package/dist/public/assets/info-DKCQHKI2-CT9KyzjE.js +1 -0
- package/dist/public/assets/{infoDiagram-FWYZ7A6U-pVYA0AFe.js → infoDiagram-FWYZ7A6U-Bl9xWhB1.js} +1 -1
- package/dist/public/assets/{input-group-DfPm2b5y.js → input-group-BiaQ-rIw.js} +1 -1
- package/dist/public/assets/{ishikawaDiagram-FXEZZL3T-BgZfu54d.js → ishikawaDiagram-FXEZZL3T-gaFrf2SM.js} +1 -1
- package/dist/public/assets/{journeyDiagram-5HDEW3XC-DfOvu5aO.js → journeyDiagram-5HDEW3XC-DpjawWEP.js} +1 -1
- package/dist/public/assets/{kanban-definition-HUTT4EX6-DnL8qiuO.js → kanban-definition-HUTT4EX6-CEd1M9Jf.js} +1 -1
- package/dist/public/assets/{lib-BBjYrxt7.js → lib-Bgq5iQnh.js} +1 -1
- package/dist/public/assets/{lib-QkjDOaI5.js → lib-C0Wr4O8I.js} +1 -1
- package/dist/public/assets/{line-D4bODUnp.js → line-DF4qqG3z.js} +1 -1
- package/dist/public/assets/{linear-4Rf5sAhf.js → linear-B3i0ZXFo.js} +1 -1
- package/dist/public/assets/lint-config-client-DPKnQGxT.js +1 -0
- package/dist/public/assets/{list-plus-ByOuGBSE.js → list-plus-DBdmIc6v.js} +1 -1
- package/dist/public/assets/{local-menu-action-bus-DhyBGz2o.js → local-menu-action-bus-Cypryz6Z.js} +1 -1
- package/dist/public/assets/{map-DQ7yAI4u.js → map-DtIcVWDF.js} +1 -1
- package/dist/public/assets/{markdownlint-rule-browser-BoRTzfZJ.js → markdownlint-rule-browser-CljNGtQ4.js} +1 -1
- package/dist/public/assets/{mcp-consent-store-CXXQBSNp.js → mcp-consent-store-BASpxNOZ.js} +1 -1
- package/dist/public/assets/mermaid-GHXKKRXX-8B8K64kM.js +1 -0
- package/dist/public/assets/{mermaid-parser.core-Bf2WVXd3.js → mermaid-parser.core-ByQzJt56.js} +2 -2
- package/dist/public/assets/{mermaid.core-CY4lKQBm.js → mermaid.core-q87AkGda.js} +3 -3
- package/dist/public/assets/messages-BXYuvXAP.js +1 -0
- package/dist/public/assets/messages-Bb6dZ_AH.js +1 -0
- package/dist/public/assets/messages-BhH556Jt.js +1 -0
- package/dist/public/assets/messages-C-uAYj-o.js +1 -0
- package/dist/public/assets/messages-CuacW5EK.js +1 -0
- package/dist/public/assets/messages-Cx93o4KA.js +1 -0
- package/dist/public/assets/messages-DURwsA-P.js +1 -0
- package/dist/public/assets/messages-DXvEjyhw.js +1 -0
- package/dist/public/assets/messages-DvOjqSzw.js +1 -0
- package/dist/public/assets/messages-DxYQuv6u.js +1 -0
- package/dist/public/assets/messages-PC6GXgsj.js +1 -0
- package/dist/public/assets/{mindmap-definition-LN4V7U3C-B2wyyqti.js → mindmap-definition-LN4V7U3C-Dn7sM2vD.js} +1 -1
- package/dist/public/assets/minus-D07ZsfDZ.js +1 -0
- package/dist/public/assets/{miss-dialog-store-DKfFwAsF.js → miss-dialog-store-sSyy54tn.js} +1 -1
- package/dist/public/assets/navigation-targets-CmqNPgrG.js +1 -0
- package/dist/public/assets/{now-B20EYrQA.js → now-Bs9xiL-y.js} +1 -1
- package/dist/public/assets/{open-managed-artifact-tab-DumcGmh3.js → open-managed-artifact-tab-ChY4GdUc.js} +1 -1
- package/dist/public/assets/{ordinal-DESsPZ3m.js → ordinal-CBsC_qub.js} +1 -1
- package/dist/public/assets/packet-7NZHBO7P-CH_5gegW.js +1 -0
- package/dist/public/assets/{panel-right-open-JxkSMPMb.js → panel-right-open-B66oA9M1.js} +1 -1
- package/dist/public/assets/{paperclip-BxFhnUjq.js → paperclip-BlKB6Xwa.js} +1 -1
- package/dist/public/assets/{pegDiagram-2B236MQR-CCrhTOMw.js → pegDiagram-2B236MQR-C05FQYWa.js} +1 -1
- package/dist/public/assets/pending-receive-nav-store-V_ABC7EU.js +1 -0
- package/dist/public/assets/pie-RZYD4A2V-aYfmJZ12.js +1 -0
- package/dist/public/assets/{pieDiagram-ENE6RG2P-DQdEzIV-.js → pieDiagram-ENE6RG2P-yyTCawlg.js} +1 -1
- package/dist/public/assets/{platform-labels-B2CH4Bk2.js → platform-labels-glrfxkSh.js} +1 -1
- package/dist/public/assets/progress-BdSO2c_8.js +6 -0
- package/dist/public/assets/{project-paths-Gbd1UShN.js → project-paths-_w2mRvRX.js} +1 -1
- package/dist/public/assets/prop-types-BuByQU-C.js +1 -0
- package/dist/public/assets/{propagation-api-vTg5ZoIF.js → propagation-api-PBYTadVM.js} +1 -1
- package/dist/public/assets/{quadrantDiagram-ABIIQ3AL-BCKmJo75.js → quadrantDiagram-ABIIQ3AL-B3sRVPYy.js} +1 -1
- package/dist/public/assets/radar-I7S5WNFK-DADBQ4w5.js +1 -0
- package/dist/public/assets/railroad-3IZDKUUU-pWB1DEQS.js +1 -0
- package/dist/public/assets/railroad-abnf-AHOZXSZD-DyMKsKhG.js +1 -0
- package/dist/public/assets/railroad-ebnf-EBAXGLYW-D6s4IM0k.js +1 -0
- package/dist/public/assets/railroad-peg-LSFZ7HO6-BTTgV3Yi.js +1 -0
- package/dist/public/assets/{railroadDiagram-RFXS5EU6-T8mmvhRm.js → railroadDiagram-RFXS5EU6-BU6ZoyHj.js} +1 -1
- package/dist/public/assets/{receive-store-DpGZjWBj.js → receive-store-BJRLpWDq.js} +1 -1
- package/dist/public/assets/{refresh-cw-CAV3aG7d.js → refresh-cw-DQervzDZ.js} +1 -1
- package/dist/public/assets/{requirementDiagram-TGXJPOKE-DvRqTfiU.js → requirementDiagram-TGXJPOKE-CUJr32-2.js} +1 -1
- package/dist/public/assets/{sankeyDiagram-HTMAVEWB-D64eInUx.js → sankeyDiagram-HTMAVEWB-bGsSEqGh.js} +1 -1
- package/dist/public/assets/{schema-fields-view-intent-CdIkrCMo.js → schema-fields-view-intent-DiE8NL9y.js} +1 -1
- package/dist/public/assets/{select-BjFjLtNo.js → select-CguJodwX.js} +1 -1
- package/dist/public/assets/{selection-context-CCO6QKdo.js → selection-context-BTaBjE1x.js} +1 -1
- package/dist/public/assets/{separator-M6oCqOdc.js → separator-vdmCepR4.js} +1 -1
- package/dist/public/assets/{sequenceDiagram-DBY2YBRQ-BV2zWp8H.js → sequenceDiagram-DBY2YBRQ-d6rntmdd.js} +1 -1
- package/dist/public/assets/{sizeCapture-X5ZJPWSS-DWSidcVR.js → sizeCapture-X5ZJPWSS-CJquhL5U.js} +1 -1
- package/dist/public/assets/skill-actions-BLgjn8Lg.js +2 -0
- package/dist/public/assets/skill-scope-ByxyMqpD.js +1 -0
- package/dist/public/assets/skills-api-CD1FoT1f.js +1 -0
- package/dist/public/assets/{spinner-D7fgqgRw.js → spinner-BqySY7qY.js} +1 -1
- package/dist/public/assets/{square-pen-hwoIfi3M.js → square-pen-Cb57Y3fg.js} +1 -1
- package/dist/public/assets/{src-CFlBJhBk.js → src-DTnqSW2M.js} +1 -1
- package/dist/public/assets/{src-BrB3aFmb.js → src-ECkYJZtm.js} +1 -1
- package/dist/public/assets/{stateDiagram-2N3HPSRC-E3_0aSjO.js → stateDiagram-2N3HPSRC-kGd_FNp8.js} +1 -1
- package/dist/public/assets/stateDiagram-v2-6OUMAXLB-6-zLyJUk.js +1 -0
- package/dist/public/assets/{swimlanes-5IMT3BWC-BUS17sVo.js → swimlanes-5IMT3BWC-v_MAyooN.js} +2 -2
- package/dist/public/assets/swimlanesDiagram-G3AALYLV-BBH-ZYmT.js +8 -0
- package/dist/public/assets/tag-pill-input-D9TPdQQY.js +1 -0
- package/dist/public/assets/{target-navigation-intent-BgxhKxMq.js → target-navigation-intent-Dn77egCV.js} +1 -1
- package/dist/public/assets/{telemetry-impl-BM6FbcrP.js → telemetry-impl-CPjcGqo6.js} +2 -2
- package/dist/public/assets/telemetry-startup-8sbfs4gZ.js +1 -0
- package/dist/public/assets/terminal-Cvoe7pfU.js +1 -0
- package/dist/public/assets/terminal-cli-display-ceeLXdxI.js +1 -0
- package/dist/public/assets/terminal-launch-events-un6YHfuE.js +1 -0
- package/dist/public/assets/{terminal-telemetry-C-Dziy6l.js → terminal-telemetry-DATv4VP7.js} +1 -1
- package/dist/public/assets/text-viewer-languages-4qbY4VOt.js +2 -0
- package/dist/public/assets/thread-client-DnaLPSLV.js +1 -0
- package/dist/public/assets/{timeline-definition-FHXFAJF6-C1ZUkORa.js → timeline-definition-FHXFAJF6-B79HsAbT.js} +1 -1
- package/dist/public/assets/{trash-2-CSpv7np3.js → trash-2-N0ilsnnr.js} +1 -1
- package/dist/public/assets/treeView-QDETBFTQ-Dx6w4y7n.js +1 -0
- package/dist/public/assets/treemap-6X3UGDF4-BDQteRlb.js +1 -0
- package/dist/public/assets/{triangle-alert-xKPljhlK.js → triangle-alert-COo6wbUK.js} +1 -1
- package/dist/public/assets/{typing-burst-detector-Df_WjDE6.js → typing-burst-detector-BIG5gJhk.js} +1 -1
- package/dist/public/assets/{undo-2-D5cqFzyJ.js → undo-2-WGCwknr8.js} +1 -1
- package/dist/public/assets/uninstall-BnhCjTyl.js +1 -0
- package/dist/public/assets/use-activity-panel-r04ocY2D.js +1 -0
- package/dist/public/assets/use-apply-config-color-theme-Cwl6JTaa.js +1 -0
- package/dist/public/assets/use-collab-url-B6fAlmsp.js +1 -0
- package/dist/public/assets/{use-live-xterm-theme-CILJuHGx.js → use-live-xterm-theme-XZ_rkAuD.js} +1 -1
- package/dist/public/assets/{use-open-skill-YYewtP0J.js → use-open-skill-o7lsQu4C.js} +1 -1
- package/dist/public/assets/{use-popular-skills-CPpkjJUN.js → use-popular-skills-BqnXOXvQ.js} +1 -1
- package/dist/public/assets/use-settings-route-D49weK6e.js +1 -0
- package/dist/public/assets/{use-skill-origin-D-U8mSyd.js → use-skill-origin-CbV3B2nV.js} +1 -1
- package/dist/public/assets/use-skills-DWcQk94I.js +1 -0
- package/dist/public/assets/use-terminal-enabled-C3bQIY8k.js +1 -0
- package/dist/public/assets/{use-timeline-entry-diff-Dgp6eZCm.js → use-timeline-entry-diff-0Hk0QZo4.js} +1 -1
- package/dist/public/assets/use-workspace-DTMCKV7B.js +1 -0
- package/dist/public/assets/{vennDiagram-L72KCM5P-BoWUv2uG.js → vennDiagram-L72KCM5P-CNfULt3I.js} +1 -1
- package/dist/public/assets/wardley-OPB4EBWU-D46U-qP9.js +1 -0
- package/dist/public/assets/{wardleyDiagram-EHGQE667-BIN_yrd6.js → wardleyDiagram-EHGQE667-CJYAF8du.js} +1 -1
- package/dist/public/assets/{wrench-yAsO-Pm9.js → wrench-CP2MIQHF.js} +1 -1
- package/dist/public/assets/x-DS57FvHW.js +1 -0
- package/dist/public/assets/{xychartDiagram-FW5EYKEG-DKs7W7HY.js → xychartDiagram-FW5EYKEG-CDXLQgim.js} +1 -1
- package/dist/public/index.html +146 -146
- package/dist/public/uninstall.html +22 -22
- package/dist/{repair-launch-json-LIXHgLNx.mjs → repair-launch-json-BXK_QZY7.mjs} +2 -2
- package/dist/{repair-mcp-configs-DjKRfsTH.mjs → repair-mcp-configs-BMN_8qPI.mjs} +2 -2
- package/dist/repair-skills-BCfSAxpT.mjs +1 -0
- package/dist/{repair-skills-BFfQjF9F.mjs → repair-skills-CHo08MZF.mjs} +2 -2
- package/dist/{skill-teardown-BppNXkpR.mjs → skill-teardown-Bg01dmvX.mjs} +2 -2
- package/dist/{src-CwuSSZyu.mjs → src-BhlDoN_j.mjs} +394 -393
- package/dist/{src-Cz4zjcA4.mjs → src-Bx4CeCkU.mjs} +2 -2
- package/dist/{src-DR51i3QD.mjs → src-C7oaYvaI.mjs} +1 -1
- package/dist/src-DmaHDzt-.mjs +1 -0
- package/dist/{start-BR982nPC.mjs → start-9GMT55r5.mjs} +4 -4
- package/dist/start-BGGNbYXq.mjs +1 -0
- package/dist/ui-C6oh6Jzr.mjs +1 -0
- package/dist/{ui-CNA2d6cp.mjs → ui-aYQtsARJ.mjs} +3 -3
- package/dist/{write-project-skill-DHsuRyv9.mjs → write-project-skill-BklBDWC_.mjs} +2 -2
- package/package.json +5 -5
- package/dist/constants-B0jB7NMw.mjs +0 -2
- package/dist/init-D0U_jK5Z.mjs +0 -1
- package/dist/loader-5KuoWuny.mjs +0 -1
- package/dist/preview-DqfDwjT8.mjs +0 -1
- package/dist/public/assets/ActivityModeContent-Bs38aJPR.js +0 -1
- package/dist/public/assets/ChangedOutsideBadge-_aGsEoko.js +0 -1
- package/dist/public/assets/ConsentDialogBody-BC_OEuVT.js +0 -2
- package/dist/public/assets/DocumentContext-BjC0hGTM.js +0 -38
- package/dist/public/assets/FeedbackForm-BfXUBgAJ.js +0 -1
- package/dist/public/assets/ManagedArtifactProperties-Cip1T7yF.js +0 -1
- package/dist/public/assets/ReportBugDialogBody-BWP3eFla.js +0 -3
- package/dist/public/assets/SchemaConfigEditor-CkTHXpAc.js +0 -1
- package/dist/public/assets/SettingsDialogBody-CMButlJi.js +0 -12
- package/dist/public/assets/ShareBranchSwitchDialog-wrgKcpV0.js +0 -1
- package/dist/public/assets/SourceEditor-Bt7MyIGO.js +0 -1
- package/dist/public/assets/TextDocEditor-B3WEjI_0.js +0 -1
- package/dist/public/assets/ThreadView-DiR7qW0t.js +0 -10
- package/dist/public/assets/architecture-TIHT7OUA-BVZsRK1E.js +0 -1
- package/dist/public/assets/arrow-up-right-D_WN0VGP.js +0 -1
- package/dist/public/assets/auth-state-cache-CP1J0B4H.js +0 -11
- package/dist/public/assets/channel-u5Kh_K8U.js +0 -1
- package/dist/public/assets/check-xiKupoJh.js +0 -1
- package/dist/public/assets/chevron-left-CiNweXA3.js +0 -1
- package/dist/public/assets/chevron-right-DJvandMc.js +0 -1
- package/dist/public/assets/chunk-2Q5K7J3B-DASLqvzL.js +0 -1
- package/dist/public/assets/chunk-VAUOI2AC-DJA00-BZ.js +0 -1
- package/dist/public/assets/chunk-XXDRQBXY-PDS5GNmy.js +0 -1
- package/dist/public/assets/classDiagram-OUVF2IWQ-NlcKepkm.js +0 -1
- package/dist/public/assets/classDiagram-v2-EOCWNBFH-C6XFOl3m.js +0 -1
- package/dist/public/assets/client-version-C-vhtx0q.js +0 -1
- package/dist/public/assets/comment-chips-vQeAaaUq.js +0 -5
- package/dist/public/assets/cynefin-VYW2F7L2-BMcOSmLQ.js +0 -1
- package/dist/public/assets/dialog-DVmOCCjy.js +0 -5
- package/dist/public/assets/doc-paths-DOZo_nHG.js +0 -1
- package/dist/public/assets/documents-events-BitYaN7I.js +0 -1
- package/dist/public/assets/eventmodeling-45OFAUF4-B4ndPr5Q.js +0 -1
- package/dist/public/assets/file-tree-adapter-BI2FekZW.js +0 -1
- package/dist/public/assets/file-tree-utils-CTRWveDn.js +0 -1
- package/dist/public/assets/flowDiagram-23GEKE2U-HpizmsfC.js +0 -1
- package/dist/public/assets/follow-file-C644A1Kj.js +0 -4
- package/dist/public/assets/gitGraph-TEB2WS4Q-GwnHDhol.js +0 -1
- package/dist/public/assets/globals-BNjkKswM.css +0 -1
- package/dist/public/assets/i18n-OUMFVthu.js +0 -1
- package/dist/public/assets/index-BW96j9Aj.js +0 -2095
- package/dist/public/assets/info-DKCQHKI2-CGe_S43p.js +0 -1
- package/dist/public/assets/lint-config-client-DYG9O775.js +0 -1
- package/dist/public/assets/mermaid-GHXKKRXX-CRK2GGUl.js +0 -1
- package/dist/public/assets/messages-5lfvSK7R.js +0 -1
- package/dist/public/assets/messages-B7VCB4F4.js +0 -1
- package/dist/public/assets/messages-BE9MmUSS.js +0 -1
- package/dist/public/assets/messages-C8DKO6vo.js +0 -1
- package/dist/public/assets/messages-CHMYGJKj.js +0 -1
- package/dist/public/assets/messages-CZ6-WdPl.js +0 -1
- package/dist/public/assets/messages-ClqleYya.js +0 -1
- package/dist/public/assets/messages-DGds_cwk.js +0 -1
- package/dist/public/assets/messages-DqzgR8k0.js +0 -1
- package/dist/public/assets/messages-Q4MhsTR4.js +0 -1
- package/dist/public/assets/messages-QJXNLGHa.js +0 -1
- package/dist/public/assets/minus-H7UCODAH.js +0 -1
- package/dist/public/assets/navigation-targets-D1c78Tgj.js +0 -1
- package/dist/public/assets/packet-7NZHBO7P-BR-mxuwX.js +0 -1
- package/dist/public/assets/pending-receive-nav-store-CkgEiXT8.js +0 -1
- package/dist/public/assets/pie-RZYD4A2V-BPiOMAfX.js +0 -1
- package/dist/public/assets/prop-types-BGodD0gJ.js +0 -1
- package/dist/public/assets/radar-I7S5WNFK-FR61IQU6.js +0 -1
- package/dist/public/assets/railroad-3IZDKUUU-CcLEcWKe.js +0 -1
- package/dist/public/assets/railroad-abnf-AHOZXSZD-9ppZy1-k.js +0 -1
- package/dist/public/assets/railroad-ebnf-EBAXGLYW-CFdmC4H0.js +0 -1
- package/dist/public/assets/railroad-peg-LSFZ7HO6-DKKT6-pE.js +0 -1
- package/dist/public/assets/skill-actions-B1B0qG52.js +0 -2
- package/dist/public/assets/skill-scope-mjfe91li.js +0 -1
- package/dist/public/assets/skills-api-CcQWIVlI.js +0 -1
- package/dist/public/assets/stateDiagram-v2-6OUMAXLB-BpA8LLQp.js +0 -1
- package/dist/public/assets/swimlanesDiagram-G3AALYLV-BUuVbuaI.js +0 -8
- package/dist/public/assets/tag-pill-input-BkD-ZQDk.js +0 -1
- package/dist/public/assets/telemetry-startup-BQziscLg.js +0 -1
- package/dist/public/assets/terminal-bCsp6kPz.js +0 -1
- package/dist/public/assets/terminal-cli-display-ZdP29LVN.js +0 -1
- package/dist/public/assets/terminal-launch-events-AyMyKuPQ.js +0 -1
- package/dist/public/assets/text-viewer-languages-D7sW2cs_.js +0 -2
- package/dist/public/assets/thread-client-uB_XB2bn.js +0 -1
- package/dist/public/assets/treeView-QDETBFTQ-Bt_6H8f6.js +0 -1
- package/dist/public/assets/treemap-6X3UGDF4-Ba1ieKkN.js +0 -1
- package/dist/public/assets/uninstall-DEJN3ZLH.js +0 -1
- package/dist/public/assets/use-activity-panel-Bb0h8yLJ.js +0 -1
- package/dist/public/assets/use-apply-config-color-theme-UFrKf2EE.js +0 -1
- package/dist/public/assets/use-collab-url-DI_uQryf.js +0 -1
- package/dist/public/assets/use-settings-route-CWCzZOoj.js +0 -1
- package/dist/public/assets/use-skills-BjtLi97f.js +0 -1
- package/dist/public/assets/use-terminal-enabled-BPY3BhLN.js +0 -1
- package/dist/public/assets/use-workspace-DtqF7Dc2.js +0 -1
- package/dist/public/assets/wardley-OPB4EBWU-BDVK50WN.js +0 -1
- package/dist/public/assets/x-BopM5CF8.js +0 -1
- package/dist/repair-skills-Dz417BMs.mjs +0 -1
- package/dist/src-CLz0Rv1d.mjs +0 -1
- package/dist/start-DW9wFYhh.mjs +0 -1
- package/dist/ui-BBGFVQDX.mjs +0 -1
- /package/dist/public/assets/{ActivityPanelDiffView-BFGU7FuX.js → ActivityPanelDiffView-GFnvFJPJ.js} +0 -0
- /package/dist/public/assets/{SkillModeBanner-d0ZDkWTk.js → SkillModeBanner-cMF-HPLA.js} +0 -0
- /package/dist/public/assets/{__vite-browser-external-B0BZXP-a.js → __vite-browser-external-DD8Jl_VU.js} +0 -0
- /package/dist/public/assets/{agent-presence-Q3sOmqg-.js → agent-presence-C3GIHDxc.js} +0 -0
- /package/dist/public/assets/{array-DnELBPc_.js → array-Cf_JnmE6.js} +0 -0
- /package/dist/public/assets/{asset-dispatch-DsHoHhCG.js → asset-dispatch-Cz1weVX3.js} +0 -0
- /package/dist/public/assets/{auth-prompt-store-CyiGTt3C.js → auth-prompt-store-BYOv6_8O.js} +0 -0
- /package/dist/public/assets/{badge-clAbmQWQ.js → badge-DFX4S3a5.js} +0 -0
- /package/dist/public/assets/{chunk-KEIR6QF5-BAcwqmZm.js → chunk-KEIR6QF5-BOpPjw4C.js} +0 -0
- /package/dist/public/assets/{chunk-Y2CYZVJY-C6hUlB9r.js → chunk-Y2CYZVJY-Bw2nvaMQ.js} +0 -0
- /package/dist/public/assets/{clike-D606HwWD.js → clike-BBEjy26W.js} +0 -0
- /package/dist/public/assets/{clipboard-adapter-DEJxizFj.js → clipboard-adapter-DqemxSWT.js} +0 -0
- /package/dist/public/assets/{colors-DXi5RzQM.js → colors-CElM_Snc.js} +0 -0
- /package/dist/public/assets/{copilot-BdGxiVpg.js → copilot-Dh1BU6kS.js} +0 -0
- /package/dist/public/assets/{createLucideIcon-6iYxif1u.js → createLucideIcon-Bhw2PmPp.js} +0 -0
- /package/dist/public/assets/{cursor-CUtcHGV-.js → cursor-B6reg1lS.js} +0 -0
- /package/dist/public/assets/{cytoscape.esm-BDh2zxAN.js → cytoscape.esm-h5J7wFxJ.js} +0 -0
- /package/dist/public/assets/{defaultLocale-DNCjqQTu.js → defaultLocale-a-gWoIXg.js} +0 -0
- /package/dist/public/assets/{desktop-bridge-types-oYPdTDmz.js → desktop-bridge-types-NXCK8Pd7.js} +0 -0
- /package/dist/public/assets/{diff-BqT6xzG9.js → diff-CvpcR3NJ.js} +0 -0
- /package/dist/public/assets/{dist-BLaUOTRG.js → dist-B6jB2qbD2.js} +0 -0
- /package/dist/public/assets/{dist-B607USIc.js → dist-CK4VZUF5.js} +0 -0
- /package/dist/public/assets/{dist-DoS8xGN6.js → dist-DUfEoSbR.js} +0 -0
- /package/dist/public/assets/{dist-DA9thpzC.js → dist-DvG1-wV_.js} +0 -0
- /package/dist/public/assets/{documents-fetch-I34CgFeh.js → documents-fetch-CV8lWh8v.js} +0 -0
- /package/dist/public/assets/{external-link-CHCx4FXC.js → external-link-BIMZpgNa.js} +0 -0
- /package/dist/public/assets/{file-tree-rename-validation-DEuNOzhg.js → file-tree-rename-validation-CCqiFGp1.js} +0 -0
- /package/dist/public/assets/{form-B-50NuzZ.js → form-dlFqxdSN.js} +0 -0
- /package/dist/public/assets/{format-Dx1Bv63R.js → format-I3YtNHrv.js} +0 -0
- /package/dist/public/assets/{gherkin-CQNcofd0.js → gherkin-D3uEvcwv.js} +0 -0
- /package/dist/public/assets/{globals-BU4yHPFj.js → globals-Ctlj0TIx.js} +0 -0
- /package/dist/public/assets/{go-CYNjOMy2.js → go-fa_HI4OB.js} +0 -0
- /package/dist/public/assets/{html-void-elements-DoMZlD02.js → html-void-elements-C35FEqss.js} +0 -0
- /package/dist/public/assets/{init-UZXirr88.js → init-B1Vy7sk-.js} +0 -0
- /package/dist/public/assets/{input-VnbFvuKd.js → input-BYiOK210.js} +0 -0
- /package/dist/public/assets/{isObject-DA8VFA79.js → isObject-DaQSDnzB.js} +0 -0
- /package/dist/public/assets/{katex-C-9c1y-w.js → katex-Bbx57GnP.js} +0 -0
- /package/dist/public/assets/{libesm-D24wYKBv.js → libesm-DQtLkQQh.js} +0 -0
- /package/dist/public/assets/{lint-plugin-meta-FPoTE-0t.js → lint-plugin-meta-CKntN3M1.js} +0 -0
- /package/dist/public/assets/{lru-string-cache-Wi_7wLc6.js → lru-string-cache-Ckr1Pjrr.js} +0 -0
- /package/dist/public/assets/{lua-Bn4oUWTX.js → lua-D7ZxzT_Z.js} +0 -0
- /package/dist/public/assets/{markdownit-65wjFH7d.js → markdownit-C1Squg6O.js} +0 -0
- /package/dist/public/assets/{min-CBraMkpZ.js → min-Dbr9KJ3U.js} +0 -0
- /package/dist/public/assets/{panel-9S5Pf2VO.js → panel-CbGx_cRv.js} +0 -0
- /package/dist/public/assets/{panzoom.es-BhMZeZS9.js → panzoom.es-BtVt9FgW.js} +0 -0
- /package/dist/public/assets/{parse-api-error-Mgtc4OJu.js → parse-api-error-DfesE4Y7.js} +0 -0
- /package/dist/public/assets/{path-BGDYi27x.js → path-kpTbN09k.js} +0 -0
- /package/dist/public/assets/{pdf-Ci13cEXv.js → pdf-BZmCmuV1.js} +0 -0
- /package/dist/public/assets/{pdf.worker-BKD7j1GI.js → pdf.worker-DJM9EUcj.js} +0 -0
- /package/dist/public/assets/{perl-9sQD1ONc.js → perl-B2T_oOXa.js} +0 -0
- /package/dist/public/assets/{properties-Dk4BoPWH.js → properties-BlzchQr8.js} +0 -0
- /package/dist/public/assets/{r-DMqeVtjM.js → r-BuKMh1KL.js} +0 -0
- /package/dist/public/assets/{radio-group-Dma7A6rO.js → radio-group-BSCe7mNt.js} +0 -0
- /package/dist/public/assets/{rough.esm-CG7OK5U-.js → rough.esm-CP-YPkih.js} +0 -0
- /package/dist/public/assets/{ruby-BkRqAhss.js → ruby-CUkUilNJ.js} +0 -0
- /package/dist/public/assets/{share-metadata-rows-CgcTV7I9.js → share-metadata-rows-D5y9TY7o.js} +0 -0
- /package/dist/public/assets/{shell-CSBOlfer.js → shell-DhuGq92J.js} +0 -0
- /package/dist/public/assets/{skeleton-BOVIbSHk.js → skeleton-D4wPMdlV.js} +0 -0
- /package/dist/public/assets/{sortable.esm-mqYoEMD5.js → sortable.esm-Dd5A8_XI.js} +0 -0
- /package/dist/public/assets/{sql-B5-oXtdx.js → sql-PCnKIGcH.js} +0 -0
- /package/dist/public/assets/{src-DBcH25v-.js → src-DlFhp60C.js} +0 -0
- /package/dist/public/assets/{startup-marks-BYurBbnW.js → startup-marks-Cdkh8q3E.js} +0 -0
- /package/dist/public/assets/{stex-BmYSnOnf.js → stex-PMopVeEZ.js} +0 -0
- /package/dist/public/assets/{swift-DTTPugfl.js → swift-BxR8RYdU.js} +0 -0
- /package/dist/public/assets/{switch-D7eeFW1V.js → switch-B2sF5R0q.js} +0 -0
- /package/dist/public/assets/{tabs-N5qanjDX.js → tabs-DlmsMbtD.js} +0 -0
- /package/dist/public/assets/{terminal-command-events-D_n9eCmK.js → terminal-command-events-DXmeHtnk.js} +0 -0
- /package/dist/public/assets/{textarea-D59GB_Zy.js → textarea-yZk4yd9U.js} +0 -0
- /package/dist/public/assets/{thread-draft-staging-Dcj4CoIB.js → thread-draft-staging-BG7XGHEN.js} +0 -0
- /package/dist/public/assets/{timeline-diff-store-cCBpDgND.js → timeline-diff-store-DnRthkM7.js} +0 -0
- /package/dist/public/assets/{toggle-group-BIExzdFQ.js → toggle-group-CZcn-1gX.js} +0 -0
- /package/dist/public/assets/{toml-DHoKtycO.js → toml-nuQJU7MH.js} +0 -0
- /package/dist/public/assets/{trace-api-BWijHVTo.js → trace-api-18gcBe0u.js} +0 -0
- /package/dist/public/assets/{use-installed-clis-CdB0ME5s.js → use-installed-clis-Cydpb5jd.js} +0 -0
- /package/dist/public/assets/{useLintConfigViewMode--ngaRTOB.js → useLintConfigViewMode-DX8l9aBY.js} +0 -0
- /package/dist/public/assets/{w3c-keyname-g0wFlLmq.js → w3c-keyname-Bw5giFqP.js} +0 -0
- /package/dist/public/assets/{workspace-paths-C2pS_Pbn.js → workspace-paths-CKUFX0v6.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{o as e}from"./chunk-DTipWd-i.mjs";import{K as t,ft as n,q as r}from"./sleep-ChZE9826.mjs";import{Ga as i,Hs as a,Vs as o,X as s,Z as c}from"./src-DMpGVIiQ.mjs";import{Ci as l,at as u,ei as d,it as f,jn as p,ot as m,rt as h}from"./src-
|
|
1
|
+
import{o as e}from"./chunk-DTipWd-i.mjs";import{K as t,ft as n,q as r}from"./sleep-ChZE9826.mjs";import{Ga as i,Hs as a,Vs as o,X as s,Z as c}from"./src-DMpGVIiQ.mjs";import{Ci as l,at as u,ei as d,it as f,jn as p,ot as m,rt as h}from"./src-BhlDoN_j.mjs";import{D as g,F as _,I as v,k as y}from"./fs-traced-RPXwxrA5.mjs";import{C as b,S as x,d as S,y as C}from"./server-lock-BV0Ktccm.mjs";import{t as w}from"./yazl-DZr4PyKA.mjs";import{t as T}from"./esm-DmX1RzAi.mjs";import{c as ee}from"./colors-BsmVIwfM.mjs";import{n as E}from"./acp-harness-probe-DNfyJSyV.mjs";import{E as te,T as D,_ as O,o as k,w as A,x as j,y as M}from"./init-Vv3gEflM.mjs";import{n as N}from"./constants-B31gJMU-.mjs";import{t as P}from"./is-object-ByG7RnjH.mjs";import{m as ne,p as re}from"./write-project-skill-BklBDWC_.mjs";import"./loader-CL63YkWQ.mjs";import"./skill-teardown-Bg01dmvX.mjs";import"./preview-dPcINETL.mjs";import{execSync as ie,spawnSync as ae}from"node:child_process";import{basename as F,dirname as I,join as L,relative as oe,resolve as R,sep as se}from"node:path";import{cpSync as ce,createWriteStream as le,existsSync as z,lstatSync as ue,mkdirSync as B,mkdtempSync as de,readFileSync as V,readdirSync as H,readlinkSync as fe,rmSync as U,statSync as pe,writeFileSync as W}from"node:fs";import{arch as me,freemem as he,homedir as G,hostname as ge,platform as _e,release as ve,tmpdir as ye,totalmem as be,type as xe,uptime as Se}from"node:os";import"node:fs/promises";import{createHash as Ce}from"node:crypto";var we=n();const Te=new Set([`start`,`stop`,`status`,`clean`,`ui`,`mcp`,`preview`,`lint`,`deinit`,`auth`]);function Ee(e,t,n=p){if(e!==void 0&&!Te.has(e))return null;let r=n(t);return r===null||r.distance===0?null:r.rootPath}let De=null;function Oe(e){De=e}function ke(){return De??process.cwd()}function Ae(){return L(G(),`.ok`,`bug-reports`)}function je(e=new Date){let t=e.toISOString().replace(/[:.]/g,`-`),n=Ae(),r=`${t}-bugreport`,i=L(n,`${r}.zip`);for(let e=2;z(i);e+=1)i=L(n,`${r}-${e}.zip`);return i}function Me(e,t){let n=L(e,`.ok`,`config.yml`);if(z(n))try{let e=V(n,`utf8`).match(/^\s*name:\s*['"]?(.+?)['"]?\s*$/m);if(e?.[1])return e[1]}catch(e){t?.warn({configPath:n,err:e},`bug-report: failed to read .ok/config.yml for project slug; using path-hash fallback`)}return z(L(e,`.ok`))?Ce(`sha256`).update(R(e)).digest(`hex`).slice(0,12):null}function Ne(){let e={timestamp:new Date().toISOString(),platform:_e(),osType:xe(),osRelease:ve(),hostname:`[redacted]`,uptime:Se(),freeMem:he(),totalMem:be(),nodeVersion:process.version,bunVersion:process.versions.bun??null,v8Version:process.versions.v8??null,pid:process.pid};try{e.macosVersion=ie(`sw_vers -productVersion 2>/dev/null`,d({encoding:`utf8`})).trim()}catch{}try{let t=L(__dirname,`..`,`..`,`package.json`);z(t)&&(e.okVersion=JSON.parse(V(t,`utf8`)).version)}catch{}return e}const Pe=[{prefix:`cli`,projectTagged:!0},{prefix:`desktop`,projectTagged:!1},{prefix:`mcp`,projectTagged:!1}];function Fe(e){let t=F(e);return Pe.some(e=>e.projectTagged&&t.startsWith(`${e.prefix}.`))}function Ie(e,t){return ze(e,t).files}const Le=[`ShipIt_stderr.log`,`ShipIt_stdout.log`];function Re(e,t=E){let n=L(e,`${t}.ShipIt`);return z(n)?Le.map(e=>L(n,e)).filter(e=>z(e)):[]}function ze(e,t){if(!z(t))return{files:[],excludedByProjectSlug:0};let n=H(t).filter(e=>e.endsWith(`.log`)||/\.log\.\d+$/.test(e)).map(e=>L(t,e));if(!e)return{files:n,excludedByProjectSlug:0};let r=n.filter(Fe),i=[],a=r.filter(t=>{try{return V(t,`utf8`).includes(`"project":"${e}"`)}catch{return i.push(t),!1}});if(a.length===0)return{files:n,excludedByProjectSlug:0};let o=new Set([...a,...i]);return{files:n.filter(e=>!Fe(e)||o.has(e)),excludedByProjectSlug:r.length-o.size}}function Be(e){let t=L(e,`.ok`,`local`);return z(t)?{files:[`server.lock`,`last-spawn-error.log`,s].map(e=>L(t,e)).filter(e=>z(e))}:{files:[]}}function Ve(e){let t=L(e,`.ok`,`local`,`logs`);return z(t)?{files:[`server-current.jsonl`,`server-prev.jsonl`].map(e=>L(t,e)).filter(e=>z(e))}:{files:[]}}function He(e){if(e.redact){let{redacted:t,patterns:n,lineCount:r}=a(e.content);e.zipfile.addBuffer(Buffer.from(t,`utf8`),e.name),e.bundleFiles.push(e.name),n.length>0&&e.redactions.push({file:e.name,lineCount:r,patterns:n})}else e.zipfile.addBuffer(Buffer.from(e.content,`utf8`),e.name),e.bundleFiles.push(e.name)}function Ue(e){for(let t of e.files)try{He({zipfile:e.zipfile,name:`${e.prefix}/${F(t)}`,content:V(t,`utf8`),redact:e.redact,bundleFiles:e.bundleFiles,redactions:e.redactions})}catch(n){e.logger?.warn({file:t,prefix:e.prefix,err:n},`bug-report: skipped unreadable file`)}}async function We(t){let{redact:n,outputPath:r,logger:i}=t,a=t.userLogsDir??L(G(),`.ok`,`logs`),s=t.projectDir?Me(t.projectDir,i):null;B(I(r),{recursive:!0}),i?.info({projectSlug:s},`gathering diagnostic data`);let c=Ne();c.desktop=t.desktop??null,c.language=t.language??null;let{files:l,excludedByProjectSlug:u}=ze(s,a),{files:d}=t.projectDir?Be(t.projectDir):{files:[]},{files:f}=t.projectDir?Ve(t.projectDir):{files:[]},p=t.shipItLogFiles??[];i?.info({logFileCount:l.length,logFilesExcludedByProjectSlug:u,lockFileCount:d.length,localSinkFileCount:f.length,shipItLogFileCount:p.length},`files collected`);let m=[],h=[],{ZipFile:g}=await import(`./yazl-jVENrf5i.mjs`).then(t=>e(t.default,1)),_=new g;Ue({zipfile:_,files:[...l,...p],prefix:`logs`,redact:n,bundleFiles:h,redactions:m,logger:i}),Ue({zipfile:_,files:d,prefix:`lockdir`,redact:n,bundleFiles:h,redactions:m,logger:i}),Ue({zipfile:_,files:f,prefix:`local-logs`,redact:n,bundleFiles:h,redactions:m,logger:i});for(let e of t.extraFiles??[])try{let t=V(e.sourcePath),n=`extra/${e.zipName??F(e.sourcePath)}`;_.addBuffer(t,n),h.push(n)}catch(t){i?.warn({sourcePath:e.sourcePath,err:t},`extra file unreadable; omitted from bundle`)}t.note&&He({zipfile:_,name:`note.txt`,content:t.note,redact:n,bundleFiles:h,redactions:m});let v=JSON.stringify(c,null,2);_.addBuffer(Buffer.from(v,`utf8`),`sysinfo.json`),h.push(`sysinfo.json`);let y={generatedAt:new Date().toISOString(),disciplineVersion:`1.0.0`,projectSlug:s,files:h,redactions:m,sysinfo:c};_.addBuffer(Buffer.from(JSON.stringify(y,null,2),`utf8`),`MANIFEST.json`);let b=m.reduce((e,t)=>e+t.lineCount,0),x=new Set(p.map(e=>`logs/${F(e)}`)),S=h.filter(e=>x.has(e)),C=s?h.filter(e=>e.startsWith(`logs/`)&&!Fe(e)&&!x.has(e)):[],w=[`# Bug Report Bundle`,``,`Generated: ${y.generatedAt}`,`Project: ${s??`(unscoped)`}`,`Discipline version: ${y.disciplineVersion}`,``,`## Contents`,``,...h.map(e=>`- ${e}`),``,`## Privacy`,``,...C.length>0?[`Scope: some collected logs are user-wide rather than project-scoped.`,`These are written once per machine per day and can contain activity`,`from other projects open on this machine, including captured console`,`output:`,...C.map(e=>`- ${e}`),``]:[],...S.length>0?[`Installer logs: written by the macOS update helper rather than by`,`OpenKnowledge itself, and machine-wide rather than scoped to any one`,`project. They record the install and update history of this app on`,`this machine. Only this app is collected, never other applications`,`that use the same update mechanism:`,...S.map(e=>`- ${e}`),``]:[],...n?[`This bundle was auto-redacted before packaging.`,`Patterns checked: ${o.join(`, `)}`,b>0?`${b} line(s) were scrubbed across ${m.length} file(s).`:`No redactions were needed.`,`See MANIFEST.json for the full redaction audit report.`,``,`This bundle is safe to attach to a GitHub issue.`]:[`Redaction was disabled for this bundle; file contents are unmodified.`]].join(`
|
|
2
2
|
`);_.addBuffer(Buffer.from(w,`utf8`),`README.md`),_.end();let T=le(r);return _.outputStream.pipe(T),await new Promise((e,t)=>{T.on(`close`,e),T.on(`error`,t)}),i?.info({bundlePath:r,fileCount:h.length,redactionCount:b},`bundle written`),{zipPath:r,summary:{projectSlug:s,files:h,redactions:m,redactedLineCount:b,generatedAt:y.generatedAt}}}var Ge=e(w(),1),K=e(ee(),1);function Ke(e){return v({absPath:y(`user`,e,e),sideline:!1,warn:()=>{}}).value.appearance?.language??`system`}function qe({home:e=G(),env:n=process.env}={}){let a=Ke(e),{override:o,preferenceList:s}=g(n),{locale:c,source:l}=i({override:o,storedPreference:a,supportedLocales:r,preferenceList:s,autoDetectableLocales:t});return{preference:a,locale:c,source:l,systemLanguages:s}}function Je(e,t){return t.length===0||!e.includes(t)?e:e.split(t).join(`<CONTENT_DIR>`)}function Ye(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function q(e,t){if(typeof e==`string`)return Je(e,t.contentDir);if(Array.isArray(e))return e.map(e=>q(e,t));if(!Ye(e))return e;let n={};for(let[r,i]of Object.entries(e))n[r]=q(i,t);return n}function Xe(e,t){let n=V(e,`utf-8`);if(n.length===0)return;let r=n.endsWith(`
|
|
3
3
|
`),i=n.split(`
|
|
4
4
|
`),a=[];for(let e=0;e<i.length;e++){let n=i[e]??``;if(!(e===i.length-1&&n===``)){if(n.length===0){a.push(``);continue}try{let e=q(JSON.parse(n),t);a.push(JSON.stringify(e))}catch{a.push(n)}}}W(e,r?`${a.join(`
|
|
@@ -17,4 +17,4 @@ import{o as e}from"./chunk-DTipWd-i.mjs";import{K as t,ft as n,q as r}from"./sle
|
|
|
17
17
|
`).replace(/\n/g,`\r
|
|
18
18
|
`));let u=`${i?``:``}${l}`;return u!==r&&_(e,u,{mode:A(e)}),{kind:`removed`}}function ln(e){return e==null?!1:e.includes(`--type=utility`)&&e.includes(`--utility-sub-type=node.mojom.NodeService`)}function un(e,t=Date.now()){let n=new Date(e).getTime();if(Number.isNaN(n))return`—`;let r=t-n,i=Math.floor(r/1e3);if(i<60)return`${i}s`;let a=Math.floor(i/60);if(a<60)return`${a}m ago`;let o=Math.floor(a/60);return o<24?`${o}h ago`:`${Math.floor(o/24)}d ago`}function dn(e,t,n,r,i,a){if(t.status===`missing`||t.status===`corrupt`)return null;let o=t.lock,s=null;if(n.status!==`missing`&&n.status!==`corrupt`){let e=n.lock;s={port:e.port,status:n.status,pid:e.pid,startedAt:e.startedAt,usage:a}}return{directory:o.worktreeRoot,server:{port:o.port,status:t.status,pid:o.pid,startedAt:o.startedAt,usage:i},ui:s,hostname:o.hostname,lockPath:t.lockPath,binary:r==null?null:f(r),command:r,isDesktop:ln(r)}}function fn(e){return e.ui==null?!1:e.ui.status===`alive`||e.ui.status===`foreign-host`}function Q(e){let t=e.server.status;return t===`alive`||t===`foreign-host`?e.isDesktop?`desktop`:t===`alive`?`running`:`foreign`:t===`dead-pid`&&fn(e)?`ui-orphan`:`stale`}const pn=new Set([`running`,`desktop`,`foreign`,`ui-orphan`]);function mn(e){switch(e){case`running`:return K.default.green(e);case`desktop`:return K.default.blue(e);case`foreign`:return K.default.cyan(e);case`ui-orphan`:return K.default.magenta(e);case`stale`:return K.default.yellow(e)}}function hn(e){return e==null?`—`:`${e.cpuPercent.toFixed(1)}% / ${e.memPercent.toFixed(1)}%`}function gn(e){return`${hn(e.server.usage)} | ${hn(e.ui?.usage??null)}`}function _n(e){return`${e.server.port===0?`(starting)`:String(e.server.port)} / ${e.ui==null||e.ui.status===`dead-pid`?`—`:String(e.ui.port)}`}function vn(e){if(e.length===0)return`No open-knowledge servers found.`;let t=[`DIRECTORY`,`PORTS (API/UI)`,`CPU/MEM (API | UI)`,`STATUS`,`PID`,`STARTED`,`BINARY`],n=e.map(e=>{let t=Q(e),n=t===`ui-orphan`&&e.ui!=null?e.ui.pid:e.server.pid;return[e.directory,_n(e),gn(e),t,String(n),un(e.server.startedAt),e.binary??`—`]}),r=t.length,i=t.map(e=>e.length);for(let e of n)for(let t=0;t<r;t++)i[t]=Math.max(i[t]??0,(e[t]??``).length);let a=t.map((e,t)=>e.padEnd(i[t]??0)).join(` `).trimEnd(),o=e.map((e,t)=>{let a=n[t]??[],o=[];for(let t=0;t<r;t++){let n=(a[t]??``).padEnd(i[t]??0);if(t===3){let r=a[t]??``;n=mn(Q(e))+` `.repeat(Math.max(0,(i[t]??0)-r.length))}o.push(n)}return o.join(` `).trimEnd()}),s=K.default.dim(`To stop a server: ok stop <port|pid|directory|all>`);return[a,...o,``,s].join(`
|
|
19
19
|
`)}async function yn(e={}){let t=e.discover??h,n=e.inspect??Z,r=e.log??(e=>console.log(e)),i=e.resolveCommand??u,a=e.resolveUsage??m,o=await t(),s=[];for(let e of o){let t=n(e,`server`),r=n(e,`ui`),o=dn(e,t,r,t.status===`missing`||t.status===`corrupt`?null:i(t.lock.pid),t.status===`missing`||t.status===`corrupt`?null:a(t.lock.pid),r.status===`missing`||r.status===`corrupt`?null:a(r.lock.pid));o!=null&&s.push(o)}if(e.json){let e=s.map(e=>({...e,displayStatus:Q(e)}));r(JSON.stringify(e,null,2));return}r(vn(e.all?s:s.filter(e=>pn.has(Q(e)))))}function bn(){return new T(`ps`).description(`List all running open-knowledge servers`).argument(`[modifier]`,`"all" to include stale (dead-pid) entries`).option(`--all`,`Include stale (dead-pid) entries (foreign-host shows by default)`).option(`--json`,`Emit structured JSON (always includes all statuses)`).action(async(e,t)=>{await yn({all:t.all===!0||e===`all`,json:t.json===!0})})}function xn(e,t,n={}){let r=n.isAlive??x,i=[];for(let[n,a]of[[`server`,e],[`ui`,t]])(a.status===`alive`||a.status===`foreign-host`&&r(a.lock.pid))&&i.push({name:n,pid:a.lock.pid,port:a.lock.port});return{targets:i}}function Sn(e){let t=e.inspect??(t=>Z(e.lockDir,t)),n=e.kill??((e,t)=>process.kill(e,t)),r=e.log??(e=>console.log(e)),i=e.error??(e=>console.error(e)),a=xn(t(`server`),t(`ui`),{isAlive:e.isAlive});if(a.targets.length===0)return r(`No running open-knowledge processes.`),{stopped:[],failed:[],hadTargets:!1};let o=[],s=[];for(let e of a.targets)try{n(e.pid,`SIGTERM`),o.push(e)}catch(t){s.push({target:e,error:t instanceof Error?t.message:String(t)})}return o.length>0&&r(`Stopped: ${o.map(e=>`${e.name} (pid=${e.pid}, port=${e.port})`).join(`, `)}`),s.length>0&&i(`Failed to stop: ${s.map(({target:e,error:t})=>`${e.name} (pid=${e.pid}): ${t}`).join(`; `)}`),{stopped:o,failed:s,hadTargets:!0}}function $(e,t){return e.status===`alive`?!0:e.status===`foreign-host`?t(e.lock.pid):!1}async function Cn(e,t=x){let n=await h(),r=null;for(let i of n){let n=Z(i,`server`),a=Z(i,`ui`);if($(n,t)&&n.lock.port===e||$(a,t)&&a.lock.port===e)return i;r===null&&($(n,t)&&n.lock.pid===e||$(a,t)&&a.lock.pid===e)&&(r=i)}return r}function wn(e){let t=Sn({lockDir:e});return t.failed.length>0&&(process.exitCode=1),t}function Tn(e){return new T(`stop`).description(`Stop open-knowledge server(s). With no argument: stops the server for the current directory. Pass a port number, a directory path, or "all" to target globally.`).argument(`[target...]`,`port number, directory path (spaces OK), or "all"`).action(async t=>{let n=t.length===0?void 0:t.join(` `);if(n===void 0){e();let t=Sn({lockDir:l(process.cwd()),log:()=>{}});if(t.hadTargets){if(t.stopped.length>0){let e=t.stopped.map(e=>`${e.name} (pid=${e.pid}, port=${e.port})`).join(`, `);console.log(`Stopped: ${e}`)}t.failed.length>0&&(process.exitCode=1)}else await yn({});return}if(n===`all`){let e=await h();if(e.length===0){console.log(`No running open-knowledge servers found.`);return}let t=0;for(let n of e){let e=Z(n,`server`),r=Z(n,`ui`);!$(e,x)&&!$(r,x)||(wn(n),t++)}t===0&&console.log(`No running open-knowledge servers found.`);return}if(/^\d+$/.test(n)){let e=Number.parseInt(n,10),t=await Cn(e);if(t===null){console.log(`No running open-knowledge server found with port or PID ${e}.`);return}wn(t);return}wn(l(R(ke(),n)))})}export{ke as _,Xt as a,$t as c,Z as d,qt as f,Ae as g,je as h,an as i,en as l,Wt as m,Tn as n,tn as o,Ut as p,bn as r,Zt as s,Sn as t,Yt as u,Oe as v,Ee as y};
|
|
20
|
-
//# sourceMappingURL=src-
|
|
20
|
+
//# sourceMappingURL=src-Bx4CeCkU.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Go as e,Gs as t,Ho as n,Ko as r,P as i,R as a,cs as o,d as s,l as c,os as l,vs as u}from"./src-DMpGVIiQ.mjs";import{$ as d,$i as f,$n as p,$r as m,$t as h,A as g,Ai as _,An as v,Ar as y,At as b,B as x,Bi as S,Bn as C,Bt as w,C as T,Ca as E,Ci as D,Cn as O,Cr as k,Ct as A,D as j,Di as M,Dn as N,Dr as P,Dt as F,E as I,Ea as L,Ei as R,En as z,Er as B,Et as V,F as H,Fi as U,Fn as W,Fr as G,Ft as K,G as q,Gi as J,Gn as Y,Gr as X,Gt as Z,H as Q,Hi as $,Hn as ee,Ht as te,I as ne,Ii as re,In as ie,Ir as ae,It as oe,J as se,Ji as ce,Jn as le,Jr as ue,Jt as de,K as fe,Ki as pe,Kn as me,Kr as he,Kt as ge,L as _e,Li as ve,Ln as ye,Lr as be,Lt as xe,M as Se,Mi as Ce,Mn as we,Mr as Te,Mt as Ee,N as De,Ni as Oe,Nn as ke,Nr as Ae,Nt as je,O as Me,Oi as Ne,On as Pe,Or as Fe,Ot as Ie,P as Le,Pi as Re,Pn as ze,Pr as Be,Pt as Ve,Q as He,Qi as Ue,Qn as We,Qr as Ge,Qt as Ke,R as qe,Ri as Je,Rn as Ye,Rr as Xe,Rt as Ze,S as Qe,Sa as $e,Si as et,Sn as tt,Sr as nt,St as rt,T as it,Ta as at,Ti as ot,Tn as st,Tr as ct,Tt as lt,U as ut,Ui as dt,Un as ft,Ut as pt,V as mt,Vi as ht,Vn as gt,Vt as _t,W as vt,Wi as yt,Wn as bt,Wr as xt,Wt as St,X as Ct,Xi as wt,Xn as Tt,Xr as Et,Xt as Dt,Y as Ot,Yi as kt,Yn as At,Yr as jt,Yt as Mt,Z as Nt,Zi as Pt,Zn as Ft,Zr as It,Zt as Lt,_ as Rt,_a as zt,_i as Bt,_n as Vt,_r as Ht,_t as Ut,a as Wt,aa as Gt,ai as Kt,an as qt,ar as Jt,at as Yt,b as Xt,ba as Zt,bi as Qt,bn as $t,br as en,bt as tn,c as nn,ca as rn,ci as an,cn as on,cr as sn,d as cn,da as ln,di as un,dn,dr as fn,ea as pn,ei as mn,en as hn,er as gn,et as _n,f as vn,fa as yn,fi as bn,fn as xn,fr as Sn,g as Cn,ga as wn,gi as Tn,gn as En,gr as Dn,gt as On,h as kn,ha as An,hi as jn,hn as Mn,hr as Nn,ht as Pn,i as Fn,ia as In,ii as Ln,in as Rn,ir as zn,it as Bn,j as Vn,ji as Hn,jn as Un,jr as Wn,jt as Gn,k as Kn,ki as qn,kn as Jn,kr as Yn,kt as Xn,l as Zn,la as Qn,li as $n,ln as er,lr as tr,m as nr,ma as rr,mi as ir,mn as ar,mr as or,mt as sr,n as cr,na as lr,ni as ur,nn as dr,nr as fr,nt as pr,o as mr,oa as hr,oi as gr,on as _r,or as vr,ot as yr,p as br,pa as xr,pi as Sr,pn as Cr,pr as wr,q as Tr,qi as Er,qn as Dr,qr as Or,qt as kr,r as Ar,ra as jr,ri as Mr,rn as Nr,rr as Pr,rt as Fr,s as Ir,sa as Lr,si as Rr,sn as zr,sr as Br,st as Vr,t as Hr,ta as Ur,ti as Wr,tn as Gr,tr as Kr,tt as qr,u as Jr,ua as Yr,ui as Xr,un as Zr,ur as Qr,v as $r,va as ei,vi as ti,vn as ni,vr as ri,vt as ii,w as ai,wa as oi,wn as si,wr as ci,wt as li,x as ui,xa as di,xi as fi,xn as pi,xr as mi,xt as hi,y as gi,ya as _i,yi as vi,yn as yi,yr as bi,yt as xi,z as Si,zi as Ci,zn as wi,zt as Ti}from"./src-CwuSSZyu.mjs";import{C as Ei,E as Di,T as Oi,_ as ki,b as Ai,c as ji,d as Mi,g as Ni,i as Pi,l as Fi,m as Ii,n as Li,p as Ri,s as zi,t as Bi,u as Vi,v as Hi,w as Ui,x as Wi,y as Gi}from"./fs-traced-RPXwxrA5.mjs";import{a as Ki,d as qi,f as Ji,i as Yi,l as Xi,n as Zi,r as Qi,t as $i,u as ea}from"./logger-CnfEoHs1.mjs";import{C as ta,S as na,_ as ra,a as ia,c as aa,d as oa,g as sa,h as ca,i as la,l as ua,m as da,n as fa,o as pa,p as ma,r as ha,s as ga,t as _a,u as va,v as ya,y as ba}from"./server-lock-BV0Ktccm.mjs";export{zt as AGENT_ID_MAX_LEN,ei as AGENT_ID_RE,Oe as AGENT_WRITE_ORIGIN,oi as AcpPermissionStore,di as AcpRegistry,Ne as AcpThreadManager,R as AgentFocusBroadcaster,ot as AgentPresenceBroadcaster,Re as AgentSessionCapacityError,U as AgentSessionManager,Pn as AutoStartDisabledError,ci as BUNDLE_IDS,ct as BUNDLE_SCOPE,B as BUNDLE_SKILL_NAME,p as BacklinkIndex,J as CC1Broadcaster,o as CC1_CONTRACT_VERSION,Zr as CONFIG_FILENAME,Dr as CONFLICT_MARKER_RE,he as CURSOR_BUNDLE_PATHS_BY_PLATFORM,Rt as ConfigSchema,Pt as DEFAULT_CHECKPOINT_RETENTION,un as DEFAULT_EMBEDDINGS_DIMENSIONS,K as DEFAULT_PACK_ID,mt as DocumentDurabilityState,bn as EMBEDDINGS_API_KEY_ENV,ni as ExposureConsentError,$e as FEATURED_AGENT_IDS,Ue as FILE_SYSTEM_WRITER,Ft as FILE_WATCHER_ORIGIN,Kt as FileEmbeddingsBackend,Lt as GIT_PREFLIGHT_FAIL_SPAN_NAME,f as GIT_UPSTREAM_WRITER,at as GitDirAccessError,h as GitNotAvailableError,hn as GitTooOldError,On as HOCUSPOCUS_AUTH_REJECTION_REASONS,Ut as HocuspocusAuthRejection,ii as HocuspocusAuthTokenSchema,Ge as INSTALLED_AGENTS_SCHEMES,l as LINEAGE_EPOCH_KEY,qe as LIVE_DERIVED_INDEX_DEBOUNCE_MS,oe as LOG_MD_TEMPLATE,lt as MANAGED_RENAME_ORIGIN,qn as MAX_ACP_THREADS,re as MAX_AGENT_SESSIONS,Hn as MCP_CONNECTION_ID_HEADER,n as MCP_SERVER_NAME,ve as MIN_EVICTABLE_IDLE_MS,Gr as MIN_GIT_VERSION,Q as MISSING_OK_CONFIG_MESSAGE,L as MalformedGitPointerError,_n as McpLogger,ut as MissingOkConfigError,Ci as OBSERVER_SYNC_ORIGIN,dn as OK_OKIGNORE_TEMPLATE,e as ORPHAN_MODES,t as PROTOCOL_VERSION,$i as PinoLogger,aa as ProcessLockCollisionError,Zn as ProjectGitInitError,V as ROLLBACK_ORIGIN,xn as ROOT_GITIGNORE_TEMPLATE,ra as RUNTIME_VERSION,st as RemoteConfigError,pn as SERVICE_WRITER,bi as SKILL_INSTALL_EVENTS_FILE_REL,i as SKILL_STATE_TARGETS,xe as STARTER_FOLDERS,Ze as STARTER_FOLDER_FRONTMATTER_FILENAME,Ti as STARTER_PACKS,w as STARTER_PACK_IDS,_t as STARTER_TEMPLATES,it as STATE_MANIFEST_FILENAME,ya as STATE_SCHEMA_VERSION,u as SYSTEM_DOC_NAME,kr as SeedPrerequisiteError,de as SeedRootDirError,_a as ServerLockCollisionError,Hr as SingleFileNotAFileError,cr as SingleFileNotFoundError,Ar as SingleFileNotMarkdownError,I as StateManifestError,We as TagIndex,P as USER_GLOBAL_BUNDLE_IDS,Kr as UiLockCollisionError,F as __getShowAllWalkStatsForTesting,Ie as __resetShowAllWalkStatsForTesting,ua as acquireProcessLock,fa as acquireServerLock,fr as acquireUiLock,Je as applyAgentMarkdownWrite,Y as applyExternalChange,Ve as applySeed,j as assertCompatibleStateManifest,dr as assertGitAvailable,ke as assertNeverDiskEvent,M as attachAcpThreadSocket,sr as attachIdleShutdown,$r as bootServer,vr as buildAndOpenSkill,Cr as buildConfigYmlContent,Ot as buildExecResult,yi as buildIngressPolicy,_ as buildOkMcpStdioCommand,mi as buildSkillZip,te as buildStarterFolderFrontmatterYaml,Ur as buildWipTree,Fe as bundleSkillMdPath,gr as canonicalProjectKey,ze as classifyEvents,Bi as classifyFsPath,Rr as clearAllEmbeddingsKeys,ir as clearContributors,pt as coercePackId,c as colorFromSeed,lr as commitUpstreamImport,jr as commitWip,In as commitWipFromTree,Nr as compareSemver,Wn as composeEffectiveLinterConfig,Te as composeFrontmatterSchemasConfig,le as containsConflictMarkers,W as contentHash,jn as contributorCount,Le as countShadowObjects,H as countStaleAgentWipRefs,ne as countWipRefs,Xn as createApiExtension,li as createAssetServeMiddleware,q as createCollaborationHost,xt as createContentFilter,X as createContentFilterAsync,an as createEmbeddingsSecretStore,Fn as createEphemeralProjectDir,me as createExternalChangeHandler,vn as createFileLogger,Si as createLiveDerivedIndexExtension,Tr as createMcpHttpHandler,m as createOsProbe,De as createPersistenceExtension,T as createServer,Vn as createServerObserverExtension,$ as createStreamingErrorWriter,Zi as createTestLogger,$n as describeStoredEmbeddingsKey,Cn as detectClaudeDesktopPresence,Rn as detectGit,Me as detectProjectShape,Br as detectUserSkillHosts,Fr as discoverLockDirs,G as discoverMarkdownlintConfig,Ke as emitPreflightFailureSpan,Ct as encodeDocName,Nt as encodeFolderRoute,He as encodeSkillRoute,Jr as ensureProjectGit,ar as ensureProjectSkillGitignore,dt as errorResponse,ie as evictStaleTrackerEntries,b as extractHeadings,Bn as extractOkBinaryPath,gn as extractWikiLinksFromMarkdown,qt as fallbackPaths,cn as findEnclosingGitRoot,Un as findEnclosingProjectRoot,ae as findNativeMarkdownlintFile,br as flushFileLogger,xi as formatAuthRejectionWire,Tn as formatContributors,Bt as formatContributorsFrom,Ee as formatPackRationale,Gt as gcCheckpointRefs,qr as getCurrentMcpLogger,$t as getIngressContext,fi as getLocalDir,nr as getLogFilePath,Qi as getLogger,kn as getLogsDir,ba as getMachineId,Gi as getMeter,yn as getMetrics,Ai as getTracer,xr as handleCollabSocketError,Or as handleSpawnCursor,z as hasForwardingHeaders,_e as hasGcLogLatch,s as iconFromClientName,rr as incrementCollabSocketFilteredError,An as incrementServerObserverFire,Mn as initContent,hr as initShadowRepo,Wi as initTelemetry,Xt as initToleranceTelemetryWriter,Vr as installPrettyZodErrors,Yi as installTestLoggers,sn as installUserSkill,si as isAllowedApiOrigin,Jn as isAllowedWorkspaceHostHeader,pe as isConfigDoc,tn as isHocuspocusAuthRejectionReason,pi as isHostAdmitted,St as isKnownPackId,Er as isLinkIndexExcludedDoc,v as isLoopbackAddress,ce as isManagedArtifactDoc,tt as isOriginAdmitted,r as isOrphanMode,S as isPairedWriteOrigin,ue as isPathWithinDir,O as isPeerAdmitted,na as isProcessAlive,we as isProjectRoot,N as isRemoteAdmitted,kt as isReservedForUserTree,ye as isSelfWrite,wt as isSystemDoc,ui as isToleranceTelemetryEnabled,ta as isValidLockPid,Ye as lastKnownHash,Lr as listRescueCheckpoints,Z as listStarterPacks,E as loadCustomAgents,Se as loadPrincipal,va as lockBaseUrl,oa as lockFilePath,Ki as loggerFactory,Xi as logsCurrentPath,ea as logsPreviousPath,Xr as makeLazyEmbeddingsKeyStore,ha as markServerLockDraining,vt as mountMcpAndApi,Li as normalizeFsPath,Yn as originGitHubHost,En as packageVersionMajorMinor,hi as parseAuthRejectionWire,_r as parseGitVersion,rt as parseHocuspocusAuthToken,fe as parseKeepaliveConnectionId,wi as pathToDocName,je as planSeed,Wt as prepareSingleFileOpen,Yt as processCommand,yr as processUsage,Qr as readAllTargets,fn as readBundleDecision,be as readOwnNativeRules,ma as readProcessLock,da as readProcessLockDetailed,x as readProjectHeadState,Ln as readProjectLocalSemanticConfig,la as readServerLock,Sn as readServerPackageVersion,wr as readSkillInstallStateSnapshot,Kn as readStateManifest,or as readTargetRecordedAt,Nn as readTargetVersion,Pr as readUiLock,At as reconcile,ti as recordContributor,en as recordSkillInstallEvent,se as registerAllTools,C as registerWrite,ca as releaseProcessLock,ia as releaseServerLock,zn as releaseUiLock,gt as removeLastKnownHash,tr as reportSkillInstall,wn as resetMetrics,a as resolveBundleEnabled,nt as resolveBundledSkillDir,et as resolveContentDir,jt as resolveCursorBinaryDefault,Et as resolveCursorSpawnInvocation,Ae as resolveEffectiveLinterConfig,Sr as resolveEmbeddingsCredential,D as resolveLockDir,Be as resolveNativeConfigForDoc,Xe as resolveNativeMarkdownlintConfig,ge as resolvePack,Ir as resolvePackageVersion,Pe as resolveRemoteAccess,ri as resolveSkillInstallReportSettings,d as resolveUiInfo,vi as restoreContributors,gi as restoreLifecycleFromConflictsJson,ur as rewriteMarkdownLinksForDocumentRename,Mr as rewriteWikiLinksForDocumentRename,zr as runAuthReposSubprocess,on as runAuthStatusSubprocess,Mt as runCloneSubprocess,er as runDeviceFlowSubprocess,pr as runWithMcpLogger,Wr as safeContentPath,Gn as safeSubdir,rn as safetyCheckpoint,Ce as sanitizeClientName,Qn as saveInMemoryCheckpoint,Yr as saveVersion,A as seedBasenameIndex,mr as serializeError,Ei as setActiveSpanAttributes,ht as setupServerObservers,ln as shadowGit,Ui as shutdownTelemetry,qi as spansCurrentPath,Ji as spansPreviousPath,It as spawnDetached,Tt as splitMarkdownBlocks,ee as startWatcher,yt as streamingProblemEvent,Qt as swapContributors,Qe as teardownToleranceTelemetryWriter,_i as toBroadcasterKey,Pi as tracedAppendFileSync,zi as tracedLinkSync,ji as tracedMkdir,Fi as tracedMkdirSync,Vi as tracedRename,Mi as tracedRenameSync,Ri as tracedRmSync,Ii as tracedRmdirSync,Ni as tracedUnlinkSync,ki as tracedWriteFile,Hi as tracedWriteFileSync,ai as trustSystemCertificates,nn as untrackTrackedProjectSkillProjection,ft as updateLastKnownHash,sa as updateProcessLockPort,pa as updateServerLockPort,Jt as updateUiLockPort,Zt as validateAgentId,Dt as validateCloneInputs,k as validateSkillZip,ga as waitForServerLockDrain,mn as withHiddenWindowsConsole,Oi as withSpan,Di as withSpanSync,Dn as writeBundleDecision,y as writeMarkdownlintRule,Vt as writeRootGitignoreForNewRepo,g as writeStateManifest,Ht as writeTargetVersion,bt as writeTracker};
|
|
1
|
+
import{Go as e,Gs as t,Ho as n,Ko as r,P as i,R as a,cs as o,d as s,l as c,os as l,vs as u}from"./src-DMpGVIiQ.mjs";import{$ as d,$i as f,$n as p,$r as m,$t as h,A as g,Ai as _,An as v,Ar as y,At as b,B as x,Bi as S,Bn as C,Bt as w,C as T,Ca as E,Ci as D,Cn as O,Cr as k,Ct as A,D as j,Di as M,Dn as N,Dr as P,Dt as F,E as I,Ea as L,Ei as R,En as z,Er as B,Et as V,F as H,Fi as U,Fn as W,Fr as G,Ft as K,G as q,Gi as J,Gn as Y,Gr as X,Gt as Z,H as Q,Hi as $,Hn as ee,Ht as te,I as ne,Ii as re,In as ie,Ir as ae,It as oe,J as se,Ji as ce,Jn as le,Jr as ue,Jt as de,K as fe,Ki as pe,Kn as me,Kr as he,Kt as ge,L as _e,Li as ve,Ln as ye,Lr as be,Lt as xe,M as Se,Mi as Ce,Mn as we,Mr as Te,Mt as Ee,N as De,Ni as Oe,Nn as ke,Nr as Ae,Nt as je,O as Me,Oi as Ne,On as Pe,Or as Fe,Ot as Ie,P as Le,Pi as Re,Pn as ze,Pr as Be,Pt as Ve,Q as He,Qi as Ue,Qn as We,Qr as Ge,Qt as Ke,R as qe,Ri as Je,Rn as Ye,Rr as Xe,Rt as Ze,S as Qe,Sa as $e,Si as et,Sn as tt,Sr as nt,St as rt,T as it,Ta as at,Ti as ot,Tn as st,Tr as ct,Tt as lt,U as ut,Ui as dt,Un as ft,Ut as pt,V as mt,Vi as ht,Vn as gt,Vt as _t,W as vt,Wi as yt,Wn as bt,Wr as xt,Wt as St,X as Ct,Xi as wt,Xn as Tt,Xr as Et,Xt as Dt,Y as Ot,Yi as kt,Yn as At,Yr as jt,Yt as Mt,Z as Nt,Zi as Pt,Zn as Ft,Zr as It,Zt as Lt,_ as Rt,_a as zt,_i as Bt,_n as Vt,_r as Ht,_t as Ut,a as Wt,aa as Gt,ai as Kt,an as qt,ar as Jt,at as Yt,b as Xt,ba as Zt,bi as Qt,bn as $t,br as en,bt as tn,c as nn,ca as rn,ci as an,cn as on,cr as sn,d as cn,da as ln,di as un,dn,dr as fn,ea as pn,ei as mn,en as hn,er as gn,et as _n,f as vn,fa as yn,fi as bn,fn as xn,fr as Sn,g as Cn,ga as wn,gi as Tn,gn as En,gr as Dn,gt as On,h as kn,ha as An,hi as jn,hn as Mn,hr as Nn,ht as Pn,i as Fn,ia as In,ii as Ln,in as Rn,ir as zn,it as Bn,j as Vn,ji as Hn,jn as Un,jr as Wn,jt as Gn,k as Kn,ki as qn,kn as Jn,kr as Yn,kt as Xn,l as Zn,la as Qn,li as $n,ln as er,lr as tr,m as nr,ma as rr,mi as ir,mn as ar,mr as or,mt as sr,n as cr,na as lr,ni as ur,nn as dr,nr as fr,nt as pr,o as mr,oa as hr,oi as gr,on as _r,or as vr,ot as yr,p as br,pa as xr,pi as Sr,pn as Cr,pr as wr,q as Tr,qi as Er,qn as Dr,qr as Or,qt as kr,r as Ar,ra as jr,ri as Mr,rn as Nr,rr as Pr,rt as Fr,s as Ir,sa as Lr,si as Rr,sn as zr,sr as Br,st as Vr,t as Hr,ta as Ur,ti as Wr,tn as Gr,tr as Kr,tt as qr,u as Jr,ua as Yr,ui as Xr,un as Zr,ur as Qr,v as $r,va as ei,vi as ti,vn as ni,vr as ri,vt as ii,w as ai,wa as oi,wn as si,wr as ci,wt as li,x as ui,xa as di,xi as fi,xn as pi,xr as mi,xt as hi,y as gi,ya as _i,yi as vi,yn as yi,yr as bi,yt as xi,z as Si,zi as Ci,zn as wi,zt as Ti}from"./src-BhlDoN_j.mjs";import{C as Ei,E as Di,T as Oi,_ as ki,b as Ai,c as ji,d as Mi,g as Ni,i as Pi,l as Fi,m as Ii,n as Li,p as Ri,s as zi,t as Bi,u as Vi,v as Hi,w as Ui,x as Wi,y as Gi}from"./fs-traced-RPXwxrA5.mjs";import{a as Ki,d as qi,f as Ji,i as Yi,l as Xi,n as Zi,r as Qi,t as $i,u as ea}from"./logger-CnfEoHs1.mjs";import{C as ta,S as na,_ as ra,a as ia,c as aa,d as oa,g as sa,h as ca,i as la,l as ua,m as da,n as fa,o as pa,p as ma,r as ha,s as ga,t as _a,u as va,v as ya,y as ba}from"./server-lock-BV0Ktccm.mjs";export{zt as AGENT_ID_MAX_LEN,ei as AGENT_ID_RE,Oe as AGENT_WRITE_ORIGIN,oi as AcpPermissionStore,di as AcpRegistry,Ne as AcpThreadManager,R as AgentFocusBroadcaster,ot as AgentPresenceBroadcaster,Re as AgentSessionCapacityError,U as AgentSessionManager,Pn as AutoStartDisabledError,ci as BUNDLE_IDS,ct as BUNDLE_SCOPE,B as BUNDLE_SKILL_NAME,p as BacklinkIndex,J as CC1Broadcaster,o as CC1_CONTRACT_VERSION,Zr as CONFIG_FILENAME,Dr as CONFLICT_MARKER_RE,he as CURSOR_BUNDLE_PATHS_BY_PLATFORM,Rt as ConfigSchema,Pt as DEFAULT_CHECKPOINT_RETENTION,un as DEFAULT_EMBEDDINGS_DIMENSIONS,K as DEFAULT_PACK_ID,mt as DocumentDurabilityState,bn as EMBEDDINGS_API_KEY_ENV,ni as ExposureConsentError,$e as FEATURED_AGENT_IDS,Ue as FILE_SYSTEM_WRITER,Ft as FILE_WATCHER_ORIGIN,Kt as FileEmbeddingsBackend,Lt as GIT_PREFLIGHT_FAIL_SPAN_NAME,f as GIT_UPSTREAM_WRITER,at as GitDirAccessError,h as GitNotAvailableError,hn as GitTooOldError,On as HOCUSPOCUS_AUTH_REJECTION_REASONS,Ut as HocuspocusAuthRejection,ii as HocuspocusAuthTokenSchema,Ge as INSTALLED_AGENTS_SCHEMES,l as LINEAGE_EPOCH_KEY,qe as LIVE_DERIVED_INDEX_DEBOUNCE_MS,oe as LOG_MD_TEMPLATE,lt as MANAGED_RENAME_ORIGIN,qn as MAX_ACP_THREADS,re as MAX_AGENT_SESSIONS,Hn as MCP_CONNECTION_ID_HEADER,n as MCP_SERVER_NAME,ve as MIN_EVICTABLE_IDLE_MS,Gr as MIN_GIT_VERSION,Q as MISSING_OK_CONFIG_MESSAGE,L as MalformedGitPointerError,_n as McpLogger,ut as MissingOkConfigError,Ci as OBSERVER_SYNC_ORIGIN,dn as OK_OKIGNORE_TEMPLATE,e as ORPHAN_MODES,t as PROTOCOL_VERSION,$i as PinoLogger,aa as ProcessLockCollisionError,Zn as ProjectGitInitError,V as ROLLBACK_ORIGIN,xn as ROOT_GITIGNORE_TEMPLATE,ra as RUNTIME_VERSION,st as RemoteConfigError,pn as SERVICE_WRITER,bi as SKILL_INSTALL_EVENTS_FILE_REL,i as SKILL_STATE_TARGETS,xe as STARTER_FOLDERS,Ze as STARTER_FOLDER_FRONTMATTER_FILENAME,Ti as STARTER_PACKS,w as STARTER_PACK_IDS,_t as STARTER_TEMPLATES,it as STATE_MANIFEST_FILENAME,ya as STATE_SCHEMA_VERSION,u as SYSTEM_DOC_NAME,kr as SeedPrerequisiteError,de as SeedRootDirError,_a as ServerLockCollisionError,Hr as SingleFileNotAFileError,cr as SingleFileNotFoundError,Ar as SingleFileNotMarkdownError,I as StateManifestError,We as TagIndex,P as USER_GLOBAL_BUNDLE_IDS,Kr as UiLockCollisionError,F as __getShowAllWalkStatsForTesting,Ie as __resetShowAllWalkStatsForTesting,ua as acquireProcessLock,fa as acquireServerLock,fr as acquireUiLock,Je as applyAgentMarkdownWrite,Y as applyExternalChange,Ve as applySeed,j as assertCompatibleStateManifest,dr as assertGitAvailable,ke as assertNeverDiskEvent,M as attachAcpThreadSocket,sr as attachIdleShutdown,$r as bootServer,vr as buildAndOpenSkill,Cr as buildConfigYmlContent,Ot as buildExecResult,yi as buildIngressPolicy,_ as buildOkMcpStdioCommand,mi as buildSkillZip,te as buildStarterFolderFrontmatterYaml,Ur as buildWipTree,Fe as bundleSkillMdPath,gr as canonicalProjectKey,ze as classifyEvents,Bi as classifyFsPath,Rr as clearAllEmbeddingsKeys,ir as clearContributors,pt as coercePackId,c as colorFromSeed,lr as commitUpstreamImport,jr as commitWip,In as commitWipFromTree,Nr as compareSemver,Wn as composeEffectiveLinterConfig,Te as composeFrontmatterSchemasConfig,le as containsConflictMarkers,W as contentHash,jn as contributorCount,Le as countShadowObjects,H as countStaleAgentWipRefs,ne as countWipRefs,Xn as createApiExtension,li as createAssetServeMiddleware,q as createCollaborationHost,xt as createContentFilter,X as createContentFilterAsync,an as createEmbeddingsSecretStore,Fn as createEphemeralProjectDir,me as createExternalChangeHandler,vn as createFileLogger,Si as createLiveDerivedIndexExtension,Tr as createMcpHttpHandler,m as createOsProbe,De as createPersistenceExtension,T as createServer,Vn as createServerObserverExtension,$ as createStreamingErrorWriter,Zi as createTestLogger,$n as describeStoredEmbeddingsKey,Cn as detectClaudeDesktopPresence,Rn as detectGit,Me as detectProjectShape,Br as detectUserSkillHosts,Fr as discoverLockDirs,G as discoverMarkdownlintConfig,Ke as emitPreflightFailureSpan,Ct as encodeDocName,Nt as encodeFolderRoute,He as encodeSkillRoute,Jr as ensureProjectGit,ar as ensureProjectSkillGitignore,dt as errorResponse,ie as evictStaleTrackerEntries,b as extractHeadings,Bn as extractOkBinaryPath,gn as extractWikiLinksFromMarkdown,qt as fallbackPaths,cn as findEnclosingGitRoot,Un as findEnclosingProjectRoot,ae as findNativeMarkdownlintFile,br as flushFileLogger,xi as formatAuthRejectionWire,Tn as formatContributors,Bt as formatContributorsFrom,Ee as formatPackRationale,Gt as gcCheckpointRefs,qr as getCurrentMcpLogger,$t as getIngressContext,fi as getLocalDir,nr as getLogFilePath,Qi as getLogger,kn as getLogsDir,ba as getMachineId,Gi as getMeter,yn as getMetrics,Ai as getTracer,xr as handleCollabSocketError,Or as handleSpawnCursor,z as hasForwardingHeaders,_e as hasGcLogLatch,s as iconFromClientName,rr as incrementCollabSocketFilteredError,An as incrementServerObserverFire,Mn as initContent,hr as initShadowRepo,Wi as initTelemetry,Xt as initToleranceTelemetryWriter,Vr as installPrettyZodErrors,Yi as installTestLoggers,sn as installUserSkill,si as isAllowedApiOrigin,Jn as isAllowedWorkspaceHostHeader,pe as isConfigDoc,tn as isHocuspocusAuthRejectionReason,pi as isHostAdmitted,St as isKnownPackId,Er as isLinkIndexExcludedDoc,v as isLoopbackAddress,ce as isManagedArtifactDoc,tt as isOriginAdmitted,r as isOrphanMode,S as isPairedWriteOrigin,ue as isPathWithinDir,O as isPeerAdmitted,na as isProcessAlive,we as isProjectRoot,N as isRemoteAdmitted,kt as isReservedForUserTree,ye as isSelfWrite,wt as isSystemDoc,ui as isToleranceTelemetryEnabled,ta as isValidLockPid,Ye as lastKnownHash,Lr as listRescueCheckpoints,Z as listStarterPacks,E as loadCustomAgents,Se as loadPrincipal,va as lockBaseUrl,oa as lockFilePath,Ki as loggerFactory,Xi as logsCurrentPath,ea as logsPreviousPath,Xr as makeLazyEmbeddingsKeyStore,ha as markServerLockDraining,vt as mountMcpAndApi,Li as normalizeFsPath,Yn as originGitHubHost,En as packageVersionMajorMinor,hi as parseAuthRejectionWire,_r as parseGitVersion,rt as parseHocuspocusAuthToken,fe as parseKeepaliveConnectionId,wi as pathToDocName,je as planSeed,Wt as prepareSingleFileOpen,Yt as processCommand,yr as processUsage,Qr as readAllTargets,fn as readBundleDecision,be as readOwnNativeRules,ma as readProcessLock,da as readProcessLockDetailed,x as readProjectHeadState,Ln as readProjectLocalSemanticConfig,la as readServerLock,Sn as readServerPackageVersion,wr as readSkillInstallStateSnapshot,Kn as readStateManifest,or as readTargetRecordedAt,Nn as readTargetVersion,Pr as readUiLock,At as reconcile,ti as recordContributor,en as recordSkillInstallEvent,se as registerAllTools,C as registerWrite,ca as releaseProcessLock,ia as releaseServerLock,zn as releaseUiLock,gt as removeLastKnownHash,tr as reportSkillInstall,wn as resetMetrics,a as resolveBundleEnabled,nt as resolveBundledSkillDir,et as resolveContentDir,jt as resolveCursorBinaryDefault,Et as resolveCursorSpawnInvocation,Ae as resolveEffectiveLinterConfig,Sr as resolveEmbeddingsCredential,D as resolveLockDir,Be as resolveNativeConfigForDoc,Xe as resolveNativeMarkdownlintConfig,ge as resolvePack,Ir as resolvePackageVersion,Pe as resolveRemoteAccess,ri as resolveSkillInstallReportSettings,d as resolveUiInfo,vi as restoreContributors,gi as restoreLifecycleFromConflictsJson,ur as rewriteMarkdownLinksForDocumentRename,Mr as rewriteWikiLinksForDocumentRename,zr as runAuthReposSubprocess,on as runAuthStatusSubprocess,Mt as runCloneSubprocess,er as runDeviceFlowSubprocess,pr as runWithMcpLogger,Wr as safeContentPath,Gn as safeSubdir,rn as safetyCheckpoint,Ce as sanitizeClientName,Qn as saveInMemoryCheckpoint,Yr as saveVersion,A as seedBasenameIndex,mr as serializeError,Ei as setActiveSpanAttributes,ht as setupServerObservers,ln as shadowGit,Ui as shutdownTelemetry,qi as spansCurrentPath,Ji as spansPreviousPath,It as spawnDetached,Tt as splitMarkdownBlocks,ee as startWatcher,yt as streamingProblemEvent,Qt as swapContributors,Qe as teardownToleranceTelemetryWriter,_i as toBroadcasterKey,Pi as tracedAppendFileSync,zi as tracedLinkSync,ji as tracedMkdir,Fi as tracedMkdirSync,Vi as tracedRename,Mi as tracedRenameSync,Ri as tracedRmSync,Ii as tracedRmdirSync,Ni as tracedUnlinkSync,ki as tracedWriteFile,Hi as tracedWriteFileSync,ai as trustSystemCertificates,nn as untrackTrackedProjectSkillProjection,ft as updateLastKnownHash,sa as updateProcessLockPort,pa as updateServerLockPort,Jt as updateUiLockPort,Zt as validateAgentId,Dt as validateCloneInputs,k as validateSkillZip,ga as waitForServerLockDrain,mn as withHiddenWindowsConsole,Oi as withSpan,Di as withSpanSync,Dn as writeBundleDecision,y as writeMarkdownlintRule,Vt as writeRootGitignoreForNewRepo,g as writeStateManifest,Ht as writeTargetVersion,bt as writeTracker};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./src-DMpGVIiQ.mjs";import"./src-Bx4CeCkU.mjs";import"./acp-harness-probe-DNfyJSyV.mjs";import"./init-Vv3gEflM.mjs";import"./write-project-skill-BklBDWC_.mjs";import{n as e}from"./loader-CL63YkWQ.mjs";import"./skill-teardown-Bg01dmvX.mjs";import"./preview-dPcINETL.mjs";import"./mcp-migrate-event-BsswfOLm.mjs";export{e as loadConfig};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import{M as e}from"./sleep-ChZE9826.mjs";import{As as t,Fs as n,Is as r,Ls as i,Ns as a,Q as o,Y as s}from"./src-DMpGVIiQ.mjs";import{Mn as c,a as l,ui as u}from"./src-CwuSSZyu.mjs";import{n as d,r as f,t as p}from"./esm-DmX1RzAi.mjs";import{a as m,c as h,d as g,i as _,o as v,r as y,t as b}from"./acp-harness-probe-XylGN-um.mjs";import{n as ee}from"./constants-B0jB7NMw.mjs";import{spawn as x}from"node:child_process";import{basename as S,join as C,posix as w,resolve as T}from"node:path";import{closeSync as E,existsSync as D,mkdirSync as O,openSync as k}from"node:fs";import{rm as A}from"node:fs/promises";import{setTimeout as j}from"node:timers/promises";function M(e){return w.join(w.dirname(e),`..`,`Frameworks`,`OpenKnowledge Server.app`,`Contents`,`MacOS`,`OpenKnowledge Helper`)}const N=/\/[^/]+\.app\/Contents\/MacOS\/[^/]+$/;function P(e){if(e.platform!==`darwin`||!N.test(e.execPath))return null;let t=M(e.execPath);return e.exists(t)?t:null}function F(e={}){let t=e.execPath??process.execPath,n=e.platform??process.platform,r=e.argv??process.argv,i=e.exists??D,a=r[1];return a?{command:P({execPath:t,platform:n,exists:i})??t,prefixArgs:[a]}:(console.warn(`[self-spawn] process.argv[1] is empty — falling back to \`npx -y @inkeep/open-knowledge@latest\`. This re-introduces the registry-fetch surface that re-exec was fixing. Observed argv: ${JSON.stringify(r)}`),{command:`npx`,prefixArgs:[`-y`,`@inkeep/open-knowledge@latest`]})}function I(e,t){return e.bind?.[0]??e.host??t.HOST??`127.0.0.1`}function L(e){if(e===`ui`||e===`server`)return e;throw new d(`--only must be 'ui' or 'server'`)}function R(e=D){let t=import.meta.dirname??new URL(`.`,import.meta.url).pathname;return[T(t,`public`),T(t,`../../app/dist`),T(t,`../../../app/dist`)].find(t=>e(t))}function z(e){if(e.explicitDir!==void 0)return{dir:e.explicitDir,missingBundle:!1};if(e.only===`server`||e.uiPortSet&&!e.remoteEnabled)return{dir:void 0,missingBundle:!1};let t=e.findBundledDir();return{dir:t,missingBundle:t===void 0}}function B(t){if(t===`off`)return`off`;if(!e.test(t))throw new d(`--idle-shutdown must be 'off' or a duration like 90s, 30m, 2h`);return t}function V(e){return e===`localhost`||e===`::1`||e===`[::1]`||e.startsWith(`127.`)}function te(e){return!e.flagBindSet&&!e.okBindSet&&e.hostEnvSet&&e.fileBindCount>1}function ne(e){return!e.openBrowser||e.remoteEnabled||e.ephemeral||e.only===`server`||!e.servesUi?!1:e.legacyOpen?!0:(e.explicitOn||V(e.host))&&e.isTTY}function re(e,t){return t&&(e===`::`||e===`::1`||e===`[::1]`||e===`localhost`||e===`0.0.0.0`)?{host:`127.0.0.1`,coerced:!0}:{host:e,coerced:!1}}function ie(e){let t=S(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var H=class extends Error{cwd;constructor(e){super("This directory isn't set up yet. Run `ok init` first, then `ok start` again."),this.name=`OkDirMissingError`,this.cwd=e}};function U(e){return e.uiLock?e.isAlive(e.uiLock.pid)?{action:`skip`,reason:`alive`,pid:e.uiLock.pid,port:e.uiLock.port}:{action:`spawn`,reason:`stale`,stalePid:e.uiLock.pid}:{action:`spawn`,reason:`absent`}}function W(e){D(e.lockDir)||O(e.lockDir,{recursive:!0});let t=k(C(e.lockDir,o),`w`),n=e.spawn??x,{PORT:r,...i}=process.env,a=F();try{let r=n(a.command,[...a.prefixArgs,...e.args??[`ui`]],{detached:!0,stdio:[`ignore`,`ignore`,t],windowsHide:!0,cwd:e.cwd,env:{...i,ELECTRON_RUN_AS_NODE:`1`}});return r.unref(),r}finally{try{E(t)}catch{}}}function ae(e,t,n,r=!1){return e??(n!==void 0||r?void 0:t)}function oe(e,t){return e!==void 0&&t!==null&&t.port>0&&t.draining!==!0}function G(e,t,n){return e??+(t!=null&&!n)}async function K(e){let t=e.spawn??x,n=F(),{PORT:r,...i}=process.env,a=t(n.command,[...n.prefixArgs,`ui`,`--port`,String(e.uiPort)],{cwd:e.cwd,stdio:`inherit`,windowsHide:!0,env:{...i,ELECTRON_RUN_AS_NODE:`1`}}),o=!1,s=e=>{o=!0;try{a.kill(e)}catch{}},c=()=>s(`SIGINT`),l=()=>s(`SIGTERM`);process.once(`SIGINT`,c),process.once(`SIGTERM`,l),await new Promise(e=>{a.on(`exit`,(t,n)=>{process.exitCode=G(t,n,o),e()}),a.on(`error`,t=>{console.error(`[start] connect fallback: failed to spawn ok ui — ${t instanceof Error?t.message:String(t)}`),process.exitCode=1,e()})}),process.removeListener(`SIGINT`,c),process.removeListener(`SIGTERM`,l)}async function q(e){let t=e.now()+e.timeoutMs;for(;e.now()<t;){let t=e.readUiLock();if(t&&t.port>0)return t.port;await e.sleep(e.pollIntervalMs)}let n=e.readUiLock();return n&&n.port>0?n.port:null}const se=s;function J(e,t,n=e=>A(e,{recursive:!0,force:!0})){return async()=>{try{await e()}finally{try{await n(t)}catch(e){process.stderr.write(`[start] ephemeral temp dir reap failed for ${t}: ${e instanceof Error?e.message:String(e)}\n`)}}}}function Y(e,t={}){let n=t.exit??(e=>process.exit(e)),r=t.getActiveHandles??(()=>{let e=process._getActiveHandles;return e?e.call(process):null});return async()=>{let i=!1;try{await e()}catch(e){i=!0,t.log?.error({err:e},`idle-shutdown: destroy failed — exiting anyway`)}finally{let e=null;try{let t=r();if(t!==null){e={};for(let n of t){let t=n?.constructor?.name??`unknown`;e[t]=(e[t]??0)+1}}}catch{e=null}t.log?.info({event:`idle-shutdown-exit`,exitCode:+!!i,openHandles:e??{},handlesAvailable:e!==null},`idle-shutdown: teardown finished — exiting process`),n(+!!i)}}}async function X(e){let t=e.sigtermGraceMs??se,n=e.sigtermPollIntervalMs??200,r=e.sleep??(e=>j(e)),i=e.reason??`teardown`;try{let a=e.readUiLock(),o=e.spawnedUiPid();if(a&&e.isAlive(a.pid)&&a.pid!==o)e.log?.info({pid:a.pid,port:a.port,spawnedUiPid:o},`${i}: ui.lock holder is not our spawned sibling — leaving it alone`);else if(a&&e.isAlive(a.pid))try{e.killPid(a.pid,`SIGTERM`),e.log?.info({pid:a.pid,port:a.port},`${i}: SIGTERM UI sibling`);let o=Date.now()+t;for(;Date.now()<o&&e.isAlive(a.pid);)await r(n);if(e.isAlive(a.pid))try{e.killPid(a.pid,`SIGKILL`),e.log?.warn({pid:a.pid,graceMs:t},`${i}: SIGTERM grace expired — escalated to SIGKILL`)}catch(t){e.log?.error({pid:a.pid,err:t},`${i}: SIGKILL failed`)}}catch(t){e.log?.warn({pid:a.pid,err:t},`${i}: failed to SIGTERM UI sibling`)}}catch(t){e.log?.warn({err:t},`${i}: UI lookup failed; proceeding`)}}function Z(e){let{destroy:t,...n}=e;return async()=>{await X({...n,reason:`idle-shutdown`}),await t()}}async function ce(e){let{config:t,cwd:n,host:r}=e,i=e.skipAutoInit??!1,a=e.skipUiAutoSpawn??!1,o=e.idleThresholdMs===void 0?18e5:e.idleThresholdMs,{existsSync:s,mkdirSync:d}=await import(`node:fs`),{basename:f,dirname:p}=await import(`node:path`),{bootServer:m,getLogger:_,isProcessAlive:v,readUiLock:y,resolveContentDir:ee,resolveLockDir:x,waitForServerLockDrain:S}=await import(`./src-DR51i3QD.mjs`),C=e.log??_(`start`),w=e.singleFile!==void 0,T=e.projectDir??n,E=w?l(e.singleFile).canonicalFilePath:void 0,D=E?p(E):void 0,O=E?f(E):void 0;if(!w){if(!i&&!c(n))throw new H(n);let t=process.env.OK_RECLAIM_DISABLE??null,r=e=>{let t=typeof e.event==`string`?e.event:``;(t.endsWith(`-failed`)||t.endsWith(`-error`)||t.endsWith(`-missing`))&&C.warn({event:e},`[start] reclaim sweep reported a problem`)};try{(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-DjKRfsTH.mjs`)).repairMcpConfigs)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){C.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-LIXHgLNx.mjs`)).repairLaunchJson)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){C.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}try{await(e.repairSkillsFn??(await import(`./repair-skills-Dz417BMs.mjs`)).repairSkills)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){C.warn({err:e},`[start] skill repair sweep failed; continuing`)}}let k=D??ee(t,n);!w&&!s(k)&&(d(k,{recursive:!0}),C.info({contentDir:k},`Created content directory`));let A=null,M=null,N=async({lockDir:t})=>{if(A=U({uiLock:y(t),isAlive:v}),A.action===`spawn`&&!a)try{let r=e.uiPort===void 0?void 0:[`ui`,`--port`,String(e.uiPort)];M=W({lockDir:t,cwd:n,spawn:e.spawn,args:r}).pid??null,C.info({reason:A.reason,uiPort:e.uiPort},`[start] auto-spawned ok ui sibling`)}catch(e){console.warn(`[start] failed to auto-spawn ok ui: ${e instanceof Error?e.message:String(e)}`)}else A.action===`skip`&&C.info({port:A.port,pid:A.pid},`UI already running at port ${A.port}`)},P=e.reactShellDistDir===void 0,F=g(),I=u();{let e=x(w?T:n),t=Date.now(),r=await S(e);r!==`no-drain`&&C.info({event:`start-waited-for-draining-predecessor`,outcome:r,waitedMs:Date.now()-t,drainLockDir:e},r===`released`?`[start] predecessor server finished draining — proceeding`:`[start] predecessor server still draining after wait — proceeding to collide`)}let L=await m({config:t,contentDir:k,projectDir:w?T:n,contentRoot:w?void 0:t.content.dir,port:e.port,host:r,...e.enableRemote===!0?{enableRemote:!0}:{},quiet:!1,detectGh:h,tokenStore:F,embeddingsKeyStore:I,...w?{ephemeral:!0,singleDocRelPath:O,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],probeHarnessManagedMcpEntry:(e,t)=>b(e,t),attachUiSibling:P,idleShutdownMs:o,...e.serverRuntime===void 0?{}:{serverRuntime:e.serverRuntime},...e.bind===void 0?{}:{bind:e.bind},skipAutoInit:!0,...P?{spawnUiSiblingFn:N}:{},idleShutdownHandler:t=>{let n=Z({readUiLock:()=>y(L.lockDir),spawnedUiPid:()=>M,isAlive:v,killPid:(e,t)=>{process.kill(e,t)},destroy:t,log:C});return Y(w?J(n,T):n,{log:C,exit:e.idleExit})},log:C,...e.serveContentAssets===void 0?{}:{serveContentAssets:e.serveContentAssets},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{}});A||={action:`skip`,reason:`alive`,pid:0,port:0};let R=A,z=null;if(R.action===`skip`)z=R.port>0?R.port:null;else if(!a){let t=e.uiBindTimeoutMs??3e3;z=await q({readUiLock:()=>y(L.lockDir),now:Date.now,sleep:e=>j(e),timeoutMs:t,pollIntervalMs:50}),z===null&&C.warn({timeoutMs:t},`[start] ok ui did not bind within timeout — banner falls back to API URL`)}return{httpServer:L.httpServer,destroy:L.destroy,lockDir:L.lockDir,contentDir:k,port:L.port,ready:L.ready,degraded:L.degraded,uiSpawnDecision:A,spawnedUiPid:M,resolvedUiPort:z}}function le(e){if(e===`browser`||e===`app`)return e;throw new d(`--mode must be 'browser' or 'app'`)}function ue(e){let t=Number.parseInt(e,10);if(Number.isNaN(t)||t<1||t>65535)throw new d(`--ui-port must be a port number between 1 and 65535`);return t}function de(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function fe(e){let t=[`Stopping OpenKnowledge…`,`Saving pending changes and releasing the server lock — this can take a few seconds.`];return e===`SIGINT`&&t.push(`Press Ctrl+C again to force quit.`),t}async function pe(e,o){let s=de(process.env);s!==null&&(process.env.OK_CONSOLE_LEVEL=s);let{renderBanner:c}=await import(`./banner-B6HYYw6k.mjs`),{accent:l,dim:u,error:d,warning:f}=await import(`./colors-MGDi6UGf.mjs`),p=process.cwd(),m=o.remote!==void 0&&o.remote!==!1,h=typeof o.remote==`string`?o.remote:void 0,g=h===void 0?e:{...e,remote:{...e.remote,url:h}};process.title=ie(p),m&&(typeof g.remote?.url!=`string`||g.remote.url===``)&&(console.error(d("--remote requires a public tunnel URL — pass it (`ok start --remote https://<your-tunnel-host>`) or set remote.url in .ok/config.yml.")),process.exit(78)),m&&console.warn(f([``,`⚠ REMOTE ACCESS ENABLED — no server-side authentication.`,` Anyone who can reach ${g.remote?.url} has FULL control of this`,` knowledge base, including sync, publishing, credentials, and local operations.`,` Restrict who can reach it at the tunnel: ngrok OAuth, Cloudflare Access,`,` Tailscale ACLs, or equivalent edge auth.`,``].join(`
|
|
1
|
+
import{M as e}from"./sleep-ChZE9826.mjs";import{As as t,Fs as n,Is as r,Ls as i,Ns as a,Q as o,Y as s}from"./src-DMpGVIiQ.mjs";import{Mn as c,a as l,ui as u}from"./src-BhlDoN_j.mjs";import{n as d,r as f,t as p}from"./esm-DmX1RzAi.mjs";import{a as m,c as h,d as g,i as _,o as v,r as y,t as b}from"./acp-harness-probe-DNfyJSyV.mjs";import{n as ee}from"./constants-B31gJMU-.mjs";import{spawn as x}from"node:child_process";import{basename as S,join as C,posix as w,resolve as T}from"node:path";import{closeSync as E,existsSync as D,mkdirSync as O,openSync as k}from"node:fs";import{rm as A}from"node:fs/promises";import{setTimeout as j}from"node:timers/promises";function M(e){return w.join(w.dirname(e),`..`,`Frameworks`,`OpenKnowledge Server.app`,`Contents`,`MacOS`,`OpenKnowledge Helper`)}const N=/\/[^/]+\.app\/Contents\/MacOS\/[^/]+$/;function P(e){if(e.platform!==`darwin`||!N.test(e.execPath))return null;let t=M(e.execPath);return e.exists(t)?t:null}function F(e={}){let t=e.execPath??process.execPath,n=e.platform??process.platform,r=e.argv??process.argv,i=e.exists??D,a=r[1];return a?{command:P({execPath:t,platform:n,exists:i})??t,prefixArgs:[a]}:(console.warn(`[self-spawn] process.argv[1] is empty — falling back to \`npx -y @inkeep/open-knowledge@latest\`. This re-introduces the registry-fetch surface that re-exec was fixing. Observed argv: ${JSON.stringify(r)}`),{command:`npx`,prefixArgs:[`-y`,`@inkeep/open-knowledge@latest`]})}function I(e,t){return e.bind?.[0]??e.host??t.HOST??`127.0.0.1`}function L(e){if(e===`ui`||e===`server`)return e;throw new d(`--only must be 'ui' or 'server'`)}function R(e=D){let t=import.meta.dirname??new URL(`.`,import.meta.url).pathname;return[T(t,`public`),T(t,`../../app/dist`),T(t,`../../../app/dist`)].find(t=>e(t))}function z(e){if(e.explicitDir!==void 0)return{dir:e.explicitDir,missingBundle:!1};if(e.only===`server`||e.uiPortSet&&!e.remoteEnabled)return{dir:void 0,missingBundle:!1};let t=e.findBundledDir();return{dir:t,missingBundle:t===void 0}}function B(t){if(t===`off`)return`off`;if(!e.test(t))throw new d(`--idle-shutdown must be 'off' or a duration like 90s, 30m, 2h`);return t}function V(e){return e===`localhost`||e===`::1`||e===`[::1]`||e.startsWith(`127.`)}function te(e){return!e.flagBindSet&&!e.okBindSet&&e.hostEnvSet&&e.fileBindCount>1}function ne(e){return!e.openBrowser||e.remoteEnabled||e.ephemeral||e.only===`server`||!e.servesUi?!1:e.legacyOpen?!0:(e.explicitOn||V(e.host))&&e.isTTY}function re(e,t){return t&&(e===`::`||e===`::1`||e===`[::1]`||e===`localhost`||e===`0.0.0.0`)?{host:`127.0.0.1`,coerced:!0}:{host:e,coerced:!1}}function ie(e){let t=S(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var H=class extends Error{cwd;constructor(e){super("This directory isn't set up yet. Run `ok init` first, then `ok start` again."),this.name=`OkDirMissingError`,this.cwd=e}};function U(e){return e.uiLock?e.isAlive(e.uiLock.pid)?{action:`skip`,reason:`alive`,pid:e.uiLock.pid,port:e.uiLock.port}:{action:`spawn`,reason:`stale`,stalePid:e.uiLock.pid}:{action:`spawn`,reason:`absent`}}function W(e){D(e.lockDir)||O(e.lockDir,{recursive:!0});let t=k(C(e.lockDir,o),`w`),n=e.spawn??x,{PORT:r,...i}=process.env,a=F();try{let r=n(a.command,[...a.prefixArgs,...e.args??[`ui`]],{detached:!0,stdio:[`ignore`,`ignore`,t],windowsHide:!0,cwd:e.cwd,env:{...i,ELECTRON_RUN_AS_NODE:`1`}});return r.unref(),r}finally{try{E(t)}catch{}}}function ae(e,t,n,r=!1){return e??(n!==void 0||r?void 0:t)}function oe(e,t){return e!==void 0&&t!==null&&t.port>0&&t.draining!==!0}function G(e,t,n){return e??+(t!=null&&!n)}async function K(e){let t=e.spawn??x,n=F(),{PORT:r,...i}=process.env,a=t(n.command,[...n.prefixArgs,`ui`,`--port`,String(e.uiPort)],{cwd:e.cwd,stdio:`inherit`,windowsHide:!0,env:{...i,ELECTRON_RUN_AS_NODE:`1`}}),o=!1,s=e=>{o=!0;try{a.kill(e)}catch{}},c=()=>s(`SIGINT`),l=()=>s(`SIGTERM`);process.once(`SIGINT`,c),process.once(`SIGTERM`,l),await new Promise(e=>{a.on(`exit`,(t,n)=>{process.exitCode=G(t,n,o),e()}),a.on(`error`,t=>{console.error(`[start] connect fallback: failed to spawn ok ui — ${t instanceof Error?t.message:String(t)}`),process.exitCode=1,e()})}),process.removeListener(`SIGINT`,c),process.removeListener(`SIGTERM`,l)}async function q(e){let t=e.now()+e.timeoutMs;for(;e.now()<t;){let t=e.readUiLock();if(t&&t.port>0)return t.port;await e.sleep(e.pollIntervalMs)}let n=e.readUiLock();return n&&n.port>0?n.port:null}const se=s;function J(e,t,n=e=>A(e,{recursive:!0,force:!0})){return async()=>{try{await e()}finally{try{await n(t)}catch(e){process.stderr.write(`[start] ephemeral temp dir reap failed for ${t}: ${e instanceof Error?e.message:String(e)}\n`)}}}}function Y(e,t={}){let n=t.exit??(e=>process.exit(e)),r=t.getActiveHandles??(()=>{let e=process._getActiveHandles;return e?e.call(process):null});return async()=>{let i=!1;try{await e()}catch(e){i=!0,t.log?.error({err:e},`idle-shutdown: destroy failed — exiting anyway`)}finally{let e=null;try{let t=r();if(t!==null){e={};for(let n of t){let t=n?.constructor?.name??`unknown`;e[t]=(e[t]??0)+1}}}catch{e=null}t.log?.info({event:`idle-shutdown-exit`,exitCode:+!!i,openHandles:e??{},handlesAvailable:e!==null},`idle-shutdown: teardown finished — exiting process`),n(+!!i)}}}async function X(e){let t=e.sigtermGraceMs??se,n=e.sigtermPollIntervalMs??200,r=e.sleep??(e=>j(e)),i=e.reason??`teardown`;try{let a=e.readUiLock(),o=e.spawnedUiPid();if(a&&e.isAlive(a.pid)&&a.pid!==o)e.log?.info({pid:a.pid,port:a.port,spawnedUiPid:o},`${i}: ui.lock holder is not our spawned sibling — leaving it alone`);else if(a&&e.isAlive(a.pid))try{e.killPid(a.pid,`SIGTERM`),e.log?.info({pid:a.pid,port:a.port},`${i}: SIGTERM UI sibling`);let o=Date.now()+t;for(;Date.now()<o&&e.isAlive(a.pid);)await r(n);if(e.isAlive(a.pid))try{e.killPid(a.pid,`SIGKILL`),e.log?.warn({pid:a.pid,graceMs:t},`${i}: SIGTERM grace expired — escalated to SIGKILL`)}catch(t){e.log?.error({pid:a.pid,err:t},`${i}: SIGKILL failed`)}}catch(t){e.log?.warn({pid:a.pid,err:t},`${i}: failed to SIGTERM UI sibling`)}}catch(t){e.log?.warn({err:t},`${i}: UI lookup failed; proceeding`)}}function Z(e){let{destroy:t,...n}=e;return async()=>{await X({...n,reason:`idle-shutdown`}),await t()}}async function ce(e){let{config:t,cwd:n,host:r}=e,i=e.skipAutoInit??!1,a=e.skipUiAutoSpawn??!1,o=e.idleThresholdMs===void 0?18e5:e.idleThresholdMs,{existsSync:s,mkdirSync:d}=await import(`node:fs`),{basename:f,dirname:p}=await import(`node:path`),{bootServer:m,getLogger:_,isProcessAlive:v,readUiLock:y,resolveContentDir:ee,resolveLockDir:x,waitForServerLockDrain:S}=await import(`./src-C7oaYvaI.mjs`),C=e.log??_(`start`),w=e.singleFile!==void 0,T=e.projectDir??n,E=w?l(e.singleFile).canonicalFilePath:void 0,D=E?p(E):void 0,O=E?f(E):void 0;if(!w){if(!i&&!c(n))throw new H(n);let t=process.env.OK_RECLAIM_DISABLE??null,r=e=>{let t=typeof e.event==`string`?e.event:``;(t.endsWith(`-failed`)||t.endsWith(`-error`)||t.endsWith(`-missing`))&&C.warn({event:e},`[start] reclaim sweep reported a problem`)};try{(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-BMN_8qPI.mjs`)).repairMcpConfigs)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){C.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-BXK_QZY7.mjs`)).repairLaunchJson)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){C.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}try{await(e.repairSkillsFn??(await import(`./repair-skills-BCfSAxpT.mjs`)).repairSkills)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){C.warn({err:e},`[start] skill repair sweep failed; continuing`)}}let k=D??ee(t,n);!w&&!s(k)&&(d(k,{recursive:!0}),C.info({contentDir:k},`Created content directory`));let A=null,M=null,N=async({lockDir:t})=>{if(A=U({uiLock:y(t),isAlive:v}),A.action===`spawn`&&!a)try{let r=e.uiPort===void 0?void 0:[`ui`,`--port`,String(e.uiPort)];M=W({lockDir:t,cwd:n,spawn:e.spawn,args:r}).pid??null,C.info({reason:A.reason,uiPort:e.uiPort},`[start] auto-spawned ok ui sibling`)}catch(e){console.warn(`[start] failed to auto-spawn ok ui: ${e instanceof Error?e.message:String(e)}`)}else A.action===`skip`&&C.info({port:A.port,pid:A.pid},`UI already running at port ${A.port}`)},P=e.reactShellDistDir===void 0,F=g(),I=u();{let e=x(w?T:n),t=Date.now(),r=await S(e);r!==`no-drain`&&C.info({event:`start-waited-for-draining-predecessor`,outcome:r,waitedMs:Date.now()-t,drainLockDir:e},r===`released`?`[start] predecessor server finished draining — proceeding`:`[start] predecessor server still draining after wait — proceeding to collide`)}let L=await m({config:t,contentDir:k,projectDir:w?T:n,contentRoot:w?void 0:t.content.dir,port:e.port,host:r,...e.enableRemote===!0?{enableRemote:!0}:{},quiet:!1,detectGh:h,tokenStore:F,embeddingsKeyStore:I,...w?{ephemeral:!0,singleDocRelPath:O,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],probeHarnessManagedMcpEntry:(e,t)=>b(e,t),attachUiSibling:P,idleShutdownMs:o,...e.serverRuntime===void 0?{}:{serverRuntime:e.serverRuntime},...e.bind===void 0?{}:{bind:e.bind},skipAutoInit:!0,...P?{spawnUiSiblingFn:N}:{},idleShutdownHandler:t=>{let n=Z({readUiLock:()=>y(L.lockDir),spawnedUiPid:()=>M,isAlive:v,killPid:(e,t)=>{process.kill(e,t)},destroy:t,log:C});return Y(w?J(n,T):n,{log:C,exit:e.idleExit})},log:C,...e.serveContentAssets===void 0?{}:{serveContentAssets:e.serveContentAssets},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{}});A||={action:`skip`,reason:`alive`,pid:0,port:0};let R=A,z=null;if(R.action===`skip`)z=R.port>0?R.port:null;else if(!a){let t=e.uiBindTimeoutMs??3e3;z=await q({readUiLock:()=>y(L.lockDir),now:Date.now,sleep:e=>j(e),timeoutMs:t,pollIntervalMs:50}),z===null&&C.warn({timeoutMs:t},`[start] ok ui did not bind within timeout — banner falls back to API URL`)}return{httpServer:L.httpServer,destroy:L.destroy,lockDir:L.lockDir,contentDir:k,port:L.port,ready:L.ready,degraded:L.degraded,uiSpawnDecision:A,spawnedUiPid:M,resolvedUiPort:z}}function le(e){if(e===`browser`||e===`app`)return e;throw new d(`--mode must be 'browser' or 'app'`)}function ue(e){let t=Number.parseInt(e,10);if(Number.isNaN(t)||t<1||t>65535)throw new d(`--ui-port must be a port number between 1 and 65535`);return t}function de(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function fe(e){let t=[`Stopping OpenKnowledge…`,`Saving pending changes and releasing the server lock — this can take a few seconds.`];return e===`SIGINT`&&t.push(`Press Ctrl+C again to force quit.`),t}async function pe(e,o){let s=de(process.env);s!==null&&(process.env.OK_CONSOLE_LEVEL=s);let{renderBanner:c}=await import(`./banner-B6HYYw6k.mjs`),{accent:l,dim:u,error:d,warning:f}=await import(`./colors-MGDi6UGf.mjs`),p=process.cwd(),m=o.remote!==void 0&&o.remote!==!1,h=typeof o.remote==`string`?o.remote:void 0,g=h===void 0?e:{...e,remote:{...e.remote,url:h}};process.title=ie(p),m&&(typeof g.remote?.url!=`string`||g.remote.url===``)&&(console.error(d("--remote requires a public tunnel URL — pass it (`ok start --remote https://<your-tunnel-host>`) or set remote.url in .ok/config.yml.")),process.exit(78)),m&&console.warn(f([``,`⚠ REMOTE ACCESS ENABLED — no server-side authentication.`,` Anyone who can reach ${g.remote?.url} has FULL control of this`,` knowledge base, including sync, publishing, credentials, and local operations.`,` Restrict who can reach it at the tunnel: ngrok OAuth, Cloudflare Access,`,` Tailscale ACLs, or equivalent edge auth.`,``].join(`
|
|
2
2
|
`)));let _;try{_=i(process.env)}catch(e){throw e instanceof n&&(console.error(d(e.message)),process.exit(78)),e}for(let e of _.diagnostics)console.warn(f(`[config] ${e.message}`));let v=r(g,_.layer),y=_.overrides.some(e=>e.envVar===`OK_BIND`),b=o.bind!==void 0&&o.bind.length>0?o.bind:o.host===void 0?void 0:[o.host],x=process.env.HOST,S=x!==void 0&&x.trim()!==``?x:void 0,C=a(v),w=b??(y||S===void 0?[...C.bind]:[S]);te({flagBindSet:b!==void 0,okBindSet:y,hostEnvSet:S!==void 0,fileBindCount:C.bind.length})&&console.warn(f(`[config] HOST=${S} overrides server.bind — dropping the file-configured addresses (${C.bind.join(`, `)}). Use OK_BIND with a space-separated list to keep multiple binds.`));let T=w[0]??`127.0.0.1`,E=re(T,m);E.coerced&&console.warn(`remote access is enabled and ${T} is not an IPv4 loopback bind — tunnels proxy to 127.0.0.1, so binding ${T} would leave the tunnel dialing a dead port. Using 127.0.0.1.`);let D=E.host,O=m?[D]:w,k=a(r(v,{server:{bind:O}}));if(!m&&k.allowExternal&&(!k.loopbackOnly||k.publicUrl)){let e=k.publicUrl??k.bind.join(`, `);console.warn(f([``,`⚠ EXTERNAL ACCESS ENABLED (server.allowExternal) — no server-side authentication.`,` This server is reachable beyond this machine (${e}). Anyone who can`,` reach it has FULL control of this knowledge base — sync, publishing, GitHub`,` credentials, and local operations (clone, sign-in, repo spawn).`,` Restrict who can reach it at the edge: a Tailscale ACL, a reverse proxy with`,` auth (Cloudflare Access, oauth2-proxy), or a firewall.`,``].join(`
|
|
3
|
-
`)))}let A=o.port===void 0?void 0:Number(o.port),M=_.overrides.find(e=>e.envVar===`PORT`)?.value,N=o.uiPort===void 0?void 0:Number(o.uiPort),P=a(g).port,F=g.server?.port;m&&A===void 0&&M!==void 0&&console.warn(`remote access is enabled — ignoring env PORT=${process.env.PORT}; the tunnel's port mapping targets the stable remote port (${P??24550}). Pass --port to override deliberately.`);let I=ae(A,M,N,m)??(m?P??24550:F);if(N!==void 0){let{readServerLock:e,resolveLockDir:t}=await import(`./src-
|
|
3
|
+
`)))}let A=o.port===void 0?void 0:Number(o.port),M=_.overrides.find(e=>e.envVar===`PORT`)?.value,N=o.uiPort===void 0?void 0:Number(o.uiPort),P=a(g).port,F=g.server?.port;m&&A===void 0&&M!==void 0&&console.warn(`remote access is enabled — ignoring env PORT=${process.env.PORT}; the tunnel's port mapping targets the stable remote port (${P??24550}). Pass --port to override deliberately.`);let I=ae(A,M,N,m)??(m?P??24550:F);if(N!==void 0){let{readServerLock:e,resolveLockDir:t}=await import(`./src-C7oaYvaI.mjs`);if(oe(N,e(t(p)))){await K({cwd:p,uiPort:N});return}}let L=z({explicitDir:o.reactShellDistDir,only:o.only,uiPortSet:N!==void 0,remoteEnabled:m,findBundledDir:R}),B=L.dir;L.missingBundle&&console.warn(m?`remote access: bundled web UI not found — serving /mcp and /api only over the tunnel.`:`bundled web UI not found — serving /api and /mcp only. Reinstall @inkeep/open-knowledge, or build packages/app in a source checkout.`);let V;try{V=await ce({config:g,cwd:p,host:D,port:I,bind:O,...N===void 0?{}:{uiPort:N},...o.serveContentAssets===void 0?{}:{serveContentAssets:o.serveContentAssets},...B?{reactShellDistDir:B}:{},...o.only===`server`||L.missingBundle?{skipUiAutoSpawn:!0}:{},idleThresholdMs:t(o.idleShutdown??k.idleShutdown),serverRuntime:k,...o.singleFile?{singleFile:o.singleFile}:{},...o.projectDir?{projectDir:o.projectDir}:{},...m?{enableRemote:!0}:{}})}catch(e){e instanceof H&&(console.error(d(e.message)),process.exit(1));let t=await import(`./src-C7oaYvaI.mjs`);if((e instanceof t.GitNotAvailableError||e instanceof t.GitTooOldError)&&process.exit(78),e instanceof t.RemoteConfigError&&(console.error(d(e.message)),process.exit(78)),e instanceof t.ExposureConsentError&&(console.error(d(e.message)),process.exit(78)),(e instanceof t.SingleFileNotFoundError||e instanceof t.SingleFileNotAFileError||e instanceof t.SingleFileNotMarkdownError)&&(console.error(d(e.message)),process.exit(1)),N!==void 0&&$(e,t)){await K({cwd:p,uiPort:N});return}if(N===void 0&&$(e,t)){let e=t.resolveLockDir(p),n=null;try{n=await Q({readServerLock:()=>t.readServerLock(e),readUiLock:()=>t.readUiLock(e),now:Date.now,sleep:e=>j(e),timeoutMs:3e3,pollIntervalMs:50})}catch(e){process.stderr.write(`[start] spawn-or-reuse: lock poll failed (${e instanceof Error?e.message:String(e)}) — falling back to the collision message\n`)}if(n!==null){let[e,...t]=me(n);console.log(l(e));for(let e of t)console.log(u(e));process.exit(0)}}let n=he(e,p,t);n!==null&&(console.error(d(n)),process.exit(1)),console.error(`${d(`Failed to start:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exit(1)}let U=!1,W=async e=>{if(U)return;U=!0;let[t,...n]=fe(e);console.log(l(`\n${t}`));for(let e of n)console.log(u(` ${e}`));if(V.spawnedUiPid!==null)try{let{getLogger:e,isProcessAlive:t,readUiLock:n}=await import(`./src-C7oaYvaI.mjs`);await X({readUiLock:()=>n(V.lockDir),spawnedUiPid:()=>V.spawnedUiPid,isAlive:t,killPid:(e,t)=>process.kill(e,t),log:e(`start`),reason:`shutdown`})}catch(e){console.error(`${d(`ui sibling teardown failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`)}try{await V.destroy()}catch(e){console.error(`${d(`destroy() failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exitCode=1}process.exit(process.exitCode??0)};process.once(`SIGINT`,()=>{W(`SIGINT`)}),process.once(`SIGTERM`,()=>{W(`SIGTERM`)});let G=D.includes(`:`)&&!D.startsWith(`[`)?`[${D}]`:D,q=`http://${G}:${V.port}`,se=D===`0.0.0.0`||D===`::`?`http://0.0.0.0:${V.port}`:void 0,J=V.resolvedUiPort,Y=J!==null&&J>0?`http://${G}:${J}`:q;console.log(c({name:`open-knowledge`,version:ee,localUrl:Y,apiUrl:Y===q?void 0:q,networkUrl:se,nextSteps:[`Open the Editor URL in your browser to start editing.`]}));let Z={"shadow-repo":`Version history and branch-switch safety unavailable`,"file-watcher":`External file changes will not sync to the editor`,"head-watcher":`Git branch switches may cause document inconsistency`};V.ready.then(async()=>{if(V.degraded.length>0){console.log();for(let e of V.degraded){let t=Z[e]??`${e} (check server logs for details)`;console.warn(` ${f(`⚠`)} ${f(e)}: ${u(t)}`)}console.log()}if(ne({openBrowser:o.openBrowser!==!1&&k.openBrowser,explicitOn:o.openBrowser!==!1&&v.server?.openBrowser===!0,legacyOpen:o.open===!0,host:D,isTTY:process.stdout.isTTY===!0,remoteEnabled:m,ephemeral:o.singleFile!==void 0,only:o.only,servesUi:B!==void 0})){let{openBrowser:e}=await import(`./open-browser-F_Q44toi.mjs`);e(Y)}}).catch(e=>{console.error(` ${d(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})}async function Q(e){let t=e.now()+e.timeoutMs,n=e.readServerLock();for(;n!==null&&n.draining!==!0&&n.port<=0&&e.now()<t;)await e.sleep(e.pollIntervalMs),n=e.readServerLock();if(n===null||n.draining===!0||n.port<=0)return null;if(n.capabilities?.includes(`ui`)===!0&&n.url!==void 0)return{url:n.url,kind:n.kind,pid:n.pid,servesUi:!0};let r=e.readUiLock();return r!==null&&r.port>0?{url:r.url??`http://localhost:${r.port}`,kind:n.kind,pid:n.pid,servesUi:!1}:{url:n.url??`http://127.0.0.1:${n.port}`,kind:n.kind,pid:n.pid,servesUi:!1}}function me(e){return[`${e.kind===`mcp-spawned`?`An MCP-spawned OpenKnowledge server is already running on this project`:`OpenKnowledge is already running on this project`} (pid ${e.pid}).`,` ${e.url}`,"Leaving it running — run `ok stop` first if you want a fresh server."]}function $(e,t){let n=t.ServerLockCollisionError;return n!==void 0&&e instanceof n}function he(e,t,n){let r=n.ServerLockCollisionError;if(r===void 0||!(e instanceof r))return null;try{let e=n.readServerLock(n.resolveLockDir(t));return e&&e.kind===`mcp-spawned`?"An MCP-spawned server holds this lock; it should release on idle-shutdown (~30 min). Or run `ok stop`.":"OpenKnowledge server is already running on this project — check `ok status` or `ok stop`."}catch{return null}}function ge(e){return new p(`start`).description(`Start the OpenKnowledge server (UI + API + MCP + collab on one port)`).option(`-p, --port <port>`,`Server port`,void 0).option(`--ui-port <port>`,`Pin the ok ui sibling to <port> and connect (not exit) if a server already runs here — the worktree-preview recipe path`,ue).option(`--bind <address>`,`Bind address (repeatable; default 127.0.0.1 — loopback only)`,(e,t)=>[...t??[],e]).addOption(new f(`-H, --host <host>`,`Deprecated alias of --bind`).hideHelp()).option(`--no-open-browser`,`Do not open the browser after start (interactive loopback starts open it by default)`).addOption(new f(`--open`,`Deprecated: force-open the browser after start`).hideHelp()).option(`--only <module>`,`Serve one module: 'server' (API + MCP only, no shell or browser) or 'ui' (shell + proxy only; requires --server-url)`,L).option(`--server-url <url>`,`Project-server URL the --only ui process proxies to (e.g. http://127.0.0.1:24550)`).option(`--idle-shutdown <duration>`,`Shut the server down after this long with no connected clients ('off', or a duration like 90s, 30m, 2h; default 30m)`,B).option(`--mode <mode>`,`Force dispatch mode: 'browser' or 'app'`,le).option(`--serve-content-assets`,`Serve content assets from this server (now the default; kept for compatibility)`).option(`--react-shell-dist-dir <path>`,`Serve React shell from <path> (suppresses ok ui sibling)`).option(`--single-file <path>`,`No-project ephemeral single-file mode: scope the server to one markdown file (git + MCP off)`).option(`--project-dir <dir>`,`Throwaway project root for --single-file (where ephemeral .ok/ state lives)`).option(`--remote [url]`,`Serve through a tunnel: admit requests carrying the tunnel Host with NO server-side auth (anyone who can reach the URL has full control — restrict access at the tunnel with edge auth). Bare --remote uses remote.url from .ok/config.yml; --remote <url> supplies it for this run.`).action(async t=>{let n=e();if(t.serverUrl!==void 0&&t.only!==`ui`&&(process.stderr.write(`error: option '--server-url' requires '--only ui'
|
|
4
4
|
`),process.exit(2)),t.only===`server`&&t.reactShellDistDir!==void 0&&(process.stderr.write(`error: option '--only server' cannot be combined with '--react-shell-dist-dir'
|
|
5
5
|
`),process.exit(2)),t.only===`ui`){t.serverUrl===void 0&&(process.stderr.write(`error: '--only ui' requires '--server-url <url>' (where the project server runs)
|
|
6
6
|
`),process.exit(2)),t.mode===`app`&&(process.stderr.write(`error: option '--only ui' cannot be combined with '--mode app'
|
|
7
7
|
`),process.exit(2)),t.remote!==void 0&&t.remote!==!1&&(process.stderr.write(`error: option '--only ui' cannot be combined with '--remote'
|
|
8
|
-
`),process.exit(2));let{runUiCommand:e}=await import(`./ui-
|
|
8
|
+
`),process.exit(2));let{runUiCommand:e}=await import(`./ui-C6oh6Jzr.mjs`);await e(n,{...t.port===void 0?{}:{port:String(t.port)},...t.bind?.[0]===void 0?t.host===void 0?{}:{host:t.host}:{host:t.bind[0]},upstreamUrl:t.serverUrl});return}if(t.mode===`app`){t.open&&(process.stderr.write(`error: option '--mode=app' cannot be combined with '--open' (--open opens a browser tab against the local server, which app mode does not boot)
|
|
9
9
|
`),process.exit(2));let e=[];if(t.port!==void 0&&e.push(`--port`),t.uiPort!==void 0&&e.push(`--ui-port`),t.bind!==void 0&&e.push(`--bind`),t.host!==void 0&&e.push(`--host`),t.only!==void 0&&e.push(`--only`),t.serverUrl!==void 0&&e.push(`--server-url`),t.idleShutdown!==void 0&&e.push(`--idle-shutdown`),t.openBrowser===!1&&e.push(`--no-open-browser`),e.length>0){let t=process.env.OK_LOG_LEVEL??`info`;(t===`debug`||t===`trace`)&&console.error(`--mode=app: ignoring ${e.join(`, `)}`)}let n=_(y());if(n.available){m({spawn:x},n);return}console.error(v(n.reason)),process.exit(1)}await pe(n,t)})}export{J as A,oe as C,ge as D,W as E,F as M,X as O,pe as S,te as T,ae as _,re as a,de as b,U as c,fe as d,V as f,R as g,L as h,Z as i,Y as j,he as k,ie as l,B as m,q as n,G as o,$ as p,ce as r,K as s,H as t,me as u,I as v,ne as w,z as x,Q as y};
|
|
10
|
-
//# sourceMappingURL=start-
|
|
10
|
+
//# sourceMappingURL=start-9GMT55r5.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{D as e,g as t,r as n,v as r}from"./start-9GMT55r5.mjs";export{n as bootStartServer,t as resolveBundledReactShellDir,r as resolveHost,e as startCommand};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as e}from"./ui-aYQtsARJ.mjs";export{e as runUiCommand};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{Q as e,it as t,tt as n}from"./sleep-ChZE9826.mjs";import{Ro as r,Ya as i,st as a}from"./src-DMpGVIiQ.mjs";import{An as o,kn as s,wn as c}from"./src-
|
|
2
|
-
`)}\r\n\r\n`),n.length>0&&o.write(n)}catch(e){c({event:`proxy-upgrade-handshake-write-failed`,err:e});return}o.on(`data`,e=>{t.writable&&t.write(e)}),t.on(`data`,e=>{o.writable&&o.write(e)})}),o.once(`timeout`,()=>{c({event:`proxy-upgrade-upstream-connect-timeout`})}),o.on(`error`,e=>c({event:`proxy-upgrade-upstream-error`,err:e})),t.on(`error`,e=>c({event:`proxy-upgrade-client-error`,err:e})),o.once(`close`,()=>c()),t.once(`close`,()=>c())}const b=[`connection`,`keep-alive`,`proxy-authenticate`,`proxy-authorization`,`te`,`trailer`,`transfer-encoding`,`upgrade`,`cookie`,`set-cookie`];async function x(e){let t=e.upstreamTimeoutMs??h,n=new Set,r=d((n,r)=>{g(n,r)||S(n,r,e.upstreamHost,e.upstreamPort,t)});r.on(`upgrade`,(t,r,i)=>{v(t,r)||y(t,r,i,e.upstreamHost,e.upstreamPort,n)}),await new Promise((t,n)=>{let i=e=>n(e);r.once(`error`,i),r.listen(e.listenPort,e.host,()=>{r.off(`error`,i),t()})});let i=r.address();return{httpServer:r,port:typeof i==`object`&&i?i.port:e.listenPort,close:()=>new Promise(e=>{for(let e of n)try{e.destroy()}catch{}n.clear(),r.close(()=>e()),r.closeIdleConnections()})}}function ee(e,t,n){S(e,t,n.upstreamHost,n.upstreamPort,n.upstreamTimeoutMs??h)}function S(e,t,n,r,i){let a={...e.headers};delete a.host;for(let e of b)delete a[e];e.setTimeout(_,()=>{if(t.headersSent)try{t.end()}catch{}else try{m(t,408,`urn:ok:error:request-timeout`,`Proxy request exceeded the per-request deadline.`,`Slow-loris-class: client did not finish within ${_/1e3}s.`)}catch{}try{e.socket?.destroy()}catch{}});let o=f({host:n,port:r,method:e.method,path:e.url,headers:{...a,host:`${n}:${r}`}},e=>{let n={...e.headers};for(let e of b)delete n[e];t.writeHead(e.statusCode??502,n),e.pipe(t),e.once(`error`,()=>{try{t.end()}catch{}})});i>0&&o.setTimeout(i,()=>{if(!t.headersSent)m(t,504,`urn:ok:error:gateway-timeout`,`Upstream did not respond before the gateway deadline.`,`Upstream timeout: ${i/1e3}s elapsed without a response.`);else try{t.end()}catch{}o.destroy()}),o.on(`error`,()=>{if(!t.headersSent)m(t,502,`urn:ok:error:collab-server-not-running`,`Collab server is unreachable.`,`Upstream connection failed or dropped before a response was received.`);else try{t.end()}catch{}}),e.on(`error`,()=>{o.destroy()}),e.pipe(o)}const C=720*60*1e3,w=39847;async function T(e){await Promise.all(e.map(e=>new Promise(t=>{e.close(()=>t())})))}function E(e){let t;try{t=new URL(e)}catch{throw Error(`Invalid --server-url '${e}' — expected e.g. http://127.0.0.1:24550`)}if(t.protocol!==`http:`)throw Error(`--server-url must be http: (got '${t.protocol}//') — the UI proxy speaks plain HTTP; terminate TLS at your ingress`);let n=t.port===``?80:Number(t.port);return{host:t.hostname.replace(/^\[(.+)\]$/,`$1`),port:n}}async function D(i){let{existsSync:o}=await import(`node:fs`),{createServer:s}=await import(`node:http`),{resolve:c}=await import(`node:path`),{acquireUiLock:l,createAssetServeMiddleware:u,createContentFilter:d,readServerLock:f,releaseUiLock:p,updateUiLockPort:h}=await import(`./src-DR51i3QD.mjs`),{default:_}=await import(`./build-BcDJ6qQ2.mjs`),{resolveContentDir:b,resolveLockDir:x}=await import(`./src-DR51i3QD.mjs`),S=b(i.config,i.cwd),C=x(i.cwd);l(C,{port:0,worktreeRoot:i.cwd});let w=import.meta.dirname??new URL(`.`,import.meta.url).pathname,T=[c(w,`public`),c(w,`../../app/dist`),c(w,`../../../app/dist`)],D=i.assetDir??T.find(e=>o(e)),k=D?_(D,{single:!0,gzip:!0,etag:!0,dev:!0,extensions:[]}):null,A=o(S)?u({contentFilter:d({projectDir:i.cwd,contentDir:S}),contentSirv:_(S,{dotfiles:!1,dev:!0,extensions:[]}),inlineExtensions:t,assetExtensions:e,blocklistExtensions:n}):null,j=i.upstreamUrl===void 0?null:E(i.upstreamUrl),M=()=>{if(j!==null)return j;let e=f(C);return!e||e.port<=0?null:{host:r,port:e.port}},N=i.port,P=null,F=(e,t)=>{let n=e.url?.split(`?`)[0];if((n===`/`||n===``)&&(e.url=`/index.html`),!(n?.startsWith(`/api/`)&&g(e,t))){if(n===`/api/config`&&(e.method===`GET`||e.method===`HEAD`)){P?.();let n=e.headers.host??`localhost:${N}`,r=M()===null?null:`ws://${n}/collab`,i=JSON.stringify({collabUrl:r,previewUrl:null,port:N});t.setHeader(`Content-Type`,`application/json`),t.setHeader(`Cache-Control`,`no-store`),t.setHeader(`X-Content-Type-Options`,`nosniff`),t.statusCode=200,e.method===`HEAD`?t.end():t.end(i);return}if(n?.startsWith(`/api/`)){P?.();let r=M();if(r===null){m(t,503,`urn:ok:error:collab-server-not-running`,"Collab server not running. Start `ok start` or run `ok status`.",`Path: ${n}`);return}ee(e,t,{upstreamHost:r.host,upstreamPort:r.port});return}if(k&&n?.startsWith(`/assets/`)){k(e,t,()=>{A?A(e,t,()=>O(t)):O(t)});return}if(A){A(e,t,()=>{k?k(e,t):O(t)});return}if(k){k(e,t);return}O(t)}},I=new Set,L=(e,t,n)=>{if(v(e,t))return;let r=e.url?.split(`?`)[0]??``;if(r!==`/collab`&&!r.startsWith(`/collab/`)){t.destroy();return}let i=M();if(i===null){console.warn(JSON.stringify({event:`ok-ui-upgrade-no-collab-lock`,url:r,reason:"server.lock missing or port unbound — is `ok start` running?"})),t.destroy();return}y(e,t,n,i.host,i.port,I)},R=()=>{for(let e of I)try{e.destroy()}catch{}I.clear()},z=i.host===void 0?[`::1`,`127.0.0.1`]:[i.host],B=[],V=i.port,te=e=>e instanceof Error&&e.code===`EADDRINUSE`,H=async()=>{await Promise.all(B.splice(0).map(e=>new Promise(t=>{try{e.close(()=>t())}catch{t()}})))},U=async e=>{V=e;for(let e of z){let t=s(F);t.on(`upgrade`,L),B.push(t),await new Promise((n,r)=>{let i=e=>r(e);t.once(`error`,i),t.listen(V,e,()=>{t.off(`error`,i);let e=t.address();typeof e==`object`&&e&&(V=e.port),n()})})}};try{try{await U(i.port)}catch(e){if(i.fallbackToKernel===!0&&te(e))await H(),await U(0);else throw e}}catch(e){await H();try{p(C)}catch{}throw e}let W=V;N=W,h(C,W,`http://localhost:${W}`);let G=i.scheduler??a,K=i.safetyNetMs??432e5,q=null,J=!1,Y=!1,X=()=>{J||(J=!0,q!==null&&(G.clearTimeout(q),q=null))},Z=()=>{if(X(),!Y){Y=!0;try{p(C)}catch{}}},Q=()=>{J||K<=0||(q!==null&&(G.clearTimeout(q),q=null),q=G.setTimeout(()=>{q=null,console.warn(`[ui] safety-net (${K}ms) reached — shutting down (D-025 backstop)`);try{i.onSafetyNet?.()}catch{}R();for(let e of B)try{e.close()}catch{}Z()},K))},$=()=>{J||K<=0||Q()};return P=$,Q(),{httpServers:B,port:W,release:Z,detachSafetyNet:X,nudgeSafetyNet:$,drainUpgradeSockets:R}}function O(e){e.headersSent||e.writableEnded||e.destroyed||(e.setHeader(`X-Content-Type-Options`,`nosniff`),e.setHeader(`Cache-Control`,`no-store`),e.statusCode=404,e.end())}function k(e,t){if(e!==void 0){let t=Number.parseInt(e,10);if(Number.isNaN(t)||t<0||t>65535)throw Error(`Invalid --port value '${e}'`);return{port:t,fallbackToKernel:!1}}if(t!==void 0&&t!==``){let e=Number.parseInt(t,10);if(Number.isNaN(e)||e<0||e>65535)throw Error(`Invalid PORT env value '${t}'`);return{port:e,fallbackToKernel:!1}}return{port:w,fallbackToKernel:!0}}async function A(e){let t=e.readLock??(async()=>{let{readUiLock:t}=await import(`./src-DR51i3QD.mjs`);return t(e.lockDir)}),n=await t();if(!n)throw Error(`UI lock collision reported but the lock disappeared before handling — retry acquiring.`);if(n.port===e.requestedPort&&n.port>0)return{mode:`already-running`,port:n.port};let r=n.port;if(r===0){let n=Date.now()+(e.pollDeadlineMs??2e3),i=e.pollIntervalMs??100;for(;Date.now()<n;){await new Promise(e=>{setTimeout(e,i)});let e=await t();if(e&&e.port>0){r=e.port;break}}if(r===0)throw Error("UI did not bind within 2s; run `ok clean`");if(r===e.requestedPort)return{mode:`already-running`,port:r}}return{mode:`proxy`,handle:await x({listenPort:e.requestedPort,host:e.host,upstreamHost:`localhost`,upstreamPort:r}),upstreamPort:r}}async function j(e,t){let{dim:n}=await import(`./colors-MGDi6UGf.mjs`),{UiLockCollisionError:r}=await import(`./src-DR51i3QD.mjs`),{resolveLockDir:i}=await import(`./src-DR51i3QD.mjs`),a=t.host;if(t.upstreamUrl!==void 0)try{E(t.upstreamUrl)}catch(e){console.error(e instanceof Error?e.message:String(e)),process.exit(2)}let o;try{o=k(t.port,process.env.PORT)}catch(e){console.error(e instanceof Error?e.message:String(e)),process.exit(2)}let s=o.port;try{let r=await D({config:e,cwd:process.cwd(),port:s,fallbackToKernel:o.fallbackToKernel,host:a,...t.upstreamUrl===void 0?{}:{upstreamUrl:t.upstreamUrl}}),i=a===void 0||a===`::`||a===`0.0.0.0`?`localhost`:a;console.log(`${n(`[ui]`)} listening on http://${i}:${r.port}`);let c=!1,l=e=>{if(c)return;c=!0,console.log(n(`\n[ui] Shutting down (${e})`)),r.detachSafetyNet();let t=()=>{try{r.release()}finally{process.exit(process.exitCode??0)}};r.drainUpgradeSockets(),T(r.httpServers).then(t,t),setTimeout(t,2e3).unref()};process.once(`SIGINT`,()=>l(`SIGINT`)),process.once(`SIGTERM`,()=>l(`SIGTERM`));return}catch(e){if(!(e instanceof r))throw e;let t=i(process.cwd()),o=a??`localhost`,c;try{c=await A({requestedPort:s,host:o,lockDir:t})}catch(e){console.error(e instanceof Error?e.message:String(e)),process.exit(1)}if(c.mode===`already-running`){if(console.log(`UI already running at http://${o}:${c.port}`),N(process)){await new Promise(e=>{let t=t=>{console.log(n(`\n[ui-keepalive] Shutting down (${t})`)),e()};process.once(`SIGINT`,()=>t(`SIGINT`)),process.once(`SIGTERM`,()=>t(`SIGTERM`))});return}process.exit(0)}console.log(`UI running at http://${o}:${c.upstreamPort}; acting as HTTP proxy on port ${c.handle.port}`);let l=!1,u=e=>{l||(l=!0,console.log(n(`\n[ui-proxy] Shutting down (${e})`)),c.handle.close().finally(()=>process.exit(process.exitCode??0)),setTimeout(()=>process.exit(process.exitCode??0),2e3).unref())};process.once(`SIGINT`,()=>u(`SIGINT`)),process.once(`SIGTERM`,()=>u(`SIGTERM`))}}function M(e){return new l(`ui`).description("Deprecated: serve the React editor UI as a sibling process (plain `ok start` now serves the UI itself)").option(`-p, --port <port>`,`UI port (default: $PORT env or ${w}, kernel-allocated fallback if busy)`).option(`-H, --host <host>`,"UI host. Default: two-socket loopback bind (`[::1]` + `127.0.0.1`) so cross-family collisions fail loud. Pass an explicit host (e.g. `127.0.0.1`, `0.0.0.0`) to bind a single socket on that host.").action(async t=>{let{warning:n}=await import(`./colors-MGDi6UGf.mjs`);console.error(n("[ui] Deprecated: use `ok start` instead — it now serves the editor UI on one port. `ok ui` remains for older desktop builds and will be removed in a future release.")),await j(e(),t)})}function N(e){let t=e.stdout.isTTY===!0,n=typeof e.env.PORT==`string`&&e.env.PORT!==``;return!t||n}export{E as a,j as c,N as i,D as l,C as n,k as o,T as r,A as s,w as t,M as u};
|
|
3
|
-
//# sourceMappingURL=ui-
|
|
1
|
+
import{Q as e,it as t,tt as n}from"./sleep-ChZE9826.mjs";import{Ro as r,Ya as i,st as a}from"./src-DMpGVIiQ.mjs";import{An as o,kn as s,wn as c}from"./src-BhlDoN_j.mjs";import{t as l}from"./esm-DmX1RzAi.mjs";import{randomUUID as u}from"node:crypto";import{createServer as d,request as f}from"node:http";import{connect as p}from"node:net";function m(e,t,n,r,a){let o=`urn:uuid:${u()}`;if(e.headersSent||e.writableEnded||e.destroyed){console.error(`[ok ui] emitProblem called after headers sent — suppressed`,{type:n,status:t,instance:o});return}let s={type:n,title:r,status:t,instance:o,...a===void 0?{}:{detail:a}},c=i.safeParse(s);if(!c.success){console.error(`[ok ui] emitProblem produced an invalid ProblemDetails body:`,{issues:c.error.issues,originalStatus:t,body:s}),e.writeHead(500,{"Content-Type":`application/problem+json`,"X-Content-Type-Options":`nosniff`,"Cache-Control":`no-store`}),e.end(JSON.stringify({type:`urn:ok:error:internal-server-error`,title:`Internal server error.`,status:500,instance:o}));return}e.writeHead(t,{"Content-Type":`application/problem+json`,"X-Content-Type-Options":`nosniff`,"Cache-Control":`no-store`}),e.end(JSON.stringify(s))}const h=1e4;function g(e,t){let n=e.socket?.remoteAddress;if(n!==void 0&&!o(n))return m(t,403,`urn:ok:error:loopback-required`,`Request must originate from a loopback address.`),!0;if(!s(e.headers.host))return m(t,403,`urn:ok:error:host-not-allowed`,`Host header is not in the loopback allowlist.`),!0;let r=e.headers.origin;return r!==void 0&&!c(r)?(m(t,403,`urn:ok:error:invalid-origin`,`Origin header is not in the loopback allowlist.`),!0):!1}const _=3e4;function v(e,t){let n=e.socket?.remoteAddress;if(n!==void 0&&!o(n)||!s(e.headers.host))return t.destroy(),!0;let r=e.headers.origin;return typeof r==`string`&&!c(r)?(t.destroy(),!0):!1}function y(e,t,n,r,i,a){a.add(t),t.once(`close`,()=>a.delete(t));let o=p({host:r,port:i,timeout:h});a.add(o),o.once(`close`,()=>a.delete(o));let s=!1,c=n=>{if(!s){if(s=!0,n!==void 0){let t=n.err;console.warn(JSON.stringify({event:n.event,upstreamHost:r,upstreamPort:i,url:e.url,code:t instanceof Error?t.code:void 0,message:t instanceof Error?t.message:void 0}))}try{o.destroy()}catch{}try{t.destroy()}catch{}}};o.once(`connect`,()=>{o.setTimeout(0);let a=[`${e.method??`GET`} ${e.url??`/`} HTTP/1.1`,`host: ${r}:${i}`];for(let[t,n]of Object.entries(e.headers))if(t.toLowerCase()!==`host`&&n!==void 0)if(Array.isArray(n))for(let e of n)a.push(`${t}: ${e}`);else a.push(`${t}: ${n}`);try{o.write(`${a.join(`\r
|
|
2
|
+
`)}\r\n\r\n`),n.length>0&&o.write(n)}catch(e){c({event:`proxy-upgrade-handshake-write-failed`,err:e});return}o.on(`data`,e=>{t.writable&&t.write(e)}),t.on(`data`,e=>{o.writable&&o.write(e)})}),o.once(`timeout`,()=>{c({event:`proxy-upgrade-upstream-connect-timeout`})}),o.on(`error`,e=>c({event:`proxy-upgrade-upstream-error`,err:e})),t.on(`error`,e=>c({event:`proxy-upgrade-client-error`,err:e})),o.once(`close`,()=>c()),t.once(`close`,()=>c())}const b=[`connection`,`keep-alive`,`proxy-authenticate`,`proxy-authorization`,`te`,`trailer`,`transfer-encoding`,`upgrade`,`cookie`,`set-cookie`];async function x(e){let t=e.upstreamTimeoutMs??h,n=new Set,r=d((n,r)=>{g(n,r)||S(n,r,e.upstreamHost,e.upstreamPort,t)});r.on(`upgrade`,(t,r,i)=>{v(t,r)||y(t,r,i,e.upstreamHost,e.upstreamPort,n)}),await new Promise((t,n)=>{let i=e=>n(e);r.once(`error`,i),r.listen(e.listenPort,e.host,()=>{r.off(`error`,i),t()})});let i=r.address();return{httpServer:r,port:typeof i==`object`&&i?i.port:e.listenPort,close:()=>new Promise(e=>{for(let e of n)try{e.destroy()}catch{}n.clear(),r.close(()=>e()),r.closeIdleConnections()})}}function ee(e,t,n){S(e,t,n.upstreamHost,n.upstreamPort,n.upstreamTimeoutMs??h)}function S(e,t,n,r,i){let a={...e.headers};delete a.host;for(let e of b)delete a[e];e.setTimeout(_,()=>{if(t.headersSent)try{t.end()}catch{}else try{m(t,408,`urn:ok:error:request-timeout`,`Proxy request exceeded the per-request deadline.`,`Slow-loris-class: client did not finish within ${_/1e3}s.`)}catch{}try{e.socket?.destroy()}catch{}});let o=f({host:n,port:r,method:e.method,path:e.url,headers:{...a,host:`${n}:${r}`}},e=>{let n={...e.headers};for(let e of b)delete n[e];t.writeHead(e.statusCode??502,n),e.pipe(t),e.once(`error`,()=>{try{t.end()}catch{}})});i>0&&o.setTimeout(i,()=>{if(!t.headersSent)m(t,504,`urn:ok:error:gateway-timeout`,`Upstream did not respond before the gateway deadline.`,`Upstream timeout: ${i/1e3}s elapsed without a response.`);else try{t.end()}catch{}o.destroy()}),o.on(`error`,()=>{if(!t.headersSent)m(t,502,`urn:ok:error:collab-server-not-running`,`Collab server is unreachable.`,`Upstream connection failed or dropped before a response was received.`);else try{t.end()}catch{}}),e.on(`error`,()=>{o.destroy()}),e.pipe(o)}const C=720*60*1e3,w=39847;async function T(e){await Promise.all(e.map(e=>new Promise(t=>{e.close(()=>t())})))}function E(e){let t;try{t=new URL(e)}catch{throw Error(`Invalid --server-url '${e}' — expected e.g. http://127.0.0.1:24550`)}if(t.protocol!==`http:`)throw Error(`--server-url must be http: (got '${t.protocol}//') — the UI proxy speaks plain HTTP; terminate TLS at your ingress`);let n=t.port===``?80:Number(t.port);return{host:t.hostname.replace(/^\[(.+)\]$/,`$1`),port:n}}async function D(i){let{existsSync:o}=await import(`node:fs`),{createServer:s}=await import(`node:http`),{resolve:c}=await import(`node:path`),{acquireUiLock:l,createAssetServeMiddleware:u,createContentFilter:d,readServerLock:f,releaseUiLock:p,updateUiLockPort:h}=await import(`./src-C7oaYvaI.mjs`),{default:_}=await import(`./build-BcDJ6qQ2.mjs`),{resolveContentDir:b,resolveLockDir:x}=await import(`./src-C7oaYvaI.mjs`),S=b(i.config,i.cwd),C=x(i.cwd);l(C,{port:0,worktreeRoot:i.cwd});let w=import.meta.dirname??new URL(`.`,import.meta.url).pathname,T=[c(w,`public`),c(w,`../../app/dist`),c(w,`../../../app/dist`)],D=i.assetDir??T.find(e=>o(e)),k=D?_(D,{single:!0,gzip:!0,etag:!0,dev:!0,extensions:[]}):null,A=o(S)?u({contentFilter:d({projectDir:i.cwd,contentDir:S}),contentSirv:_(S,{dotfiles:!1,dev:!0,extensions:[]}),inlineExtensions:t,assetExtensions:e,blocklistExtensions:n}):null,j=i.upstreamUrl===void 0?null:E(i.upstreamUrl),M=()=>{if(j!==null)return j;let e=f(C);return!e||e.port<=0?null:{host:r,port:e.port}},N=i.port,P=null,F=(e,t)=>{let n=e.url?.split(`?`)[0];if((n===`/`||n===``)&&(e.url=`/index.html`),!(n?.startsWith(`/api/`)&&g(e,t))){if(n===`/api/config`&&(e.method===`GET`||e.method===`HEAD`)){P?.();let n=e.headers.host??`localhost:${N}`,r=M()===null?null:`ws://${n}/collab`,i=JSON.stringify({collabUrl:r,previewUrl:null,port:N});t.setHeader(`Content-Type`,`application/json`),t.setHeader(`Cache-Control`,`no-store`),t.setHeader(`X-Content-Type-Options`,`nosniff`),t.statusCode=200,e.method===`HEAD`?t.end():t.end(i);return}if(n?.startsWith(`/api/`)){P?.();let r=M();if(r===null){m(t,503,`urn:ok:error:collab-server-not-running`,"Collab server not running. Start `ok start` or run `ok status`.",`Path: ${n}`);return}ee(e,t,{upstreamHost:r.host,upstreamPort:r.port});return}if(k&&n?.startsWith(`/assets/`)){k(e,t,()=>{A?A(e,t,()=>O(t)):O(t)});return}if(A){A(e,t,()=>{k?k(e,t):O(t)});return}if(k){k(e,t);return}O(t)}},I=new Set,L=(e,t,n)=>{if(v(e,t))return;let r=e.url?.split(`?`)[0]??``;if(r!==`/collab`&&!r.startsWith(`/collab/`)){t.destroy();return}let i=M();if(i===null){console.warn(JSON.stringify({event:`ok-ui-upgrade-no-collab-lock`,url:r,reason:"server.lock missing or port unbound — is `ok start` running?"})),t.destroy();return}y(e,t,n,i.host,i.port,I)},R=()=>{for(let e of I)try{e.destroy()}catch{}I.clear()},z=i.host===void 0?[`::1`,`127.0.0.1`]:[i.host],B=[],V=i.port,te=e=>e instanceof Error&&e.code===`EADDRINUSE`,H=async()=>{await Promise.all(B.splice(0).map(e=>new Promise(t=>{try{e.close(()=>t())}catch{t()}})))},U=async e=>{V=e;for(let e of z){let t=s(F);t.on(`upgrade`,L),B.push(t),await new Promise((n,r)=>{let i=e=>r(e);t.once(`error`,i),t.listen(V,e,()=>{t.off(`error`,i);let e=t.address();typeof e==`object`&&e&&(V=e.port),n()})})}};try{try{await U(i.port)}catch(e){if(i.fallbackToKernel===!0&&te(e))await H(),await U(0);else throw e}}catch(e){await H();try{p(C)}catch{}throw e}let W=V;N=W,h(C,W,`http://localhost:${W}`);let G=i.scheduler??a,K=i.safetyNetMs??432e5,q=null,J=!1,Y=!1,X=()=>{J||(J=!0,q!==null&&(G.clearTimeout(q),q=null))},Z=()=>{if(X(),!Y){Y=!0;try{p(C)}catch{}}},Q=()=>{J||K<=0||(q!==null&&(G.clearTimeout(q),q=null),q=G.setTimeout(()=>{q=null,console.warn(`[ui] safety-net (${K}ms) reached — shutting down (D-025 backstop)`);try{i.onSafetyNet?.()}catch{}R();for(let e of B)try{e.close()}catch{}Z()},K))},$=()=>{J||K<=0||Q()};return P=$,Q(),{httpServers:B,port:W,release:Z,detachSafetyNet:X,nudgeSafetyNet:$,drainUpgradeSockets:R}}function O(e){e.headersSent||e.writableEnded||e.destroyed||(e.setHeader(`X-Content-Type-Options`,`nosniff`),e.setHeader(`Cache-Control`,`no-store`),e.statusCode=404,e.end())}function k(e,t){if(e!==void 0){let t=Number.parseInt(e,10);if(Number.isNaN(t)||t<0||t>65535)throw Error(`Invalid --port value '${e}'`);return{port:t,fallbackToKernel:!1}}if(t!==void 0&&t!==``){let e=Number.parseInt(t,10);if(Number.isNaN(e)||e<0||e>65535)throw Error(`Invalid PORT env value '${t}'`);return{port:e,fallbackToKernel:!1}}return{port:w,fallbackToKernel:!0}}async function A(e){let t=e.readLock??(async()=>{let{readUiLock:t}=await import(`./src-C7oaYvaI.mjs`);return t(e.lockDir)}),n=await t();if(!n)throw Error(`UI lock collision reported but the lock disappeared before handling — retry acquiring.`);if(n.port===e.requestedPort&&n.port>0)return{mode:`already-running`,port:n.port};let r=n.port;if(r===0){let n=Date.now()+(e.pollDeadlineMs??2e3),i=e.pollIntervalMs??100;for(;Date.now()<n;){await new Promise(e=>{setTimeout(e,i)});let e=await t();if(e&&e.port>0){r=e.port;break}}if(r===0)throw Error("UI did not bind within 2s; run `ok clean`");if(r===e.requestedPort)return{mode:`already-running`,port:r}}return{mode:`proxy`,handle:await x({listenPort:e.requestedPort,host:e.host,upstreamHost:`localhost`,upstreamPort:r}),upstreamPort:r}}async function j(e,t){let{dim:n}=await import(`./colors-MGDi6UGf.mjs`),{UiLockCollisionError:r}=await import(`./src-C7oaYvaI.mjs`),{resolveLockDir:i}=await import(`./src-C7oaYvaI.mjs`),a=t.host;if(t.upstreamUrl!==void 0)try{E(t.upstreamUrl)}catch(e){console.error(e instanceof Error?e.message:String(e)),process.exit(2)}let o;try{o=k(t.port,process.env.PORT)}catch(e){console.error(e instanceof Error?e.message:String(e)),process.exit(2)}let s=o.port;try{let r=await D({config:e,cwd:process.cwd(),port:s,fallbackToKernel:o.fallbackToKernel,host:a,...t.upstreamUrl===void 0?{}:{upstreamUrl:t.upstreamUrl}}),i=a===void 0||a===`::`||a===`0.0.0.0`?`localhost`:a;console.log(`${n(`[ui]`)} listening on http://${i}:${r.port}`);let c=!1,l=e=>{if(c)return;c=!0,console.log(n(`\n[ui] Shutting down (${e})`)),r.detachSafetyNet();let t=()=>{try{r.release()}finally{process.exit(process.exitCode??0)}};r.drainUpgradeSockets(),T(r.httpServers).then(t,t),setTimeout(t,2e3).unref()};process.once(`SIGINT`,()=>l(`SIGINT`)),process.once(`SIGTERM`,()=>l(`SIGTERM`));return}catch(e){if(!(e instanceof r))throw e;let t=i(process.cwd()),o=a??`localhost`,c;try{c=await A({requestedPort:s,host:o,lockDir:t})}catch(e){console.error(e instanceof Error?e.message:String(e)),process.exit(1)}if(c.mode===`already-running`){if(console.log(`UI already running at http://${o}:${c.port}`),N(process)){await new Promise(e=>{let t=t=>{console.log(n(`\n[ui-keepalive] Shutting down (${t})`)),e()};process.once(`SIGINT`,()=>t(`SIGINT`)),process.once(`SIGTERM`,()=>t(`SIGTERM`))});return}process.exit(0)}console.log(`UI running at http://${o}:${c.upstreamPort}; acting as HTTP proxy on port ${c.handle.port}`);let l=!1,u=e=>{l||(l=!0,console.log(n(`\n[ui-proxy] Shutting down (${e})`)),c.handle.close().finally(()=>process.exit(process.exitCode??0)),setTimeout(()=>process.exit(process.exitCode??0),2e3).unref())};process.once(`SIGINT`,()=>u(`SIGINT`)),process.once(`SIGTERM`,()=>u(`SIGTERM`))}}function M(e){return new l(`ui`).description("Deprecated: serve the React editor UI as a sibling process (plain `ok start` now serves the UI itself)").option(`-p, --port <port>`,`UI port (default: $PORT env or ${w}, kernel-allocated fallback if busy)`).option(`-H, --host <host>`,"UI host. Default: two-socket loopback bind (`[::1]` + `127.0.0.1`) so cross-family collisions fail loud. Pass an explicit host (e.g. `127.0.0.1`, `0.0.0.0`) to bind a single socket on that host.").action(async t=>{let{warning:n}=await import(`./colors-MGDi6UGf.mjs`);console.error(n("[ui] Deprecated: use `ok start` instead — it now serves the editor UI on one port. `ok ui` remains for older desktop builds and will be removed in a future release.")),await j(e(),t)})}function N(e){let t=e.stdout.isTTY===!0,n=typeof e.env.PORT==`string`&&e.env.PORT!==``;return!t||n}export{E as a,j as c,N as i,D as l,C as n,k as o,T as r,A as s,w as t,M as u};
|
|
3
|
+
//# sourceMappingURL=ui-aYQtsARJ.mjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{Ho as e,Xo as t,Zo as n,ts as r}from"./src-DMpGVIiQ.mjs";import{Hr as i,Sr as a}from"./src-
|
|
1
|
+
import{Ho as e,Xo as t,Zo as n,ts as r}from"./src-DMpGVIiQ.mjs";import{Hr as i,Sr as a}from"./src-BhlDoN_j.mjs";import{basename as o,dirname as s,isAbsolute as c,join as l,posix as u,relative as ee,resolve as d,sep as f,win32 as p}from"node:path";import{cpSync as m,existsSync as h,lstatSync as g,mkdirSync as te,readFileSync as ne,realpathSync as _,rmSync as v,statSync as y}from"node:fs";import{homedir as b}from"node:os";const x=t,S=n,C=r,w=`node`,T={MCP_DEBUG:`1`,OK_LOG_FILE:`/tmp/ok-mcp.log`},E=`# ok-mcp-v2
|
|
2
2
|
USER_BUNDLE="$HOME/Applications/OpenKnowledge.app/Contents/Resources/cli/bin/ok.sh"
|
|
3
3
|
[ -f "$USER_BUNDLE" ] && [ -x "$USER_BUNDLE" ] && exec "$USER_BUNDLE" mcp
|
|
4
4
|
BUNDLE="/Applications/OpenKnowledge.app/Contents/Resources/cli/bin/ok.sh"
|
|
@@ -35,4 +35,4 @@ foreach ($d in $dirs) {
|
|
|
35
35
|
}
|
|
36
36
|
[Console]::Error.WriteLine('OpenKnowledge: install Node.js 24+ (npm i -g @inkeep/open-knowledge), then restart your editor')
|
|
37
37
|
exit 127`,O=`// ok-pi-bridge`,k=`${O}-v1`,A=`ok-pi-managed-extension`;function j(e){if(typeof e!=`object`||!e)return!1;let t=e;if(t.command===`/bin/sh`){if(!Array.isArray(t.args)||t.args[0]!==`-l`||t.args[1]!==`-c`)return!1;let e=t.args[2];return typeof e==`string`&&e.includes(`# ok-mcp-v2`)}if(t.command===`powershell`){if(!Array.isArray(t.args)||t.args[0]!==`-NoProfile`||t.args[1]!==`-NonInteractive`||t.args[2]!==`-Command`)return!1;let e=t.args[3];return typeof e==`string`&&e.includes(`# ok-mcp-win-v1`)}if(t.type===`local`&&Array.isArray(t.command)){if(t.command[0]===`/bin/sh`){if(t.command[1]!==`-l`||t.command[2]!==`-c`)return!1;let e=t.command[3];return typeof e==`string`&&e.includes(`# ok-mcp-v2`)}if(t.command[0]===`powershell`){if(t.command[1]!==`-NoProfile`||t.command[2]!==`-NonInteractive`||t.command[3]!==`-Command`)return!1;let e=t.command[4];return typeof e==`string`&&e.includes(`# ok-mcp-win-v1`)}return!1}if(t.command===`ok-pi-managed-extension`){if(!Array.isArray(t.args))return!1;let e=t.args[0];return typeof e==`string`&&e.startsWith(k)}return!1}function M(e=process.argv[1]){if(!e)throw Error(`Cannot infer the local CLI entry for --dev-mcp because process.argv[1] is empty.`);let t=d(e);if(o(t)===`cli.mjs`&&o(s(t))===`dist`)return t;let n=t.split(f),r=n.lastIndexOf(`packages`);if(r===-1||n[r+1]!==`cli`)throw Error(`Cannot infer the repo root for --dev-mcp from ${t}. Run the local CLI from this repo so the built dist path can be derived.`);let i=n.slice(0,r);return l(i.length===0?f:i.join(f),`packages`,`cli`,`dist`,`cli.mjs`)}function N(e={}){return e.mode===`dev`?{command:w,args:[M(),`mcp`],env:{...T}}:(e.platformName??process.platform)===`win32`?{command:`powershell`,args:[`-NoProfile`,`-NonInteractive`,`-Command`,D]}:{command:`/bin/sh`,args:[`-l`,`-c`,E]}}function P(e={}){return e.mode===`dev`?{type:`local`,enabled:!0,command:[w,M(),`mcp`],environment:{...T}}:(e.platformName??process.platform)===`win32`?{type:`local`,enabled:!0,command:[`powershell`,`-NoProfile`,`-NonInteractive`,`-Command`,D]}:{type:`local`,enabled:!0,command:[`/bin/sh`,`-l`,`-c`,E]}}function re(e){if(typeof e!=`object`||!e)return!1;let t=e;return F(t,N({mode:`published`,platformName:`darwin`}))||F(t,N({mode:`published`,platformName:`win32`}))}function F(e,t){return Object.keys(e).length===Object.keys(t).length?ie(e,t):!1}function ie(e,t){if(e.command!==t.command)return!1;let n=t.args;return!Array.isArray(n)||!Array.isArray(e.args)||e.args.length!==n.length?!1:e.args.every((e,t)=>e===n[t])}function I(e,t){let n=e=>typeof e==`string`&&e.includes(`# ok-mcp`);return t===`/bin/sh`?e[0]===`-l`&&e[1]===`-c`&&n(e[2]):t===`powershell`?e[0]===`-NoProfile`&&e[1]===`-NonInteractive`&&e[2]===`-Command`&&n(e[3]):!1}function L(e){if(typeof e!=`object`||!e)return!1;let t=e;return t.enabled===!1||typeof t.command!=`string`||!Array.isArray(t.args)?!1:I(t.args,t.command)}function R(e){if(typeof e!=`object`||!e)return!1;let t=e;if(t.type!==`local`||t.enabled===!1||!Array.isArray(t.command))return!1;let[n,...r]=t.command;return typeof n==`string`&&I(r,n)}function z(e){return e===`win32`?p:u}function B(e={}){let t=e.platformName??process.platform,n=e.home??b(),r=e.env??process.env,i=z(t);return t===`darwin`?i.join(n,`Library`,`Application Support`):t===`win32`?r.APPDATA??i.join(n,`AppData`,`Roaming`):r.XDG_CONFIG_HOME??i.join(n,`.config`)}function V(e={}){let t=e.platformName??process.platform,n=e.home??b();return z(t).join(n,`.claude.json`)}function H(e={}){let t=e.platformName??process.platform,n=e.home??b(),r=e.env??process.env;if(t===`darwin`)return u.join(n,`Library`,`Application Support`,`Claude`,`claude_desktop_config.json`);if(t===`win32`){let e=r.APPDATA??p.join(n,`AppData`,`Roaming`);return p.join(e,`Claude`,`claude_desktop_config.json`)}throw Error(`Claude Desktop is not available on ${t}. Supported: macOS, Windows.`)}function U(e={}){let t=e.platformName??process.platform,n=e.home??b();return z(t).join(n,`.cursor`,`mcp.json`)}function W(e={}){let t=e.platformName??process.platform,n=e.home??b();return(e.env??process.env).CODEX_HOME??z(t).join(n,`.codex`)}function G(e={}){return z(e.platformName??process.platform).join(W(e),`config.toml`)}function K(e={}){let t=e.platformName??process.platform,n=e.home??b(),r=(e.env??process.env).COPILOT_HOME??z(t).join(n,`.copilot`);return z(t).join(r,`mcp-config.json`)}function q(e={}){let t=e.platformName??process.platform,n=e.home??b(),r=e.env??process.env,i=z(t);if(t===`win32`){let e=r.APPDATA??i.join(n,`AppData`,`Roaming`);return i.join(e,`opencode`)}let a=r.XDG_CONFIG_HOME??i.join(n,`.config`);return i.join(a,`opencode`)}function J(e={}){return z(e.platformName??process.platform).join(q(e),`opencode.json`)}function ae(e={}){let t=e.platformName??process.platform,n=e.home??b();return z(t).join(n,`.openclaw`,`openclaw.json`)}function oe(e={}){let t=e.platformName??process.platform,n=e.home??b();return z(t).join(n,`.hermes`,`config.yaml`)}function se(e={}){let t=e.platformName??process.platform,n=e.home??b();return(e.env??process.env).PI_CODING_AGENT_DIR??z(t).join(n,`.pi`,`agent`)}function ce(e={}){let t=e.platformName??process.platform,n=e.home??b();return z(t).join(n,`.gemini`,`config`,`mcp_config.json`)}function le(e,t){let n=z(t),r=n.join(e,`.lmstudio`,`mcp.json`),i=n.join(e,`.cache`,`lm-studio`,`mcp.json`);return t===`darwin`?[i,r]:[r,i]}function Y(e={}){let t=e.platformName??process.platform,n=le(e.home??b(),t);return n.find(e=>h(e))||n.find(e=>h(s(e)))||n[0]}const X={claude:{id:`claude`,label:S.claude,configPath:(e,t)=>V({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>e,buildEntry:(e,t)=>N(t),scope:`global`,detectPath:(e,t)=>l(t??b(),`.claude`),projectConfigPath:e=>l(e,`.mcp.json`),projectSkillPath:e=>l(e,`.claude`,`skills`,`open-knowledge`,`SKILL.md`)},"claude-desktop":{id:`claude-desktop`,label:S[`claude-desktop`],configPath:(e,t)=>H({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>e,buildEntry:(e,t)=>N(t),scope:`global`,detectPath:(e,t)=>s(H({home:t}))},cursor:{id:`cursor`,label:S.cursor,configPath:(e,t)=>U({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>e,buildEntry:(e,t)=>N(t),scope:`global`,detectPath:(e,t)=>s(U({home:t})),projectConfigPath:e=>l(e,`.cursor`,`mcp.json`),projectSkillPath:e=>l(e,`.cursor`,`skills`,`open-knowledge`,`SKILL.md`)},codex:{id:`codex`,label:S.codex,configPath:(e,t)=>G({home:t}),format:`toml`,topLevelKey:`mcp_servers`,serverName:()=>e,buildEntry:(e,t)=>N(t),scope:`global`,detectPath:(e,t)=>s(G({home:t})),projectConfigPath:e=>l(e,`.codex`,`config.toml`),projectSkillPath:e=>l(e,`.codex`,`skills`,`open-knowledge`,`SKILL.md`)},copilot:{id:`copilot`,label:S.copilot,configPath:(e,t)=>K({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>e,buildEntry:(e,t)=>N(t),scope:`global`,detectPath:(e,t)=>s(K({home:t})),projectSkillPath:e=>l(e,`.github`,`skills`,`open-knowledge`,`SKILL.md`)},opencode:{id:`opencode`,label:S.opencode,configPath:(e,t)=>J({home:t}),format:`json`,topLevelKey:`mcp`,serverName:()=>e,buildEntry:(e,t)=>P(t),scope:`global`,detectPath:(e,t)=>s(J({home:t})),projectConfigPath:e=>l(e,`opencode.json`),projectSkillPath:e=>l(e,`.opencode`,`skills`,`open-knowledge`,`SKILL.md`)},openclaw:{id:`openclaw`,label:S.openclaw,configPath:(e,t)=>ae({home:t}),format:`json`,topLevelKey:`mcp`,serverMapSubKey:`servers`,serverName:()=>e,buildEntry:(e,t)=>N(t),scope:`global`,detectPath:(e,t)=>l(t??b(),`.openclaw`),offerOnlyWhenDetected:!0},pi:{id:`pi`,label:S.pi,configPath:()=>{throw Error("Pi has no user-global MCP config; OK's integration is the project-scoped bridge extension at .pi/extensions/open-knowledge.ts (run `ok init` in the project).")},format:`file`,topLevelKey:`mcpServers`,serverName:()=>e,buildEntry:()=>{throw Error(`Pi has no MCP entry shape; the managed bridge file is built by buildPiExtensionSource (integrations/pi-extension.ts).`)},scope:`project`,detectPath:(e,t)=>se({home:t}),projectConfigPath:e=>l(e,`.pi`,`extensions`,`open-knowledge.ts`),projectSkillPath:e=>l(e,`.pi`,`skills`,`open-knowledge`,`SKILL.md`)},antigravity:{id:`antigravity`,label:S.antigravity,configPath:(e,t)=>ce({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>e,buildEntry:(e,t)=>N(t),scope:`global`,detectPath:(e,t)=>l(t??b(),`.gemini`),offerOnlyWhenDetected:!0},"lm-studio":{id:`lm-studio`,label:S[`lm-studio`],configPath:(e,t)=>Y({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>e,buildEntry:(e,t)=>N(t),scope:`global`,detectPath:(e,t)=>s(Y({home:t})),offerOnlyWhenDetected:!0},hermes:{id:`hermes`,label:S.hermes,configPath:(e,t)=>oe({home:t}),format:`yaml`,topLevelKey:`mcp_servers`,serverName:()=>e,buildEntry:(e,t)=>N(t),scope:`global`,detectPath:(e,t)=>l(t??b(),`.hermes`),offerOnlyWhenDetected:!0}};function ue(e){let t=e.filter(e=>!Object.hasOwn(X,e));if(t.length>0)throw Error(`Unknown editor(s): ${t.join(`, `)}. Valid options: ${x.join(`, `)}`);return e.map(e=>X[e])}function Z(e,t){let n;try{n=g(e)}catch(e){if(e.code!==`ENOENT`)throw e}if(n?.isSymbolicLink())throw Error(`Refusing to write through a symbolic link at ${e}. Remove the symlink and re-run project setup.`);Q(e,t)}function de(e,t){Q(e,t)}function Q(e,t){let n;try{n=_(t)}catch{n=d(t)}let r=s(e);for(;r.length>1&&r!==f;){let t;try{t=_(r)}catch(e){if(e.code===`ENOENT`){r=s(r);continue}throw e}let i=ee(n,t);if(i===``||!i.startsWith(`..`)&&!c(i))return;throw Error(`Refusing to write at ${e}: ancestor ${r} resolves to ${t}, which is outside the project directory ${n}. A symbolic link in the path likely escapes the project. Remove the symlink and re-run project setup.`)}}function $(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function fe(e,t,n){try{if(y(n).size>10485760)return!1}catch{return!1}let r;try{r=ne(n,`utf-8`)}catch{return!1}let a=[],o=i(r.charCodeAt(0)===65279?r.slice(1):r,a,{allowTrailingComma:!0,disallowComments:!1});if(a.length>0||!$(o))return!1;let s=o[e.topLevelKey];if(!$(s))return!1;let c=e.serverMapSubKey?s[e.serverMapSubKey]:s;return $(c)?$(c[e.serverName(t)]):!1}function pe(e,t,n={}){if(e.id!==`copilot`)return!0;try{return fe(e,t,e.configPath(t,n.home))}catch{return!1}}function me(e,t,n={}){let r=e.projectSkillPath?.(t);if(!r)return{editorId:e.id,label:e.label,action:`skipped-unsupported`,path:``};if(!pe(e,t,n))return{editorId:e.id,label:e.label,action:`skipped-prerequisite`,path:r};try{let n=a(`project`,{checkDesktop:!0}),i=s(r);Z(i,t);let o=h(r)?`overwritten`:`written`;return v(i,{recursive:!0,force:!0}),te(s(i),{recursive:!0}),m(n,i,{recursive:!0}),{editorId:e.id,label:e.label,action:o,path:r}}catch(t){return{editorId:e.id,label:e.label,action:`failed`,path:r,error:t instanceof Error?t.message:String(t)}}}export{ue as _,S as a,O as c,N as d,L as f,B as g,R as h,x as i,k as l,re as m,de as n,X as o,j as p,me as r,C as s,Z as t,A as u};
|
|
38
|
-
//# sourceMappingURL=write-project-skill-
|
|
38
|
+
//# sourceMappingURL=write-project-skill-BklBDWC_.mjs.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inkeep/open-knowledge",
|
|
3
|
-
"version": "0.51.
|
|
3
|
+
"version": "0.51.5",
|
|
4
4
|
"license": "GPL-3.0-or-later",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|
|
@@ -62,10 +62,10 @@
|
|
|
62
62
|
"ajv-formats": "^3.0.1",
|
|
63
63
|
"tsdown": "^0.21.7",
|
|
64
64
|
"typescript": "^5.9.3",
|
|
65
|
-
"@inkeep/open-knowledge-
|
|
66
|
-
"@inkeep/open-knowledge-
|
|
67
|
-
"@inkeep/open-knowledge-server": "0.51.
|
|
68
|
-
"@inkeep/open-knowledge-
|
|
65
|
+
"@inkeep/open-knowledge-native-config": "0.0.0",
|
|
66
|
+
"@inkeep/open-knowledge-app": "0.51.5",
|
|
67
|
+
"@inkeep/open-knowledge-server": "0.51.5",
|
|
68
|
+
"@inkeep/open-knowledge-core": "0.51.5"
|
|
69
69
|
},
|
|
70
70
|
"scripts": {
|
|
71
71
|
"build:cli": "rm -rf dist && tsdown",
|
package/dist/init-D0U_jK5Z.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g as e}from"./init-C_Eq7NlD.mjs";export{e as runInit};
|
package/dist/loader-5KuoWuny.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./loader-BOor2v6a.mjs";export{e as loadConfig};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,t}from"./preview-DstfEksF.mjs";export{t as formatPreviewBlock,e as previewContent};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-CYidjpOJ.js";import{t}from"./jsx-runtime-BUgB2tll.js";import{a as n,o as r}from"./DocumentContext-BjC0hGTM.js";import{t as i}from"./react-f2sANaYj.js";import{n as a,r as o}from"./dist-Nvb76hAm.js";import{t as s}from"./compiler-runtime-BfE3aGVn.js";import{t as c}from"./button-CA0dewJJ.js";import{i as l,n as u,t as d}from"./tooltip-DHXgxWLL.js";import{a as f,c as p,i as m,o as h,s as g,t as _}from"./dialog-DVmOCCjy.js";import{t as v}from"./dist-DoS8xGN6.js";import{n as y}from"./dist-BLaUOTRG.js";import{c as b}from"./Mermaid-DRkWFp4B.js";import{r as x}from"./CopyButton-ZwWbjArY.js";import{i as S}from"./prop-types-BGodD0gJ.js";import{t as C}from"./spinner-D7fgqgRw.js";import{t as w}from"./undo-2-D5cqFzyJ.js";import{c as T}from"./navigation-targets-D1c78Tgj.js";import{a as E,i as D,n as O,o as k,t as A}from"./agent-diff-store-CiNC0ek3.js";import{t as j}from"./timeline-diff-store-cCBpDgND.js";import{n as M}from"./use-activity-panel-Bb0h8yLJ.js";var N=s(),P=e(i(),1),F=t();function I(e,t){let n=Math.max(0,t-e);if(n<6e4){let e=Math.round(n/1e3);return v._({id:`pbwTg6`,values:{seconds:e}})}if(n<36e5){let e=Math.round(n/6e4);return v._({id:`_rP3HI`,values:{minutes:e}})}return new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function ee(e){let t=(0,N.c)(86),{burst:n,docName:r,editCount:i,sessionAlive:s,inFlight:v,onOpenDiff:y,onRestore:b}=e,{_:x}=o(),[S,T]=(0,P.useState)(te),D,O;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(D=()=>{let e=setInterval(()=>T(Date.now()),3e4);return()=>clearInterval(e)},O=[],t[0]=D,t[1]=O):(D=t[0],O=t[1]),(0,P.useEffect)(D,O);let[k,A]=(0,P.useState)(!1),j=E(),M=n.stackIndex+1,ee=j?.docName===r&&j.keptCount===M,L=i-M,ne=!s||v||L<=0,re;t[2]!==L||t[3]!==b?(re=function(){A(!1),b(L)},t[2]=L,t[3]=b,t[4]=re):re=t[4];let ie=re,R;t[5]!==n||t[6]!==y?(R=()=>y(n),t[5]=n,t[6]=y,t[7]=R):R=t[7];let z;t[8]!==x||t[9]!==M||t[10]!==r?(z=x({id:`Z79bnE`,values:{burstNumber:M,docName:r}}),t[8]=x,t[9]=M,t[10]=r,t[11]=z):z=t[11];let ae=ee?`bg-muted`:`hover:bg-muted/40`,oe;t[12]===ae?oe=t[13]:(oe=[`flex min-w-0 flex-1 items-center gap-2 px-4 py-1.5 text-xs text-muted-foreground transition-colors`,ae],t[12]=ae,t[13]=oe);let se=oe.join(` `),B;t[14]!==n.ts||t[15]!==S?(B=I(n.ts,S),t[14]=n.ts,t[15]=S,t[16]=B):B=t[16];let V;t[17]===B?V=t[18]:(V=(0,F.jsx)(`span`,{className:`font-mono`,children:B}),t[17]=B,t[18]=V);let H;t[19]===n.additions?H=t[20]:(H=(0,F.jsxs)(`span`,{className:`text-green-600 dark:text-green-400`,children:[`+`,n.additions]}),t[19]=n.additions,t[20]=H);let U;t[21]===n.deletions?U=t[22]:(U=(0,F.jsxs)(`span`,{className:`text-red-600 dark:text-red-400`,children:[`−`,n.deletions]}),t[21]=n.deletions,t[22]=U);let W;t[23]!==H||t[24]!==U?(W=(0,F.jsxs)(`span`,{className:`ml-auto font-mono`,children:[H,` `,U]}),t[23]=H,t[24]=U,t[25]=W):W=t[25];let G;t[26]!==ee||t[27]!==V||t[28]!==W||t[29]!==R||t[30]!==z||t[31]!==se?(G=(0,F.jsxs)(`button`,{type:`button`,onClick:R,"aria-pressed":ee,"aria-label":z,"data-testid":`activity-panel-burst-open`,className:se,children:[V,W]}),t[26]=ee,t[27]=V,t[28]=W,t[29]=R,t[30]=z,t[31]=se,t[32]=G):G=t[32];let ce;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,F.jsx)(`span`,{"aria-hidden":`true`,className:`mx-1.5 h-3 w-px shrink-0 bg-border`}),t[33]=ce):ce=t[33];let K;t[34]!==x||t[35]!==M||t[36]!==r?(K=x({id:`Zhe80e`,values:{burstNumber:M,docName:r}}),t[34]=x,t[35]=M,t[36]=r,t[37]=K):K=t[37];let le;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(le=()=>A(!0),t[38]=le):le=t[38];let q;t[39]===v?q=t[40]:(q=v?(0,F.jsx)(C,{className:`size-3`,"aria-hidden":`true`}):(0,F.jsx)(w,{className:`size-3`,"aria-hidden":`true`}),t[39]=v,t[40]=q);let J;t[41]!==ne||t[42]!==K||t[43]!==q?(J=(0,F.jsx)(l,{asChild:!0,children:(0,F.jsx)(c,{type:`button`,variant:`ghost`,size:`icon`,className:`size-6 shrink-0 text-muted-foreground hover:text-destructive`,"data-testid":`activity-panel-burst-restore`,"aria-label":K,disabled:ne,onClick:le,children:q})}),t[41]=ne,t[42]=K,t[43]=q,t[44]=J):J=t[44];let Y;t[45]!==x||t[46]!==L||t[47]!==s?(Y=x(s?L>0?{id:`SOPwPh`}:{id:`62bOuM`}:{id:`NzFvyK`}),t[45]=x,t[46]=L,t[47]=s,t[48]=Y):Y=t[48];let X;t[49]===Y?X=t[50]:(X=(0,F.jsx)(u,{side:`left`,children:Y}),t[49]=Y,t[50]=X);let Z;t[51]!==J||t[52]!==X?(Z=(0,F.jsxs)(d,{children:[J,X]}),t[51]=J,t[52]=X,t[53]=Z):Z=t[53];let Q;t[54]!==G||t[55]!==Z?(Q=(0,F.jsxs)(`div`,{className:`flex items-center border-t border-border/50 pr-3`,children:[G,ce,Z]}),t[54]=G,t[55]=Z,t[56]=Q):Q=t[56];let ue;t[57]===v?ue=t[58]:(ue=e=>{!e&&!v?A(!1):e&&A(!0)},t[57]=v,t[58]=ue);let de;t[59]===x?de=t[60]:(de=x({id:`a4FRQv`}),t[59]=x,t[60]=de);let fe;t[61]===de?fe=t[62]:(fe=(0,F.jsx)(p,{children:de}),t[61]=de,t[62]=fe);let pe;t[63]===L?pe=t[64]:(pe=(0,F.jsx)(f,{children:(0,F.jsx)(a,{id:`LKIPzv`,values:{laterEdits:L}})}),t[63]=L,t[64]=pe);let $;t[65]!==fe||t[66]!==pe?($=(0,F.jsxs)(g,{children:[fe,pe]}),t[65]=fe,t[66]=pe,t[67]=$):$=t[67];let me;t[68]===Symbol.for(`react.memo_cache_sentinel`)?(me=(0,F.jsx)(c,{variant:`outline`,"data-testid":`activity-panel-burst-restore-cancel`,onClick:()=>A(!1),children:(0,F.jsx)(a,{id:`dEgA5A`})}),t[68]=me):me=t[68];let he;t[69]===v?he=t[70]:(he=v?(0,F.jsx)(C,{className:`mr-2 size-4`,"aria-hidden":`true`}):null,t[69]=v,t[70]=he);let ge;t[71]===Symbol.for(`react.memo_cache_sentinel`)?(ge=(0,F.jsx)(a,{id:`9uI_rE`}),t[71]=ge):ge=t[71];let _e;t[72]!==ie||t[73]!==v||t[74]!==he?(_e=(0,F.jsxs)(h,{children:[me,(0,F.jsxs)(c,{variant:`destructive`,"data-testid":`activity-panel-burst-restore-confirm`,disabled:v,onClick:ie,children:[he,ge]})]}),t[72]=ie,t[73]=v,t[74]=he,t[75]=_e):_e=t[75];let ve;t[76]!==$||t[77]!==_e?(ve=(0,F.jsxs)(m,{children:[$,_e]}),t[76]=$,t[77]=_e,t[78]=ve):ve=t[78];let ye;t[79]!==k||t[80]!==ue||t[81]!==ve?(ye=(0,F.jsx)(_,{open:k,onOpenChange:ue,children:ve}),t[79]=k,t[80]=ue,t[81]=ve,t[82]=ye):ye=t[82];let be;return t[83]!==Q||t[84]!==ye?(be=(0,F.jsxs)(F.Fragment,{children:[Q,ye]}),t[83]=Q,t[84]=ye,t[85]=be):be=t[85],be}function te(){return Date.now()}function L(e,t){let n=Math.max(0,t-e);if(n<6e4){let e=Math.round(n/1e3);return v._({id:`pbwTg6`,values:{seconds:e}})}if(n<36e5){let e=Math.round(n/6e4);return v._({id:`_rP3HI`,values:{minutes:e}})}let r=Math.round(n/36e5);return v._({id:`nYeBmY`,values:{hours:r}})}function ne(e){let t=(0,N.c)(56),{file:n,sessionAlive:r,isWriting:i,onNavigate:s,onUndoDrop:c,onSetVersion:l}=e,{_:u}=o(),{docName:d}=n,[f,p]=(0,P.useState)(!1),[m,h]=(0,P.useState)(re),g,_;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>{let e=setInterval(()=>h(Date.now()),3e4);return()=>clearInterval(e)},_=[],t[0]=g,t[1]=_):(g=t[0],_=t[1]),(0,P.useEffect)(g,_);let v=n.bursts.length,y;t[2]!==n.docName||t[3]!==c||t[4]!==r||t[5]!==f?(y=e=>{e<=0||!r||f||(p(!0),Promise.resolve(c(n.docName,e)).finally(()=>{p(!1),A()}))},t[2]=n.docName,t[3]=c,t[4]=r,t[5]=f,t[6]=y):y=t[6];let b=y;if(n.bursts.length===0)return null;let x;t[7]!==n.docName||t[8]!==s?(x=()=>s(n.docName),t[7]=n.docName,t[8]=s,t[9]=x):x=t[9];let S;t[10]!==u||t[11]!==d?(S=u({id:`QcpeeE`,values:{docName:d}}),t[10]=u,t[11]=d,t[12]=S):S=t[12];let C;t[13]!==n.docName||t[14]!==x||t[15]!==S?(C=(0,F.jsx)(`button`,{type:`button`,onClick:x,className:`min-w-0 flex-1 truncate text-left text-foreground hover:underline focus-visible:outline-ring`,"aria-label":S,"data-testid":`activity-panel-file-row-filename`,title:n.docName,children:n.docName}),t[13]=n.docName,t[14]=x,t[15]=S,t[16]=C):C=t[16];let w;t[17]===n.additionsTotal?w=t[18]:(w=(0,F.jsxs)(`span`,{className:`text-green-600 dark:text-green-400`,children:[`+`,n.additionsTotal]}),t[17]=n.additionsTotal,t[18]=w);let T;t[19]===n.deletionsTotal?T=t[20]:(T=(0,F.jsxs)(`span`,{className:`text-red-600 dark:text-red-400`,children:[`−`,n.deletionsTotal]}),t[19]=n.deletionsTotal,t[20]=T);let E;t[21]!==w||t[22]!==T?(E=(0,F.jsxs)(`span`,{className:`shrink-0 font-mono text-xs`,children:[w,` `,T]}),t[21]=w,t[22]=T,t[23]=E):E=t[23];let D;t[24]!==n.lastTs||t[25]!==m?(D=L(n.lastTs,m),t[24]=n.lastTs,t[25]=m,t[26]=D):D=t[26];let O;t[27]===D?O=t[28]:(O=(0,F.jsx)(`span`,{className:`shrink-0 font-mono text-[11px] text-muted-foreground`,children:D}),t[27]=D,t[28]=O);let k;t[29]===i?k=t[30]:(k=i?(0,F.jsx)(`span`,{className:`shrink-0 text-[11px] text-primary animate-pulse`,role:`status`,children:(0,F.jsx)(a,{id:`6q0rnH`})}):null,t[29]=i,t[30]=k);let j;t[31]!==O||t[32]!==k||t[33]!==C||t[34]!==E?(j=(0,F.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2 text-sm`,children:[C,E,O,k]}),t[31]=O,t[32]=k,t[33]=C,t[34]=E,t[35]=j):j=t[35];let M;if(t[36]!==b||t[37]!==v||t[38]!==n.bursts||t[39]!==n.docName||t[40]!==l||t[41]!==r||t[42]!==f){let e;t[44]!==b||t[45]!==v||t[46]!==n.docName||t[47]!==l||t[48]!==r||t[49]!==f?(e=e=>(0,F.jsx)(ee,{burst:e,docName:n.docName,editCount:v,sessionAlive:r,inFlight:f,onOpenDiff:e=>l(e.stackIndex+1),onRestore:b},`${n.docName}:${e.stackIndex}`),t[44]=b,t[45]=v,t[46]=n.docName,t[47]=l,t[48]=r,t[49]=f,t[50]=e):e=t[50],M=n.bursts.map(e),t[36]=b,t[37]=v,t[38]=n.bursts,t[39]=n.docName,t[40]=l,t[41]=r,t[42]=f,t[43]=M}else M=t[43];let I;t[51]===M?I=t[52]:(I=(0,F.jsx)(`div`,{children:M}),t[51]=M,t[52]=I);let te;return t[53]!==j||t[54]!==I?(te=(0,F.jsxs)(`div`,{className:`border-b border-border`,"data-testid":`activity-panel-file-row`,children:[j,I]}),t[53]=j,t[54]=I,t[55]=te):te=t[55],te}function re(){return Date.now()}async function ie(e){let t=await fetch(`/api/agent-undo`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({...e,agentId:e.connectionId})});if(!t.ok)throw Error(`agent-undo failed: HTTP ${t.status}`)}function R(e){return`#/${e.split(`/`).map(e=>encodeURIComponent(e)).join(`/`)}`}function z(e){typeof window>`u`||(window.location.hash=R(e))}function ae(){let e=(0,N.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,F.jsx)(C,{className:`mr-2 size-4`,"aria-hidden":`true`}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,F.jsxs)(`div`,{className:`flex h-full items-center justify-center p-6 text-muted-foreground`,role:`status`,"aria-busy":`true`,children:[t,(0,F.jsx)(`span`,{className:`text-sm`,children:(0,F.jsx)(a,{id:`ONPvOb`})})]}),e[1]=n):n=e[1],n}function oe(e){let t=(0,N.c)(10),{error:n,onRetry:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,F.jsx)(x,{className:`size-6 text-destructive`,"aria-hidden":`true`}),t[0]=i):i=t[0];let o;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,F.jsx)(`p`,{className:`text-sm font-medium`,children:(0,F.jsx)(a,{id:`DhLHEb`})}),t[1]=o):o=t[1];let s;t[2]===n?s=t[3]:(s=(0,F.jsxs)(`div`,{className:`space-y-1`,children:[o,(0,F.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:n})]}),t[2]=n,t[3]=s);let l;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,F.jsx)(a,{id:`6gRgw8`}),t[4]=l):l=t[4];let u;t[5]===r?u=t[6]:(u=(0,F.jsx)(c,{type:`button`,variant:`outline`,size:`sm`,onClick:r,children:l}),t[5]=r,t[6]=u);let d;return t[7]!==s||t[8]!==u?(d=(0,F.jsxs)(`div`,{className:`flex flex-col items-center gap-3 p-6 text-center`,role:`alert`,"data-testid":`activity-panel-error`,children:[i,s,u]}),t[7]=s,t[8]=u,t[9]=d):d=t[9],d}function se(){let e=(0,N.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,F.jsx)(`div`,{className:`flex h-full items-center justify-center p-6 text-muted-foreground`,"data-testid":`activity-panel-empty`,children:(0,F.jsx)(`p`,{className:`text-sm italic`,children:(0,F.jsx)(a,{id:`iuTKci`})})}),e[0]=t):t=e[0],t}function B(e){let t=(0,N.c)(12),{onExit:n,showBackButton:r}=e,{_:i}=o(),s;t[0]===i?s=t[1]:(s=i({id:`kYL1lH`}),t[0]=i,t[1]=s);let c;t[2]!==n||t[3]!==r?(c=r?(0,F.jsx)(V,{onClick:n}):null,t[2]=n,t[3]=r,t[4]=c):c=t[4];let l;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,F.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:(0,F.jsx)(a,{id:`kYL1lH`})}),t[5]=l):l=t[5];let u;t[6]===c?u=t[7]:(u=(0,F.jsxs)(`div`,{className:`flex shrink-0 flex-row items-center gap-2 border-b border-border px-3 py-2`,children:[c,l]}),t[6]=c,t[7]=u);let d;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,F.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-6 text-muted-foreground`,children:(0,F.jsx)(`p`,{className:`text-center text-sm italic`,children:(0,F.jsx)(a,{id:`D_WKe_`})})}),t[8]=d):d=t[8];let f;return t[9]!==s||t[10]!==u?(f=(0,F.jsxs)(`section`,{className:`flex h-full min-h-0 flex-col`,"data-testid":`activity-panel-no-agent`,"aria-label":s,children:[u,d]}),t[9]=s,t[10]=u,t[11]=f):f=t[11],f}function V(e){let t=(0,N.c)(9),{onClick:n}=e,{_:r}=o(),i;t[0]===r?i=t[1]:(i=r({id:`ogAuyr`}),t[0]=r,t[1]=i);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,F.jsx)(b,{}),t[2]=s):s=t[2];let f;t[3]!==n||t[4]!==i?(f=(0,F.jsx)(l,{asChild:!0,children:(0,F.jsx)(c,{type:`button`,variant:`ghost`,size:`icon`,className:`size-7 shrink-0`,onClick:n,"aria-label":i,"data-testid":`docpanel-exit-agent-mode`,children:s})}),t[3]=n,t[4]=i,t[5]=f):f=t[5];let p;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,F.jsx)(u,{side:`bottom`,children:(0,F.jsx)(a,{id:`ogAuyr`})}),t[6]=p):p=t[6];let m;return t[7]===f?m=t[8]:(m=(0,F.jsxs)(d,{children:[f,p]}),t[7]=f,t[8]=m),m}function H(e){let t=(0,N.c)(9),{lastTs:n}=e,[r]=(0,P.useState)(U),i;t[0]!==n||t[1]!==r?(i=n?W(r-n):null,t[0]=n,t[1]=r,t[2]=i):i=t[2];let o=i,s;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,F.jsx)(`span`,{className:`font-medium`,children:(0,F.jsx)(a,{id:`LCUy_N`})}),t[3]=s):s=t[3];let c;t[4]===o?c=t[5]:(c=o?(0,F.jsxs)(`span`,{children:[` · `,o]}):null,t[4]=o,t[5]=c);let l;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,F.jsx)(`div`,{className:`mt-1 opacity-80`,children:(0,F.jsx)(a,{id:`GK-IRZ`})}),t[6]=l):l=t[6];let u;return t[7]===c?u=t[8]:(u=(0,F.jsxs)(`div`,{className:`border-b border-border bg-muted/40 px-4 py-3 text-xs text-muted-foreground`,"data-testid":`activity-panel-session-ended`,children:[s,c,l]}),t[7]=c,t[8]=u),u}function U(){return Date.now()}function W(e){let t=Math.max(0,e);if(t<6e4){let e=Math.round(t/1e3);return v._({id:`pbwTg6`,values:{seconds:e}})}if(t<36e5){let e=Math.round(t/6e4);return v._({id:`_rP3HI`,values:{minutes:e}})}let n=Math.round(t/36e5);return v._({id:`nYeBmY`,values:{hours:n}})}function G(e){let t=(0,N.c)(10),{agent:n,size:r}=e,i=r===void 0?28:r,a;t[0]!==n.color||t[1]!==i?(a={backgroundColor:n.color,width:i,height:i},t[0]=n.color,t[1]=i,t[2]=a):a=t[2];let o=i*.57,s=i*.57,c;t[3]!==n.icon||t[4]!==o||t[5]!==s?(c=(0,F.jsx)(k,{icon:n.icon,width:o,height:s}),t[3]=n.icon,t[4]=o,t[5]=s,t[6]=c):c=t[6];let l;return t[7]!==a||t[8]!==c?(l=(0,F.jsx)(`span`,{className:`inline-flex shrink-0 items-center justify-center rounded-full text-white ring-2 ring-background`,style:a,"aria-hidden":`true`,children:c}),t[7]=a,t[8]=c,t[9]=l):l=t[9],l}function ce(e){let t=(0,N.c)(25),{data:n,status:r,error:i,reload:s,onExit:c,onNavigate:l,onUndoDrop:u,onSetVersion:d,showBackButton:f}=e,{_:p}=o(),m=n?.files?.[0]?.lastTs??null,h=n?.files?.length??0,g;t[0]===p?g=t[1]:(g=p({id:`kYL1lH`}),t[0]=p,t[1]=g);let _;t[2]!==c||t[3]!==f?(_=f?(0,F.jsx)(V,{onClick:c}):null,t[2]=c,t[3]=f,t[4]=_):_=t[4];let v;t[5]!==n||t[6]!==h||t[7]!==m?(v=n?.agent?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(G,{agent:n.agent}),(0,F.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,F.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:n.agent.displayName}),(0,F.jsxs)(`p`,{className:`truncate text-xs text-muted-foreground`,children:[n.sessionAlive?(0,F.jsx)(a,{id:`F6pfE9`}):m===null?(0,F.jsx)(a,{id:`PMyJ9C`}):(0,F.jsx)(a,{id:`237hSL`}),n.files.length>0?(0,F.jsxs)(F.Fragment,{children:[` · `,(0,F.jsx)(a,{id:`u3BOHd`,values:{fileCount:h}})]}):null]})]})]}):(0,F.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,F.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:(0,F.jsx)(a,{id:`kYL1lH`})})}),t[5]=n,t[6]=h,t[7]=m,t[8]=v):v=t[8];let y;t[9]!==_||t[10]!==v?(y=(0,F.jsxs)(`div`,{className:`flex flex-row items-center gap-2 border-b border-border px-3 py-2 shrink-0`,children:[_,v]}),t[9]=_,t[10]=v,t[11]=y):y=t[11];let b;t[12]!==n||t[13]!==i||t[14]!==m||t[15]!==l||t[16]!==d||t[17]!==u||t[18]!==s||t[19]!==r?(b=(0,F.jsx)(`div`,{className:`flex-1 overflow-y-auto`,"data-testid":`activity-panel-body`,children:r===`loading`&&n===null?(0,F.jsx)(ae,{}):r===`error`&&i?(0,F.jsx)(oe,{error:i,onRetry:s}):n===null?(0,F.jsx)(se,{}):(0,F.jsxs)(F.Fragment,{children:[!n.sessionAlive&&m!==null?(0,F.jsx)(H,{lastTs:m}):null,n.files.length===0?(0,F.jsx)(se,{}):n.files.map(e=>(0,F.jsx)(ne,{file:e,sessionAlive:n.sessionAlive,isWriting:n.writingDocs.has(e.docName),onNavigate:l,onUndoDrop:u,onSetVersion:t=>d(e,t)},e.docName))]})}),t[12]=n,t[13]=i,t[14]=m,t[15]=l,t[16]=d,t[17]=u,t[18]=s,t[19]=r,t[20]=b):b=t[20];let x;return t[21]!==g||t[22]!==y||t[23]!==b?(x=(0,F.jsxs)(`section`,{className:`flex h-full min-h-0 flex-col`,"data-testid":`activity-panel`,"aria-label":g,children:[y,b]}),t[21]=g,t[22]=y,t[23]=b,t[24]=x):x=t[24],x}function K(e){let t=(0,N.c)(30),i;t[0]===e?i=t[1]:(i=e===void 0?{}:e,t[0]=e,t[1]=i);let{showBackButton:a}=i,s=a===void 0?!0:a,{_:c}=o(),{docPanelAgentId:l,closeActivityPanel:u}=n(),{openTargetTransition:d}=r(),{pageMeta:f}=S(),{data:p,status:m,error:h,reload:g}=M(l),_,v;if(t[2]!==p||t[3]!==l?(_=()=>{if(!(!p||l===null))for(let e of p.files)D(l,e.docName,e.bursts.length)},v=[p,l],t[2]=p,t[3]=l,t[4]=_,t[5]=v):(_=t[4],v=t[5]),(0,P.useEffect)(_,v),l===null){let e;return t[6]!==u||t[7]!==s?(e=(0,F.jsx)(B,{onExit:u,showBackButton:s}),t[6]=u,t[7]=s,t[8]=e):e=t[8],e}let b;t[9]!==d||t[10]!==f?(b=e=>{d(T({kind:`doc`,target:e,docName:e},f),{disposition:`permanent`,consumeActiveNewTab:!0}),z(e)},t[9]=d,t[10]=f,t[11]=b):b=t[11];let x=b,C;t[12]!==p||t[13]!==l?(C=(e,t)=>{if(!p?.agent||l===null)return;j();let n=e.bursts.length;O({agentId:l,agentName:p.agent.displayName,agentColor:p.agent.color,agentIcon:p.agent.icon,docName:e.docName,keptCount:Math.max(0,Math.min(t,n)),maxVersions:n})},t[12]=p,t[13]=l,t[14]=C):C=t[14];let w=C,E;t[15]!==c||t[16]!==p||t[17]!==l||t[18]!==g?(E=async(e,t)=>{if(!(t<=0))try{await ie({connectionId:l,docName:e,scope:`count`,count:t,agentName:p?.agent?.displayName}),y.success(c(t===1?{id:`-dNlfM`,values:{docName:e}}:{id:`ApeA0n`,values:{dropCount:t,docName:e}})),g()}catch(e){let t=e,n=t instanceof Error?t.message:String(t);y.error(c({id:`EqrC_R`,values:{message:n}})),g()}},t[15]=c,t[16]=p,t[17]=l,t[18]=g,t[19]=E):E=t[19];let k=E,A;return t[20]!==u||t[21]!==p||t[22]!==h||t[23]!==x||t[24]!==w||t[25]!==k||t[26]!==g||t[27]!==s||t[28]!==m?(A=(0,F.jsx)(ce,{data:p,status:m,error:h,reload:g,onExit:u,onNavigate:x,onUndoDrop:k,onSetVersion:w,showBackButton:s}),t[20]=u,t[21]=p,t[22]=h,t[23]=x,t[24]=w,t[25]=k,t[26]=g,t[27]=s,t[28]=m,t[29]=A):A=t[29],A}export{K as ActivityModeContent};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-CYidjpOJ.js";import{t}from"./jsx-runtime-BUgB2tll.js";import{wn as n}from"./DocumentContext-BjC0hGTM.js";import{t as r}from"./react-f2sANaYj.js";import{n as i,r as a}from"./dist-Nvb76hAm.js";import{t as o}from"./compiler-runtime-BfE3aGVn.js";import{t as s}from"./utils-CPqDy6Hr.js";import{t as c}from"./mascot-outline-CtS592mc.js";import{t as l}from"./button-CA0dewJJ.js";import{i as u,n as d,t as f}from"./tooltip-DHXgxWLL.js";import{a as p,c as ee,i as te,n as ne,o as re,r as m,s as ie}from"./dialog-DVmOCCjy.js";import{p as h,r as g}from"./terminal-cli-display-ZdP29LVN.js";import{La as _}from"./dist-BY1jqfIu2.js";import{t as v}from"./createLucideIcon-6iYxif1u.js";import{t as y}from"./folder-C8rE1Soy.js";import{t as b}from"./spinner-D7fgqgRw.js";var x=t(),S=e(r(),1),C=o(),w=3100,T=3;function E(e,t,n){let r=n?.windowMs??600,i=n?.maxLevel??T;if(e===0||t>=r)return 1;let a=e+1;return a>i?i:a}var D={0:{count:0,startRadius:0,baseDistance:0,distanceVariance:0,sizeMin:0,sizeMax:0,maxDelay:0,durationMin:0,durationMax:0},1:{count:0,startRadius:0,baseDistance:0,distanceVariance:0,sizeMin:0,sizeMax:0,maxDelay:0,durationMin:0,durationMax:0},2:{count:0,startRadius:0,baseDistance:0,distanceVariance:0,sizeMin:0,sizeMax:0,maxDelay:0,durationMin:0,durationMax:0},3:{count:16,startRadius:11,baseDistance:7,distanceVariance:3,sizeMin:.45,sizeMax:1.2,maxDelay:500,durationMin:1100,durationMax:2400}},O=[`var(--color-azure-blue)`,`var(--color-sky-blue)`,`var(--color-violet-300)`,`var(--color-orange-light)`,`var(--color-crystal-blue)`,`var(--color-white-cream)`];function k(e,t={}){let n=t.rng??Math.random,r=t.colors??O,i=D[e];if(i.count===0||r.length===0)return[];let a=[],o=Math.PI*2/i.count;for(let e=0;e<i.count;e++){let t=e*o+(n()-.5)*o*.7,s=i.baseDistance+(n()-.5)*2*i.distanceVariance,c=i.sizeMin+n()*(i.sizeMax-i.sizeMin),l=n()*i.maxDelay,u=i.durationMin+n()*(i.durationMax-i.durationMin),d=Math.floor(n()*r.length),f=Math.cos(t),p=Math.sin(t);a.push({id:e,dx:f*s,dy:p*s,originDx:f*i.startRadius,originDy:p*i.startRadius,size:c,color:r[d]??`currentColor`,delay:l,duration:u})}return a}var A=1.8,j=90,M=16,ae=380,N=.025,P=.1,F=.18,I=400,L=9.2736,oe=18.1799,R=14.5244,z={1:{halfWidth:1.5,apexLift:2.2},2:{halfWidth:1.4,apexLift:2.6},3:{halfWidth:1.25,apexLift:3}};function se(e,t){let{halfWidth:n,apexLift:r}=z[t];return`M${e-n} ${R+.3} Q${e} ${R-r}, ${e+n} ${R+.3}`}function ce(e){let t=1.5,n=.3;return`M${e-t} ${R-n} Q${e} ${R+1.4}, ${e+t} ${R-n}`}var le=15,ue=15;function de(e){return{fill:e.color,"--fx-tx":`${e.dx}px`,"--fx-ty":`${e.dy}px`,"--fx-delay":`${e.delay}ms`,"--fx-duration":`${e.duration}ms`}}function fe(e){let t=(0,C.c)(73),{size:n,className:r,style:i,trackMouse:a,variant:o,celebrateSignal:l,onRage:u}=e,d=n===void 0?48:n,f=a===void 0?!0:a,p=o===void 0?`default`:o,ee=l===void 0?0:l,te=(0,S.useRef)(null),ne=(0,S.useRef)(null),re=(0,S.useRef)(null),m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m={x:0,y:0},t[0]=m):m=t[0];let ie=(0,S.useRef)(m),[h,g]=(0,S.useState)(0),[_,v]=(0,S.useState)(0),y;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(y=[],t[1]=y):y=t[1];let[b,T]=(0,S.useState)(y),D=(0,S.useRef)(0),O=(0,S.useRef)(void 0),z=p===`sleeping`,le;t[2]!==h||t[3]!==z||t[4]!==u?(le=function(){if(z)return;let e=typeof performance<`u`&&typeof performance.now==`function`?performance.now():Date.now(),t=D.current===0?1/0:e-D.current;D.current=e;let n=E(h,t);n===3&&u?.(),g(n),v(ge),T(k(n)),clearTimeout(O.current),O.current=setTimeout(()=>{g(0),T([])},w)},t[2]=h,t[3]=z,t[4]=u,t[5]=le):le=t[5];let ue=le,de,fe;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(de=()=>()=>clearTimeout(O.current),fe=[],t[6]=de,t[7]=fe):(de=t[6],fe=t[7]),(0,S.useEffect)(de,fe);let _e,ve;t[8]!==ee||t[9]!==z?(_e=()=>{ee===0||z||(g(3),v(he),T(k(3)),clearTimeout(O.current),O.current=setTimeout(()=>{g(0),T([])},w))},ve=[ee,z],t[8]=ee,t[9]=z,t[10]=_e,t[11]=ve):(_e=t[10],ve=t[11]),(0,S.useEffect)(_e,ve);let B,V;t[12]!==z||t[13]!==f?(B=()=>{if(!f||z||window.matchMedia(`(prefers-reduced-motion: reduce)`).matches)return;let e=0,t=0,n=!1,r=0,i=0,a=0,o=0,s=0,c=function(){s===0&&(s=requestAnimationFrame(u))},l=function(r){e=r.clientX,t=r.clientY,n=!0,c()};function u(){s=0;let l=ne.current,u=te.current;if(!l||!u){c();return}let d=n;n=!1;let f=l.getBoundingClientRect(),p=f.left+f.width/2,ee=f.top+f.height*.48,m=e-p,h=t-ee,g=Math.hypot(m,h),_=Math.max(-1,Math.min(1,m/ae)),v=-Math.max(-1,Math.min(1,h/ae))*M,y=_*M,b=0,x=0;if(g>=1){let e=Math.min(g/j,1)*A;b=m/g*e,x=h/g*e}let S=Math.abs(v-r)<.01&&Math.abs(y-i)<.01&&Math.abs(b-a)<.01&&Math.abs(x-o)<.01;if(!d&&S)return;c(),r+=(v-r)*P,i+=(y-i)*P,u.style.transform=`perspective(${I}px) rotateX(${r.toFixed(3)}deg) rotateY(${i.toFixed(3)}deg)`,a+=(b-a)*F,o+=(x-o)*F;let C=i*N,w=-r*N,T=a+C,E=o+w;ie.current.x=T,ie.current.y=E,re.current?.setAttribute(`transform`,`translate(${T.toFixed(3)} ${E.toFixed(3)})`)}return document.addEventListener(`mousemove`,l,{passive:!0}),c(),()=>{document.removeEventListener(`mousemove`,l),s!==0&&cancelAnimationFrame(s),s=0,te.current&&(te.current.style.transform=``),ie.current={x:0,y:0},re.current?.removeAttribute(`transform`)}},V=[f,z],t[12]=z,t[13]=f,t[14]=B,t[15]=V):(B=t[14],V=t[15]),(0,S.useEffect)(B,V);let ye;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(ye=()=>{let e=re.current;if(!e)return;let{x:t,y:n}=ie.current;e.setAttribute(`transform`,`translate(${t.toFixed(3)} ${n.toFixed(3)})`)},t[16]=ye):ye=t[16],(0,S.useLayoutEffect)(ye);let H=h>0,U=H?h:1,be=H?`ok-blob-clicked-${h}`:null,W;t[17]===r?W=t[18]:(W=s(`ok-blob-3d-wrapper`,r),t[17]=r,t[18]=W);let xe=z?`cursor-default`:`cursor-pointer`,Se=`body-${_}`,Ce=z&&`ok-blob-sleeping`,G;t[19]!==be||t[20]!==Ce?(G=s(`ok-blob-group`,Ce,be),t[19]=be,t[20]=Ce,t[21]=G):G=t[21];let we;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(we=(0,x.jsx)(`path`,{d:c,className:`ok-blob-body`}),t[22]=we):we=t[22];let Te=(H||z)&&`ok-blob-eye-hidden`,K;t[23]===Te?K=t[24]:(K=s(`ok-blob-eye`,Te),t[23]=Te,t[24]=K);let q;t[25]===K?q=t[26]:(q=(0,x.jsx)(`ellipse`,{cx:L,cy:R,rx:1.2722,ry:1.9083,className:K}),t[25]=K,t[26]=q);let Ee=(H||z)&&`ok-blob-eye-hidden`,J;t[27]===Ee?J=t[28]:(J=s(`ok-blob-eye ok-blob-eye-right`,Ee),t[27]=Ee,t[28]=J);let Y;t[29]===J?Y=t[30]:(Y=(0,x.jsx)(`ellipse`,{cx:oe,cy:R,rx:1.2722,ry:1.9083,className:J}),t[29]=J,t[30]=Y);let X;t[31]===U?X=t[32]:(X=se(L,U),t[31]=U,t[32]=X);let De=(!H||z)&&`ok-blob-eye-hidden`,Z;t[33]===De?Z=t[34]:(Z=s(`ok-blob-happy-eye`,De),t[33]=De,t[34]=Z);let Oe;t[35]!==X||t[36]!==Z?(Oe=(0,x.jsx)(`path`,{d:X,strokeWidth:`1.2`,strokeLinecap:`round`,fill:`none`,className:Z}),t[35]=X,t[36]=Z,t[37]=Oe):Oe=t[37];let ke;t[38]===U?ke=t[39]:(ke=se(oe,U),t[38]=U,t[39]=ke);let Ae=(!H||z)&&`ok-blob-eye-hidden`,je;t[40]===Ae?je=t[41]:(je=s(`ok-blob-happy-eye`,Ae),t[40]=Ae,t[41]=je);let Q;t[42]!==ke||t[43]!==je?(Q=(0,x.jsx)(`path`,{d:ke,strokeWidth:`1.2`,strokeLinecap:`round`,fill:`none`,className:je}),t[42]=ke,t[43]=je,t[44]=Q):Q=t[44];let Me;t[45]===z?Me=t[46]:(Me=z?(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`path`,{d:ce(L),strokeWidth:`1.2`,strokeLinecap:`round`,fill:`none`,className:`ok-blob-sleeping-eye`}),(0,x.jsx)(`path`,{d:ce(oe),strokeWidth:`1.2`,strokeLinecap:`round`,fill:`none`,className:`ok-blob-sleeping-eye`})]}):null,t[45]=z,t[46]=Me);let Ne;t[47]!==q||t[48]!==Y||t[49]!==Oe||t[50]!==Q||t[51]!==Me?(Ne=(0,x.jsxs)(`g`,{ref:re,children:[q,Y,Oe,Q,Me]}),t[47]=q,t[48]=Y,t[49]=Oe,t[50]=Q,t[51]=Me,t[52]=Ne):Ne=t[52];let Pe;t[53]!==Se||t[54]!==G||t[55]!==Ne?(Pe=(0,x.jsxs)(`g`,{className:G,children:[we,Ne]},Se),t[53]=Se,t[54]=G,t[55]=Ne,t[56]=Pe):Pe=t[56];let Fe;t[57]===z?Fe=t[58]:(Fe=z?(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`text`,{x:21,y:7,className:`ok-blob-z ok-blob-z-1`,children:`z`}),(0,x.jsx)(`text`,{x:26,y:2,className:`ok-blob-z ok-blob-z-2`,children:`z`})]}):null,t[57]=z,t[58]=Fe);let Ie;t[59]!==_||t[60]!==b?(Ie=b.length>0&&(0,x.jsx)(`g`,{children:b.map(pe)},`firework-${_}`),t[59]=_,t[60]=b,t[61]=Ie):Ie=t[61];let $;t[62]!==ue||t[63]!==d||t[64]!==xe||t[65]!==Pe||t[66]!==Fe||t[67]!==Ie?($=(0,x.jsxs)(`svg`,{ref:ne,width:d,height:d,viewBox:`0 0 30 30`,fill:`none`,overflow:`visible`,xmlns:`http://www.w3.org/2000/svg`,className:xe,"aria-hidden":`true`,onClick:ue,onMouseDown:me,children:[Pe,Fe,Ie]}),t[62]=ue,t[63]=d,t[64]=xe,t[65]=Pe,t[66]=Fe,t[67]=Ie,t[68]=$):$=t[68];let Le;return t[69]!==i||t[70]!==W||t[71]!==$?(Le=(0,x.jsx)(`span`,{ref:te,className:W,style:i,children:$}),t[69]=i,t[70]=W,t[71]=$,t[72]=Le):Le=t[72],Le}function pe(e){return(0,x.jsx)(`circle`,{cx:le+e.originDx,cy:ue+e.originDy,r:e.size,className:`ok-blob-firework`,style:de(e)},e.id)}function me(e){return e.preventDefault()}function he(e){return e+1}function ge(e){return e+1}var _e=v(`ellipsis-vertical`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`12`,cy:`5`,r:`1`,key:`gxeob9`}],[`circle`,{cx:`12`,cy:`19`,r:`1`,key:`lyex9k`}]]),ve=v(`file-plus`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M9 15h6`,key:`cctwl0`}],[`path`,{d:`M12 18v-6`,key:`17g6i2`}]]),B=[...new Set(h.flatMap(e=>e.schemes))];function V(e,t){let n=t.now?.()??Date.now(),r={};for(let t of h){let i=t.schemes[0],a=i===void 0?void 0:e[i];if(!a){r[t.id]={installed:null};continue}r[t.id]={installed:a.installed,...a.displayName===void 0?{}:{displayName:a.displayName},lastChecked:n}}return r}function ye(e){return V({},e)}async function H(e){let t=e.schemes??B,n=await Promise.all(t.map(async t=>{let n=t.replace(/:$/,``);try{return[t,await e.detectProtocol(n)]}catch{return[t,{installed:!1}]}}));return Object.fromEntries(n)}var U=Object.fromEntries(B.map(e=>[e,{installed:!1}]));async function be(e){let t;try{t=await e.fetch(`/api/installed-agents`,{signal:e.signal,headers:{Accept:`application/json`}})}catch(e){if(e.name===`AbortError`)throw e;return U}if(!t.ok)return U;let n;try{n=await t.json()}catch{return U}if(typeof n!=`object`||!n||Array.isArray(n))return U;let r=n,i={};for(let e of B)i[e]={installed:r[e.replace(/:$/,``)]===!0};return i}function W(e,t){let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n){let n=e[r],i=t[r];if(!n||!i||n.installed!==i.installed||n.displayName!==i.displayName)return!1}return!0}function xe(e){let t=e.throttleMs??1e4,n=!1,r=null,i=null,a={},o=ye({isElectronHost:e.isElectronHost(),now:e.now}),s=new Set,c=()=>{if(!n)for(let e of s)e(o)},l=()=>{o=V(a,{isElectronHost:e.isElectronHost(),now:e.now})};return{probe:async()=>{if(n)return;if(i)return i;if(r!==null&&e.now()-r<t)return;let o=(async()=>{try{let t=await e.probe();if(n)return;let i=!W(a,t);a=t,i&&(l(),c()),r=e.now()}catch{}finally{i=null}})();return i=o,o},getTargetStates:()=>o,subscribe:e=>(s.add(e),()=>{s.delete(e)}),cancel:()=>{n=!0,s.clear()}}}function Se(e=typeof window<`u`?window:void 0){return e?.okDesktop!=null}function Ce(){let e=typeof window<`u`?window.okDesktop:void 0;if(e){let t=t=>e.shell.detectProtocol(t);return{probe:()=>H({detectProtocol:t}),isElectronHost:()=>!0,now:Date.now}}let t=globalThis.fetch.bind(globalThis);return{probe:()=>be({fetch:t}),isElectronHost:()=>!1,now:Date.now}}function G(){let e=(0,C.c)(5),[t,n]=(0,S.useState)(we),r=(0,S.useRef)(null),i,a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=()=>{let e=xe(Ce());r.current=e;let t=e.subscribe(n);e.probe();let i=()=>{e.probe()};return window.addEventListener(`focus`,i),()=>{window.removeEventListener(`focus`,i),t(),e.cancel(),r.current=null}},a=[],e[0]=i,e[1]=a):(i=e[0],a=e[1]),(0,S.useEffect)(i,a);let o;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>r.current?.probe()??Promise.resolve(),e[2]=o):o=e[2];let s;return e[3]===t?s=e[4]:(s={states:t,refresh:o},e[3]=t,e[4]=s),s}function we(){return ye({isElectronHost:Se(),now:Date.now})}var Te=(0,S.createContext)(null);function K(e){let t=(0,C.c)(3),{value:n,children:r}=e,i;return t[0]!==r||t[1]!==n?(i=(0,x.jsx)(Te,{value:n,children:r}),t[0]=r,t[1]=n,t[2]=i):i=t[2],i}function q(){return(0,S.use)(Te)}function Ee(e){let t=(0,C.c)(48),{itemName:n,isSubmitting:r,onDelete:o,customTitle:s,customDescription:c,customDetail:u,customConfirmLabel:d,customConfirmLabelBusy:f,children:h}=e,{_:g}=a(),_;t[0]!==g||t[1]!==n?(_=n??g({id:`L3CEC1`}),t[0]=g,t[1]=n,t[2]=_):_=t[2];let v=_,y;t[3]!==g||t[4]!==d?(y=d??g({id:`cnGeoo`}),t[3]=g,t[4]=d,t[5]=y):y=t[5];let S=y,w;t[6]!==g||t[7]!==d||t[8]!==f?(w=f??d??g({id:`s3caR3`}),t[6]=g,t[7]=d,t[8]=f,t[9]=w):w=t[9];let T=w,E;t[10]!==g||t[11]!==s||t[12]!==v?(E=s??g({id:`77SdEP`,values:{itemName:v}}),t[10]=g,t[11]=s,t[12]=v,t[13]=E):E=t[13];let D;t[14]===E?D=t[15]:(D=(0,x.jsx)(ee,{children:E}),t[14]=E,t[15]=D);let O;t[16]!==g||t[17]!==c||t[18]!==v?(O=c??g({id:`16D5Zj`,values:{itemName:v}}),t[16]=g,t[17]=c,t[18]=v,t[19]=O):O=t[19];let k;t[20]===O?k=t[21]:(k=(0,x.jsx)(p,{className:`whitespace-pre-wrap`,children:O}),t[20]=O,t[21]=k);let A;t[22]===u?A=t[23]:(A=u?(0,x.jsx)(`p`,{className:`text-muted-foreground text-sm`,"data-testid":`delete-confirmation-detail`,children:u}):null,t[22]=u,t[23]=A);let j;t[24]!==D||t[25]!==k||t[26]!==A?(j=(0,x.jsxs)(ie,{children:[D,k,A]}),t[24]=D,t[25]=k,t[26]=A,t[27]=j):j=t[27];let M;t[28]===h?M=t[29]:(M=h?(0,x.jsx)(ne,{children:h}):null,t[28]=h,t[29]=M);let ae;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(ae=(0,x.jsx)(i,{id:`dEgA5A`}),t[30]=ae):ae=t[30];let N;t[31]===r?N=t[32]:(N=(0,x.jsx)(m,{asChild:!0,children:(0,x.jsx)(l,{variant:`outline`,disabled:r,children:ae})}),t[31]=r,t[32]=N);let P;t[33]!==S||t[34]!==T||t[35]!==r?(P=r?(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(b,{"aria-hidden":`true`,className:`size-4`}),` `,T]}):S,t[33]=S,t[34]=T,t[35]=r,t[36]=P):P=t[36];let F;t[37]!==r||t[38]!==o||t[39]!==P?(F=(0,x.jsx)(l,{variant:`destructive`,onClick:o,disabled:r,children:P}),t[37]=r,t[38]=o,t[39]=P,t[40]=F):F=t[40];let I;t[41]!==N||t[42]!==F?(I=(0,x.jsxs)(re,{children:[N,F]}),t[41]=N,t[42]=F,t[43]=I):I=t[43];let L;return t[44]!==M||t[45]!==I||t[46]!==j?(L=(0,x.jsxs)(te,{children:[j,M,I]}),t[44]=M,t[45]=I,t[46]=j,t[47]=L):L=t[47],L}function J(e){return e===`agents`||e===`.agents`||e.startsWith(`.agents/`)?`.agents`:e.includes(`/`)?e:_[e]??e}function Y(e){return e===`claude`?`claude-code`:e}function X(e){let t=(0,C.c)(18),r,i;if(t[0]===e?(r=t[1],i=t[2]):({host:r,...i}=e,t[0]=e,t[1]=r,t[2]=i),r===`agents`){let e;return t[3]===i?e=t[4]:(e=(0,x.jsx)(n,{...i}),t[3]=i,t[4]=e),e}if(r.includes(`/`)){if(r===`.agents`||r.startsWith(`.agents/`)){let e;return t[5]===i?e=t[6]:(e=(0,x.jsx)(n,{...i}),t[5]=i,t[6]=e),e}if(r===`.ok`||r.startsWith(`.ok/`)){let e;if(t[7]!==i){let{className:n,...r}=i;e=r,t[7]=i,t[8]=e}else e=t[8];let n=e,r;return t[9]===n?r=t[10]:(r=(0,x.jsx)(fe,{size:14,...n}),t[9]=n,t[10]=r),r}let e;return t[11]===i?e=t[12]:(e=(0,x.jsx)(y,{...i}),t[11]=i,t[12]=e),e}let a;t[13]===r?a=t[14]:(a=Y(r),t[13]=r,t[14]=a);let o;return t[15]!==i||t[16]!==a?(o=(0,x.jsx)(g,{...i,id:a}),t[15]=i,t[16]=a,t[17]=o):o=t[17],o}function De(e){let t=(0,C.c)(14),{hosts:n,className:r,iconClassName:i}=e,a,o,c;if(t[0]!==r||t[1]!==n||t[2]!==i){let e=n.slice(0,2),l=n.slice(2);t[6]===r?a=t[7]:(a=s(`flex items-center gap-1`,r),t[6]=r,t[7]=a);let p;t[8]===i?p=t[9]:(p=e=>(0,x.jsxs)(f,{children:[(0,x.jsx)(u,{asChild:!0,children:(0,x.jsx)(`span`,{className:`flex shrink-0 items-center`,children:(0,x.jsx)(X,{host:e,className:s(`size-3.5 shrink-0`,i),"aria-label":J(e)})})}),(0,x.jsx)(d,{children:J(e)})]},e),t[8]=i,t[9]=p),o=e.map(p),c=l.length>0?(0,x.jsxs)(f,{children:[(0,x.jsx)(u,{asChild:!0,children:(0,x.jsxs)(`span`,{className:`ml-0.5 cursor-default`,children:[`+`,l.length]})}),(0,x.jsx)(d,{children:l.map(J).join(`, `)})]}):null,t[0]=r,t[1]=n,t[2]=i,t[3]=a,t[4]=o,t[5]=c}else a=t[3],o=t[4],c=t[5];let l;return t[10]!==a||t[11]!==o||t[12]!==c?(l=(0,x.jsxs)(`span`,{className:a,children:[o,c]}),t[10]=a,t[11]=o,t[12]=c,t[13]=l):l=t[13],l}function Z(e){let t=(0,C.c)(6),{testId:n,title:r}=e,a;t[0]===r?a=t[1]:(a=r===void 0?{}:{title:r},t[0]=r,t[1]=a);let o;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,x.jsx)(i,{id:`YjiZAs`}),t[2]=o):o=t[2];let s;return t[3]!==a||t[4]!==n?(s=(0,x.jsx)(`span`,{className:`inline-flex h-5 shrink-0 items-center rounded border border-yellow-500/40 bg-yellow-500/10 px-1 text-[10px] text-yellow-600 uppercase tracking-wide`,"data-testid":n,...a,children:o}),t[3]=a,t[4]=n,t[5]=s):s=t[5],s}export{K as a,ve as c,Ee as i,_e as l,X as n,q as o,De as r,G as s,Z as t,fe as u};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-CYidjpOJ.js";import{t}from"./jsx-runtime-BUgB2tll.js";import{t as n}from"./react-f2sANaYj.js";import{n as r,r as i}from"./dist-Nvb76hAm.js";import{t as a}from"./compiler-runtime-BfE3aGVn.js";import{t as o}from"./button-CA0dewJJ.js";import{n as ee,r as s,t as c}from"./collapsible-COrqeoHr.js";import{a as l,c as u,i as d,n as f,o as p,s as m,t as h}from"./dialog-DVmOCCjy.js";import{t as g}from"./checkbox-BkFAESv7.js";import{n as _}from"./dist-BLaUOTRG.js";import{t as te}from"./chevron-right-DJvandMc.js";import{a as v,n as ne,r as y,t as re}from"./project-paths-Gbd1UShN.js";import{t as ie}from"./input-VnbFvuKd.js";import{t as ae}from"./textarea-D59GB_Zy.js";var oe=a(),b=e(n(),1),x=t(),se=750,ce={root:{id:`ZWolSV`},home:{id:`_RcqUM`},"home-documents":{id:`of3tF-`},"home-desktop":{id:`vfWA_g`},"home-downloads":{id:`wlwXUk`},"volumes-mount":{id:`nMSYz5`},"drive-root":{id:`M3ytY_`}},S={error:e=>_.error(e)};function C(e){let t=(0,oe.c)(9),n;t[0]===e?n=t[1]:(n=e===void 0?{}:e,t[0]=e,t[1]=n);let{store:r,toast:i,payload:a}=n,o=r===void 0?y:r,ee=i===void 0?S:i,s;t[2]!==a||t[3]!==o?(s=a??o.getSnapshot(),t[2]=a,t[3]=o,t[4]=s):s=t[4];let c=s;if(!c)return null;let l;return t[5]!==c||t[6]!==o||t[7]!==ee?(l=(0,x.jsx)(le,{payload:c,store:o,toast:ee}),t[5]=c,t[6]=o,t[7]=ee,t[8]=l):l=t[8],l}function le(e){let t=(0,oe.c)(125),{payload:n,store:a,toast:_}=e,{_:y}=i(),S=(0,b.useId)(),[C,le]=(0,b.useState)(n.defaultContentDir),[w,pe]=(0,b.useState)(``),me;t[0]===n.editorOptions?me=t[1]:(me=()=>new Set(n.editorOptions.map(de)),t[0]=n.editorOptions,t[1]=me);let[T,he]=(0,b.useState)(me),[E,ge]=(0,b.useState)(`shared`),[_e,ve]=(0,b.useState)(null),[D,ye]=(0,b.useState)(!1),[be,xe]=(0,b.useState)(null),[Se,Ce]=(0,b.useState)(!1),we,Te;t[2]!==y||t[3]!==C?(we=()=>{if(!re(C)){ve(null);return}let e=!1,t=setTimeout(()=>{let t=window.okDesktop;t&&t.onboarding.probeContent({contentDir:C}).then(t=>{e||ve(t)}).catch(t=>{e||ve({ok:!1,error:t instanceof Error?t.message:y({id:`snrVQ7`})})})},se);return()=>{e=!0,clearTimeout(t)}},Te=[C,y],t[2]=y,t[3]=C,t[4]=we,t[5]=Te):(we=t[4],Te=t[5]),(0,b.useEffect)(we,Te);let Ee;t[6]===C?Ee=t[7]:(Ee=re(C),t[6]=C,t[7]=Ee);let O=Ee,k=D||!O,De=Se||!O,Oe=n.projectDir,ke;t[8]!==n.pickedPath||t[9]!==n.projectDir?(ke=ne(n.projectDir,n.pickedPath)??n.pickedPath,t[8]=n.pickedPath,t[9]=n.projectDir,t[10]=ke):ke=t[10];let Ae=ke,je;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(je=function(e){he(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},t[11]=je):je=t[11];let Me=je,Ne;t[12]!==y||t[13]!==n.projectDir?(Ne=async function(){let e=window.okDesktop;if(!e)return;let t;try{t=await e.dialog.openFolder({defaultPath:n.projectDir})}catch(e){let t=e;xe(t instanceof Error?t.message:y({id:`P-ye9o`}));return}if(t===null)return;let r=ne(n.projectDir,t);if(r===null){xe(y({id:`UTZ97u`}));return}xe(null),le(r)},t[12]=y,t[13]=n.projectDir,t[14]=Ne):Ne=t[14];let Pe=Ne,Fe;t[15]!==w||t[16]!==C||t[17]!==T||t[18]!==E||t[19]!==a||t[20]!==_?(Fe=async function(){ye(!0);let e=await a.confirm({initGit:!0,contentDir:C,additionalIgnores:w,editorIds:Array.from(T),sharing:E});e.ok||(_.error(e.error),ye(!1))},t[15]=w,t[16]=C,t[17]=T,t[18]=E,t[19]=a,t[20]=_,t[21]=Fe):Fe=t[21];let Ie=Fe,Le;t[22]!==Ie||t[23]!==k?(Le=function(e){e.preventDefault(),!k&&Ie()},t[22]=Ie,t[23]=k,t[24]=Le):Le=t[24];let Re=Le,ze;t[25]!==a||t[26]!==_?(ze=async function(){ye(!0);let e=await a.cancel();e.ok||(_.error(e.error),ye(!1))},t[25]=a,t[26]=_,t[27]=ze):ze=t[27];let A=ze,Be;t[28]!==D||t[29]!==A?(Be=function(e){!e&&!D&&A()},t[28]=D,t[29]=A,t[30]=Be):Be=t[30];let Ve=Be,He;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(He=(0,x.jsx)(u,{children:(0,x.jsx)(r,{id:`seeS6l`})}),t[31]=He):He=t[31];let Ue;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(Ue=(0,x.jsxs)(m,{children:[He,(0,x.jsx)(l,{children:(0,x.jsx)(r,{id:`HqiZvw`,components:{0:(0,x.jsx)(`code`,{})}})})]}),t[32]=Ue):Ue=t[32];let j;t[33]!==n.gitRootPromoted||t[34]!==Ae||t[35]!==Oe?(j=n.gitRootPromoted?(0,x.jsx)(`p`,{className:`text-1sm text-muted-foreground`,children:(0,x.jsx)(r,{id:`Y1kX2z`,values:{projectDir:Oe,pickedRelative:Ae},components:{0:(0,x.jsx)(`code`,{}),1:(0,x.jsx)(`code`,{}),2:(0,x.jsx)(`code`,{}),3:(0,x.jsx)(`code`,{}),4:(0,x.jsx)(`code`,{})}})}):null,t[33]=n.gitRootPromoted,t[34]=Ae,t[35]=Oe,t[36]=j):j=t[36];let M;t[37]!==y||t[38]!==n.warnings?(M=n.warnings.length>0?(0,x.jsx)(`div`,{role:`alert`,className:`rounded-md border border-amber-300 bg-amber-50 px-3 py-2 text-sm text-amber-900 dark:border-amber-700 dark:bg-amber-950 dark:text-amber-200`,children:n.warnings.map(e=>(0,x.jsx)(`p`,{className:`mb-1 last:mb-0`,children:y(ce[e.kind])},e.kind))}):null,t[37]=y,t[38]=n.warnings,t[39]=M):M=t[39];let N;t[40]!==O||t[41]!==_e?(N=O?(0,x.jsx)(fe,{probe:_e}):null,t[40]=O,t[41]=_e,t[42]=N):N=t[42];let P;t[43]!==D||t[44]!==S||t[45]!==E?(P=(0,x.jsx)(v,{idPrefix:S,testIdPrefix:`consent-sharing`,value:E,onValueChange:ge,disabled:D}),t[43]=D,t[44]=S,t[45]=E,t[46]=P):P=t[46];let We;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(We=(0,x.jsxs)(s,{className:`group flex w-full items-center justify-between gap-2 px-3 py-2 text-sm font-medium hover:bg-muted/50`,"data-testid":`consent-advanced-trigger`,children:[(0,x.jsx)(r,{id:`VNgKZz`}),(0,x.jsx)(te,{className:`size-4 transition-transform group-data-[state=open]:rotate-90 motion-reduce:transition-none`,"aria-hidden":!0})]}),t[47]=We):We=t[47];let Ge;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(Ge=(0,x.jsx)(`label`,{htmlFor:`consent-content-dir`,className:`text-sm font-medium`,children:(0,x.jsx)(r,{id:`ll2yNl`})}),t[48]=Ge):Ge=t[48];let Ke;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(Ke=e=>{le(e.target.value),xe(null)},t[49]=Ke):Ke=t[49];let qe=!O,Je=be===null?O?void 0:`consent-content-dir-error`:`consent-content-dir-browse-error`,F;t[50]!==D||t[51]!==C||t[52]!==qe||t[53]!==Je?(F=(0,x.jsx)(ie,{id:`consent-content-dir`,value:C,onChange:Ke,disabled:D,"aria-invalid":qe,"aria-describedby":Je,"data-testid":`consent-content-dir`,className:`flex-1`}),t[50]=D,t[51]=C,t[52]=qe,t[53]=Je,t[54]=F):F=t[54];let I;t[55]===Pe?I=t[56]:(I=()=>void Pe(),t[55]=Pe,t[56]=I);let Ye;t[57]===Symbol.for(`react.memo_cache_sentinel`)?(Ye=(0,x.jsx)(r,{id:`O2UpM1`}),t[57]=Ye):Ye=t[57];let L;t[58]!==D||t[59]!==I?(L=(0,x.jsx)(o,{type:`button`,variant:`outline`,disabled:D,onClick:I,"data-testid":`consent-content-dir-browse`,children:Ye}),t[58]=D,t[59]=I,t[60]=L):L=t[60];let R;t[61]!==F||t[62]!==L?(R=(0,x.jsxs)(`div`,{className:`flex items-stretch gap-2`,children:[F,L]}),t[61]=F,t[62]=L,t[63]=R):R=t[63];let z;t[64]!==be||t[65]!==O?(z=be===null?O?null:(0,x.jsx)(`p`,{id:`consent-content-dir-error`,className:`text-1sm text-destructive`,"data-testid":`consent-content-dir-error`,children:(0,x.jsx)(r,{id:`U5Spo9`})}):(0,x.jsx)(`p`,{id:`consent-content-dir-browse-error`,className:`text-1sm text-destructive`,"data-testid":`consent-content-dir-browse-error`,children:be}),t[64]=be,t[65]=O,t[66]=z):z=t[66];let B;t[67]!==R||t[68]!==z?(B=(0,x.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[Ge,R,z]}),t[67]=R,t[68]=z,t[69]=B):B=t[69];let Xe;t[70]===Symbol.for(`react.memo_cache_sentinel`)?(Xe=(0,x.jsx)(`label`,{htmlFor:`consent-additional-ignores`,className:`text-sm font-medium`,children:(0,x.jsx)(r,{id:`3zyg_A`})}),t[70]=Xe):Xe=t[70];let Ze;t[71]===Symbol.for(`react.memo_cache_sentinel`)?(Ze=e=>pe(e.target.value),t[71]=Ze):Ze=t[71];let V;t[72]!==w||t[73]!==D?(V=(0,x.jsx)(ae,{id:`consent-additional-ignores`,value:w,onChange:Ze,disabled:D,placeholder:`tmp/
|
|
2
|
-
*.draft.md`,rows:3,"data-testid":`consent-additional-ignores`}),t[72]=w,t[73]=D,t[74]=V):V=t[74];let Qe;t[75]===Symbol.for(`react.memo_cache_sentinel`)?(Qe=(0,x.jsx)(`p`,{className:`text-1sm text-muted-foreground`,children:(0,x.jsx)(r,{id:`aE2_XM`,components:{0:(0,x.jsx)(`code`,{})}})}),t[75]=Qe):Qe=t[75];let H;t[76]===V?H=t[77]:(H=(0,x.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[Xe,V,Qe]}),t[76]=V,t[77]=H);let $e;t[78]===Symbol.for(`react.memo_cache_sentinel`)?($e=(0,x.jsx)(`legend`,{className:`text-sm font-medium`,children:(0,x.jsx)(r,{id:`0YEbfk`})}),t[78]=$e):$e=t[78];let et;t[79]===Symbol.for(`react.memo_cache_sentinel`)?(et=(0,x.jsx)(`p`,{className:`text-1sm text-muted-foreground`,children:(0,x.jsx)(r,{id:`SfxQX8`})}),t[79]=et):et=t[79];let U;if(t[80]!==D||t[81]!==T||t[82]!==n.editorOptions){let e;t[84]!==D||t[85]!==T?(e=e=>{let t=`consent-editor-${e.id}-cb`;return(0,x.jsxs)(`label`,{htmlFor:t,className:`flex items-center gap-2 text-sm`,children:[(0,x.jsx)(g,{id:t,checked:T.has(e.id),onCheckedChange:()=>Me(e.id),disabled:D,"data-testid":`consent-editor-${e.id}`}),(0,x.jsx)(`span`,{children:e.label}),(0,x.jsx)(`span`,{className:`text-xs text-muted-foreground`,"data-testid":`consent-editor-${e.id}-scope`,children:e.hasProjectConfig?e.hasUserConfig??!0?(0,x.jsx)(r,{id:`cKjLuT`}):(0,x.jsx)(r,{id:`fR-Kdc`}):(0,x.jsx)(r,{id:`nYKerc`})})]},e.id)},t[84]=D,t[85]=T,t[86]=e):e=t[86],U=n.editorOptions.map(e),t[80]=D,t[81]=T,t[82]=n.editorOptions,t[83]=U}else U=t[83];let W;t[87]===U?W=t[88]:(W=(0,x.jsxs)(`fieldset`,{className:`flex flex-col space-y-2 pb-2`,children:[$e,et,U]}),t[87]=U,t[88]=W);let G;t[89]!==B||t[90]!==H||t[91]!==W?(G=(0,x.jsxs)(ee,{className:`space-y-6 border-t border-border px-3 py-4`,children:[B,H,W]}),t[89]=B,t[90]=H,t[91]=W,t[92]=G):G=t[92];let K;t[93]!==De||t[94]!==G?(K=(0,x.jsxs)(c,{open:De,onOpenChange:Ce,className:`rounded-md border border-border`,"data-testid":`consent-advanced`,children:[We,G]}),t[93]=De,t[94]=G,t[95]=K):K=t[95];let q;t[96]!==S||t[97]!==Re||t[98]!==N||t[99]!==P||t[100]!==K?(q=(0,x.jsxs)(`form`,{id:S,onSubmit:Re,"data-testid":`consent-form`,className:`space-y-6`,children:[N,P,K]}),t[96]=S,t[97]=Re,t[98]=N,t[99]=P,t[100]=K,t[101]=q):q=t[101];let J;t[102]!==j||t[103]!==M||t[104]!==q?(J=(0,x.jsxs)(f,{className:`space-y-6`,children:[j,M,q]}),t[102]=j,t[103]=M,t[104]=q,t[105]=J):J=t[105];let Y;t[106]===A?Y=t[107]:(Y=()=>void A(),t[106]=A,t[107]=Y);let tt;t[108]===Symbol.for(`react.memo_cache_sentinel`)?(tt=(0,x.jsx)(r,{id:`dEgA5A`}),t[108]=tt):tt=t[108];let X;t[109]!==D||t[110]!==Y?(X=(0,x.jsx)(o,{type:`button`,variant:`outline`,className:`font-mono uppercase`,onClick:Y,disabled:D,"data-testid":`consent-cancel`,children:tt}),t[109]=D,t[110]=Y,t[111]=X):X=t[111];let nt;t[112]===Symbol.for(`react.memo_cache_sentinel`)?(nt=(0,x.jsx)(r,{id:`RDjuBN`}),t[112]=nt):nt=t[112];let Z;t[113]!==S||t[114]!==k?(Z=(0,x.jsx)(o,{type:`submit`,form:S,disabled:k,"data-testid":`consent-start`,children:nt}),t[113]=S,t[114]=k,t[115]=Z):Z=t[115];let Q;t[116]!==X||t[117]!==Z?(Q=(0,x.jsxs)(p,{children:[X,Z]}),t[116]=X,t[117]=Z,t[118]=Q):Q=t[118];let $;t[119]!==J||t[120]!==Q?($=(0,x.jsxs)(d,{className:`sm:max-w-lg`,onOpenAutoFocus:ue,children:[Ue,J,Q]}),t[119]=J,t[120]=Q,t[121]=$):$=t[121];let rt;return t[122]!==Ve||t[123]!==$?(rt=(0,x.jsx)(h,{open:!0,onOpenChange:Ve,children:$}),t[122]=Ve,t[123]=$,t[124]=rt):rt=t[124],rt}function ue(e){e.preventDefault(),e.currentTarget.querySelector(`[role="radio"]`)?.focus()}function de(e){return e.id}function fe(e){let t=(0,oe.c)(24),{probe:n}=e,{_:a}=i();if(n===null){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,x.jsx)(`p`,{className:`text-1sm text-muted-foreground`,"data-testid":`consent-preview`,children:(0,x.jsx)(r,{id:`DiFKSL`})}),t[0]=e):e=t[0],e}if(!n.ok){let e=n.error,i;return t[1]===e?i=t[2]:(i=(0,x.jsx)(`p`,{className:`text-1sm text-muted-foreground`,"data-testid":`consent-preview`,children:(0,x.jsx)(r,{id:`9fvog2`,values:{errorDetail:e}})}),t[1]=e,t[2]=i),i}let o=n.truncated?`≥ 50,000`:String(n.count),l;t[3]!==a||t[4]!==o?(l=a({id:`MV-Dkb`,values:{countDisplay:o}}),t[3]=a,t[4]=o,t[5]=l):l=t[5];let u=l;if(n.sample.length===0){let e;return t[6]===u?e=t[7]:(e=(0,x.jsx)(`p`,{className:`text-1sm text-muted-foreground`,"data-testid":`consent-preview`,children:u}),t[6]=u,t[7]=e),e}let d=n.truncated?null:n.count-n.sample.length,f;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,x.jsx)(te,{className:`size-3 transition-transform motion-reduce:transition-none`,"aria-hidden":!0}),t[8]=f):f=t[8];let p;t[9]===u?p=t[10]:(p=(0,x.jsxs)(s,{className:`flex items-center gap-1 text-1sm text-muted-foreground hover:text-foreground [&[data-state=open]>svg]:rotate-90`,children:[f,(0,x.jsx)(`span`,{children:u})]}),t[9]=u,t[10]=p);let m;t[11]===n.sample?m=t[12]:(m=n.sample.map(w),t[11]=n.sample,t[12]=m);let h;t[13]===m?h=t[14]:(h=(0,x.jsx)(`ul`,{className:`space-y-1.5 font-mono`,children:m}),t[13]=m,t[14]=h);let g;t[15]!==n.truncated||t[16]!==d?(g=n.truncated||d!==null&&d>0?(0,x.jsx)(`p`,{className:`mt-1 italic`,children:n.truncated?(0,x.jsx)(r,{id:`5wV2qQ`}):(0,x.jsx)(r,{id:`nNYV3Y`,values:{remaining:d}})}):null,t[15]=n.truncated,t[16]=d,t[17]=g):g=t[17];let _;t[18]!==h||t[19]!==g?(_=(0,x.jsxs)(ee,{className:`pt-1 pl-4 text-1sm text-muted-foreground`,children:[h,g]}),t[18]=h,t[19]=g,t[20]=_):_=t[20];let v;return t[21]!==p||t[22]!==_?(v=(0,x.jsxs)(c,{"data-testid":`consent-preview`,children:[p,_]}),t[21]=p,t[22]=_,t[23]=v):v=t[23],v}function w(e){return(0,x.jsx)(`li`,{children:e},e)}export{C as default};
|