@inkeep/open-knowledge 0.31.0-beta.7 → 0.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/skills/discovery/SKILL.md +1 -1
- package/dist/assets/skills/project/SKILL.md +1 -1
- package/dist/cli.mjs +67 -57
- package/dist/config-schema.json +0 -17
- package/dist/config.project-local.schema.json +0 -17
- package/dist/constants-Buc3Khk9.mjs +2 -0
- package/dist/{dist-Pe1Q8dMj.mjs → dist-Bu8EnbFm.mjs} +27 -27
- package/dist/dist-s05zKf10.mjs +1 -0
- package/dist/{gh-detect-C6QZctcU.mjs → gh-detect-Dvi-l8Fu.mjs} +2 -2
- package/dist/index.d.mts +1 -92
- package/dist/index.mjs +1 -1
- package/dist/{init-DT-9Ccjv.mjs → init-0JqajBIK.mjs} +16 -16
- package/dist/init-BZ0VgwrF.mjs +1 -0
- package/dist/{is-object-Cie0xXKD.mjs → is-object-Cg453afR.mjs} +1 -1
- package/dist/{launch-json-removal-bo3gNUN4.mjs → launch-json-removal-Bc0nsm9s.mjs} +2 -2
- package/dist/loader-BO5HbT0u.mjs +1 -0
- package/dist/{loader-Biqewihc.mjs → loader-DX0gEzQH.mjs} +3 -3
- package/dist/{open-browser-CPSoIF8R.mjs → open-browser-B5VaZ8SA.mjs} +2 -2
- package/dist/{preview-DhDDUDKS.mjs → preview-BVy_yUWj.mjs} +2 -2
- package/dist/preview-CuQ-f0Ce.mjs +1 -0
- package/dist/public/assets/ActivityModeContent-O1kmRaYv.js +2 -0
- package/dist/public/assets/CodeMirrorPropInput-Bun2HhT4.js +3 -0
- package/dist/public/assets/ConsentDialogBody-BAqZ9VoD.js +2 -0
- package/dist/public/assets/DocumentContext-CfINo_Mw.js +35 -0
- package/dist/public/assets/EnableSyncConfirmDialog-CGcWliZX.js +1 -0
- package/dist/public/assets/GraphPanel-psKCWN5A.js +46 -0
- package/dist/public/assets/ManagedArtifactProperties-DgrIcsNj.js +1 -0
- package/dist/public/assets/McpConsentDialogBody-tmZV4IV0.js +1 -0
- package/dist/public/assets/{MermaidDocEditor-DX5BTbSo.js → MermaidDocEditor-BCfIy1Pt.js} +1 -1
- package/dist/public/assets/PropertyPanel-DATdDgBR.js +2 -0
- package/dist/public/assets/SettingsDialogBody-c0x_Jk-n.js +7 -0
- package/dist/public/assets/ShareBranchSwitchDialog-ByGG9GtW.js +1 -0
- package/dist/public/assets/ShareReceiveDialog-Dv8wcWQl.js +1 -0
- package/dist/public/assets/ShareReceiveMissDialog-C3kajhK9.js +1 -0
- package/dist/public/assets/SkillEditorActions-Cv2ng-RP.js +1 -0
- package/dist/public/assets/SourceEditor-jBkr15gq.js +1 -0
- package/dist/public/assets/{TerminalPanel-z1aKcdQN.js → TerminalPanel-BQO8Y-CN.js} +3 -3
- package/dist/public/assets/{_baseFor-0d9AvFx1.js → _baseFor-BmaoxMlo.js} +1 -1
- package/dist/public/assets/agent-presence-BIAongcY.js +1 -0
- package/dist/public/assets/{arc-BWLwkJ2r.js → arc-BXir8W_f.js} +1 -1
- package/dist/public/assets/architecture-YZFGNWBL-CaPSZfdV.js +1 -0
- package/dist/public/assets/{architectureDiagram-Q4EWVU46-KXeh9itt.js → architectureDiagram-Q4EWVU46-DBTz54wh.js} +1 -1
- package/dist/public/assets/arrow-up-right-8pfjkZqS.js +1 -0
- package/dist/public/assets/auth-state-cache-CrfcQc3U.js +11 -0
- package/dist/public/assets/{blockDiagram-DXYQGD6D-DtrdFoMb.js → blockDiagram-DXYQGD6D-D4bYX8pX.js} +1 -1
- package/dist/public/assets/button-cneJOVxD.js +1 -0
- package/dist/public/assets/{c4Diagram-AHTNJAMY-fq1Z49Kc.js → c4Diagram-AHTNJAMY-BOsQb_-W.js} +1 -1
- package/dist/public/assets/calendar-BbVtdK1g.js +1 -0
- package/dist/public/assets/channel-Cf4pPTY1.js +1 -0
- package/dist/public/assets/check-ChQiT7oS.js +1 -0
- package/dist/public/assets/checkbox-Du1jumyn.js +1 -0
- package/dist/public/assets/chevron-down-BNXqfGKq.js +1 -0
- package/dist/public/assets/chevron-left-BBxdkhy7.js +1 -0
- package/dist/public/assets/chevron-right-B0Wo_9Sg.js +1 -0
- package/dist/public/assets/{chunk-2KRD3SAO-Bk_Wilkm.js → chunk-2KRD3SAO-Cdn0_KuR.js} +1 -1
- package/dist/public/assets/{chunk-336JU56O-CL9kwjEg.js → chunk-336JU56O-C6KVZ0tT.js} +2 -2
- package/dist/public/assets/chunk-426QAEUC-BZfWcxWh.js +1 -0
- package/dist/public/assets/{chunk-4BX2VUAB-D96BT_Bg.js → chunk-4BX2VUAB-kKn-Fa2A.js} +1 -1
- package/dist/public/assets/{chunk-4TB4RGXK-1ZoApeth.js → chunk-4TB4RGXK-DPDZUWSG.js} +1 -1
- package/dist/public/assets/chunk-55IACEB6-D2oQNvOq.js +1 -0
- package/dist/public/assets/{chunk-5FUZZQ4R-DPbA0GBM.js → chunk-5FUZZQ4R-CE2r23Tt.js} +1 -1
- package/dist/public/assets/{chunk-5PVQY5BW-CQS0U6F7.js → chunk-5PVQY5BW-BaCH2jUD.js} +1 -1
- package/dist/public/assets/{chunk-67CJDMHE-okMxnkQT.js → chunk-67CJDMHE-Cf4qHZvI.js} +1 -1
- package/dist/public/assets/{chunk-7N4EOEYR-Drske5an.js → chunk-7N4EOEYR-CaLXISN2.js} +1 -1
- package/dist/public/assets/{chunk-AA7GKIK3-BlHxQeSp.js → chunk-AA7GKIK3-BesY--Yf.js} +1 -1
- package/dist/public/assets/{chunk-BSJP7CBP-BpNyv8Y4.js → chunk-BSJP7CBP-HRb_DZiR.js} +1 -1
- package/dist/public/assets/{chunk-CIAEETIT-8deU_mkj.js → chunk-CIAEETIT-C6kcGp2f.js} +1 -1
- package/dist/public/assets/{chunk-EDXVE4YY-VzPvg9KF.js → chunk-EDXVE4YY-BhzOYMWA.js} +1 -1
- package/dist/public/assets/{chunk-ENJZ2VHE-BjhT8OeZ.js → chunk-ENJZ2VHE-pRhNQy5K.js} +1 -1
- package/dist/public/assets/{chunk-FMBD7UC4-CGtQ8v2r.js → chunk-FMBD7UC4-B9WsPaBW.js} +1 -1
- package/dist/public/assets/{chunk-FOC6F5B3--YnpQUAX.js → chunk-FOC6F5B3-B34b1kdM.js} +1 -1
- package/dist/public/assets/{chunk-ICPOFSXX-By9Q-6fm.js → chunk-ICPOFSXX-FUqEyzVa.js} +2 -2
- package/dist/public/assets/{chunk-K5T4RW27-C_6VcMXC.js → chunk-K5T4RW27-BvMe003e.js} +1 -1
- package/dist/public/assets/{chunk-KGLVRYIC-C3De9ry6.js → chunk-KGLVRYIC-B2xoojsm.js} +1 -1
- package/dist/public/assets/{chunk-LIHQZDEY-D4-GsYgm.js → chunk-LIHQZDEY-qSFnrF4a.js} +1 -1
- package/dist/public/assets/{chunk-ORNJ4GCN-qQUTfvQr.js → chunk-ORNJ4GCN-BQkOf7L-.js} +1 -1
- package/dist/public/assets/{chunk-OYMX7WX6-DAJTRr-n.js → chunk-OYMX7WX6-keoSJPWn.js} +1 -1
- package/dist/public/assets/chunk-QZHKN3VN-CRAtM2dA.js +1 -0
- package/dist/public/assets/{chunk-U2HBQHQK-Cp-6rjnO.js → chunk-U2HBQHQK-BJ9jeiqm.js} +1 -1
- package/dist/public/assets/{chunk-X2U36JSP-BFqfQNWU.js → chunk-X2U36JSP-C2-eEatP.js} +1 -1
- package/dist/public/assets/{chunk-XPW4576I-DI0-cfrS.js → chunk-XPW4576I-iLIgnX6_.js} +1 -1
- package/dist/public/assets/{chunk-YZCP3GAM-sn7T8ho2.js → chunk-YZCP3GAM-DCLhfuTC.js} +1 -1
- package/dist/public/assets/{chunk-ZZ45TVLE-CxH2fGjk.js → chunk-ZZ45TVLE-Cuifzj6s.js} +1 -1
- package/dist/public/assets/classDiagram-6PBFFD2Q-v8EnrTlo.js +1 -0
- package/dist/public/assets/classDiagram-v2-HSJHXN6E-Bh3u7TCm.js +1 -0
- package/dist/public/assets/clone-CENMxO1q.js +1 -0
- package/dist/public/assets/collapsible-mJvufeMs.js +1 -0
- package/dist/public/assets/config-provider-C16_sC_R.js +4 -0
- package/dist/public/assets/{cose-bilkent-S5V4N54A-CXBsVXq9.js → cose-bilkent-S5V4N54A-B9iA1NZS.js} +1 -1
- package/dist/public/assets/{dagre-C2Qb6hf2.js → dagre-B1wiFyrD.js} +1 -1
- package/dist/public/assets/{dagre-KV5264BT-BQUJovtG.js → dagre-KV5264BT-GGwDqdQ_.js} +1 -1
- package/dist/public/assets/{diagram-5BDNPKRD-C6tTTvBq.js → diagram-5BDNPKRD-CY8bFFiZ.js} +1 -1
- package/dist/public/assets/{diagram-G4DWMVQ6-Cq1-s9xc.js → diagram-G4DWMVQ6-Ba38EFwg.js} +1 -1
- package/dist/public/assets/{diagram-MMDJMWI5-BE-MhKN8.js → diagram-MMDJMWI5-C4HgKh6K.js} +1 -1
- package/dist/public/assets/{diagram-TYMM5635-G0QPzMX4.js → diagram-TYMM5635-C41UHohH.js} +1 -1
- package/dist/public/assets/dialog-DdHaoAGK.js +45 -0
- package/dist/public/assets/dist-BSkHa6UR.js +1 -0
- package/dist/public/assets/{dist-Bj4Ae4LE.js → dist-BtuJEC9v.js} +108 -108
- package/dist/public/assets/{dist-CN2Ak373.js → dist-BzxczcQx.js} +1 -1
- package/dist/public/assets/{dist-CFvMrf5i.js → dist-COmtpu4e.js} +1 -1
- package/dist/public/assets/{dist-CqC3taBS.js → dist-C_IQr_bg.js} +1 -1
- package/dist/public/assets/{dist-C9FdwUZB.js → dist-Cdtf6fGT.js} +1 -1
- package/dist/public/assets/{dist-C_9BPzNE.js → dist-ClYcK7Yq.js} +1 -1
- package/dist/public/assets/dist-CoyydoqN.js +1 -0
- package/dist/public/assets/{dist-B0sSo1rx.js → dist-Csh9y0a0.js} +1 -1
- package/dist/public/assets/dist-CyYz03up.js +1 -0
- package/dist/public/assets/{dist-p4lElMBx.js → dist-DYyQPSDl.js} +1 -1
- package/dist/public/assets/dist-Dkr4jGYv.js +1 -0
- package/dist/public/assets/{dist-CPK5NxVp.js → dist-DmkgvB1A.js} +1 -1
- package/dist/public/assets/{dist-LqTeaHS1.js → dist-Dot7Y1W_.js} +1 -1
- package/dist/public/assets/{dist-BI2wTleN.js → dist-Gaq2suxg.js} +1 -1
- package/dist/public/assets/{dist-DfkfQshV.js → dist-HABBiN9I.js} +1 -1
- package/dist/public/assets/dist-fpPv-rVb.js +1 -0
- package/dist/public/assets/{dist-C9Q20TxL.js → dist-sRKGD4vA.js} +1 -1
- package/dist/public/assets/{doc-hash-BvJ4F5wQ.js → doc-hash-Ce3LmfP6.js} +1 -1
- package/dist/public/assets/{documents-events-KDHNhdfV.js → documents-events-BzQ1LRmI.js} +1 -1
- package/dist/public/assets/{erDiagram-SMLLAGMA-N7gNLe9o.js → erDiagram-SMLLAGMA-DYhY6Kqx.js} +1 -1
- package/dist/public/assets/eye-CWV-kBQc.js +1 -0
- package/dist/public/assets/{file-tree-adapter-D99FaCGJ.js → file-tree-adapter-CwWuHCOM.js} +1 -1
- package/dist/public/assets/{flatten-dENnAN6s.js → flatten-CQjVT6Ii.js} +1 -1
- package/dist/public/assets/{flowDiagram-DWJPFMVM-DgclgNSr.js → flowDiagram-DWJPFMVM-1K1AtH2O.js} +1 -1
- package/dist/public/assets/folder-open-ChJVxKuY.js +1 -0
- package/dist/public/assets/{ganttDiagram-T4ZO3ILL-CAydivVh.js → ganttDiagram-T4ZO3ILL-BeyyR9TG.js} +1 -1
- package/dist/public/assets/git-branch-YjYuPpdJ.js +1 -0
- package/dist/public/assets/gitGraph-7Q5UKJZL-Bte10OSc.js +1 -0
- package/dist/public/assets/{gitGraphDiagram-UUTBAWPF-Qfom5ijS.js → gitGraphDiagram-UUTBAWPF-DWgxXelB.js} +1 -1
- package/dist/public/assets/{graphlib-BZWt_BGf.js → graphlib-CK7mhD3w.js} +1 -1
- package/dist/public/assets/index-Ba1S3D-p.css +1 -0
- package/dist/public/assets/index-vCSQZ9S5.js +2003 -0
- package/dist/public/assets/info-BlYnsVoP.js +1 -0
- package/dist/public/assets/info-OMHHGYJF-DAVSj56v.js +1 -0
- package/dist/public/assets/{infoDiagram-42DDH7IO-BLFTlht0.js → infoDiagram-42DDH7IO-Di3j3EUh.js} +1 -1
- package/dist/public/assets/input-tW78aNaR.js +1 -0
- package/dist/public/assets/{isEmpty-Dg6Et8UD.js → isEmpty-DGhTXexw.js} +1 -1
- package/dist/public/assets/isSymbol-DRPcfi38.js +1 -0
- package/dist/public/assets/{ishikawaDiagram-UXIWVN3A-C8gBLX8v.js → ishikawaDiagram-UXIWVN3A-DI42GrR2.js} +1 -1
- package/dist/public/assets/{journeyDiagram-VCZTEJTY-DVV127Ia.js → journeyDiagram-VCZTEJTY-OV5qHmr0.js} +1 -1
- package/dist/public/assets/{kanban-definition-6JOO6SKY-Bi_LNUlw.js → kanban-definition-6JOO6SKY-CxQ7-Ree.js} +1 -1
- package/dist/public/assets/{keyboard-shortcuts-9kQVtaDu.js → keyboard-shortcuts-B5l045PW.js} +1 -1
- package/dist/public/assets/label-DPn_C7ZD.js +1 -0
- package/dist/public/assets/{line-CuRBOqmw.js → line-Dkx8G9Yq.js} +1 -1
- package/dist/public/assets/{linear-BnfMN22g.js → linear-9Xx8T62b.js} +1 -1
- package/dist/public/assets/loader-circle-B7Gv_Djz.js +1 -0
- package/dist/public/assets/{mermaid-parser.core-noqTIfNm.js → mermaid-parser.core-Cwc31N0O.js} +2 -2
- package/dist/public/assets/{mermaid.core-DMKNygs1.js → mermaid.core-DAi9DT6V.js} +3 -3
- package/dist/public/assets/{mindmap-definition-QFDTVHPH-DLIIn_h8.js → mindmap-definition-QFDTVHPH-BWEBzSzW.js} +1 -1
- package/dist/public/assets/miss-dialog-store-PJQ_kr0I.js +1 -0
- package/dist/public/assets/{navigation-targets-B1j0YdRn.js → navigation-targets-XC4PBjfz.js} +1 -1
- package/dist/public/assets/{now-esIbxJzw.js → now-C37BZh9O.js} +1 -1
- package/dist/public/assets/{open-managed-artifact-tab-BThYnqZz.js → open-managed-artifact-tab-DA0lLz1S.js} +1 -1
- package/dist/public/assets/{ordinal-DYUgOuL7.js → ordinal-CHifPrEh.js} +1 -1
- package/dist/public/assets/packet-4T2RLAQJ-BZDcl12z.js +1 -0
- package/dist/public/assets/panel-BH2RZRZQ.js +1 -0
- package/dist/public/assets/pending-receive-nav-store-BZqYvfd4.js +1 -0
- package/dist/public/assets/pie-ZZUOXDRM-D4-hdMsS.js +1 -0
- package/dist/public/assets/{pieDiagram-DEJITSTG-C-vgeRar.js → pieDiagram-DEJITSTG-BI6kYV3y.js} +1 -1
- package/dist/public/assets/project-paths-Bdm7wr4i.js +1 -0
- package/dist/public/assets/prop-types-BRDXyauO.js +1 -0
- package/dist/public/assets/{propagation-api-M_AcuP6N.js → propagation-api-BHhJitgG.js} +1 -1
- package/dist/public/assets/{quadrantDiagram-34T5L4WZ-BmQcA7GQ.js → quadrantDiagram-34T5L4WZ-DoQSwIHy.js} +1 -1
- package/dist/public/assets/radar-PYXPWWZC-5qU-LNrp.js +1 -0
- package/dist/public/assets/radio-group-B0RG5um-.js +1 -0
- package/dist/public/assets/{receive-store-1Qk9uwTc.js → receive-store-BSTpqIWS.js} +1 -1
- package/dist/public/assets/{reduce-BKUJZ1TP.js → reduce-CTE0I3YX.js} +1 -1
- package/dist/public/assets/refresh-cw-CluaccKu.js +1 -0
- package/dist/public/assets/{requirementDiagram-MS252O5E-DPE-Czmf.js → requirementDiagram-MS252O5E-BEVc-KLK.js} +1 -1
- package/dist/public/assets/{sankeyDiagram-XADWPNL6-C6mEVWX1.js → sankeyDiagram-XADWPNL6-2RCUEHbt.js} +1 -1
- package/dist/public/assets/{selection-context-_wSKX4pT.js → selection-context-D8rdwap3.js} +1 -1
- package/dist/public/assets/{sequenceDiagram-FGHM5R23-rp9LrkhC.js → sequenceDiagram-FGHM5R23-BwxKjMu8.js} +1 -1
- package/dist/public/assets/skill-actions-B89T-zt1.js +1 -0
- package/dist/public/assets/skills-api-BCCSobN4.js +1 -0
- package/dist/public/assets/{src-sATQ-1TS.js → src-DYQWxrea.js} +1 -1
- package/dist/public/assets/{src-DIGGo2K4.js → src-z-i21x0m.js} +1 -1
- package/dist/public/assets/{stateDiagram-FHFEXIEX-4q5ruYzC.js → stateDiagram-FHFEXIEX-C71hJfI3.js} +1 -1
- package/dist/public/assets/stateDiagram-v2-QKLJ7IA2-Cw1nXPsQ.js +1 -0
- package/dist/public/assets/{target-navigation-intent-DszwtIOt.js → target-navigation-intent-0O0lLUxg.js} +1 -1
- package/dist/public/assets/{telemetry-impl-Cs0UMIR2.js → telemetry-impl-DP51iS8w.js} +2 -2
- package/dist/public/assets/telemetry-startup-DK-ZExiC.js +1 -0
- package/dist/public/assets/textarea-CISJEQhO.js +1 -0
- package/dist/public/assets/{timeline-definition-GMOUNBTQ-CRtE2coR.js → timeline-definition-GMOUNBTQ-Bzsn0Uft.js} +1 -1
- package/dist/public/assets/toggle-group-CXHn0FKi.js +1 -0
- package/dist/public/assets/tooltip-FFg0kVkD.js +1 -0
- package/dist/public/assets/trash-2-Dcpo0Di-.js +1 -0
- package/dist/public/assets/treeView-SZITEDCU-BIqdNeir.js +1 -0
- package/dist/public/assets/treemap-W4RFUUIX-Bne30e5d.js +1 -0
- package/dist/public/assets/triangle-alert-c3yCucJv.js +1 -0
- package/dist/public/assets/typing-burst-detector-0csjpabL.js +6 -0
- package/dist/public/assets/{vennDiagram-DHZGUBPP-B5-arv9-.js → vennDiagram-DHZGUBPP-CnhxnPdb.js} +1 -1
- package/dist/public/assets/wardley-RL74JXVD-Bx6nHdkF.js +1 -0
- package/dist/public/assets/{wardleyDiagram-NUSXRM2D-NXmNnKuY.js → wardleyDiagram-NUSXRM2D-CynkQzsD.js} +1 -1
- package/dist/public/assets/workspace-paths-CgdsJHHk.js +1 -0
- package/dist/public/assets/{xychartDiagram-5P7HB3ND-B_cLbDrg.js → xychartDiagram-5P7HB3ND-Bwt6zYHi.js} +1 -1
- package/dist/public/index.html +83 -87
- package/dist/{repair-launch-json-B6nfMuDG.mjs → repair-launch-json-A83Cn4C3.mjs} +2 -2
- package/dist/{repair-mcp-configs-CfO_BZxd.mjs → repair-mcp-configs-Dp3AqC8R.mjs} +2 -2
- package/dist/repair-skills-D5HH0xbe.mjs +1 -0
- package/dist/{repair-skills-DuNm-kMp.mjs → repair-skills-Dgp9yVUB.mjs} +2 -2
- package/dist/schemas/v0/config.project-local.schema.json +0 -17
- package/dist/server-lock-GuuouVft-xGs0zrNQ.mjs +1 -0
- package/dist/{server-lock-iLcBw_q0-nWzkxbfg.mjs → server-lock-iLcBw_q0-6FEAZKHu.mjs} +45 -45
- package/dist/src-r-A-5thI.mjs +11 -0
- package/dist/start-B-mC7chd.mjs +1 -0
- package/dist/{start-D9sidghM.mjs → start-uH8C-cIP.mjs} +2 -2
- package/dist/{write-project-skill-DyoxYjJB.mjs → write-project-skill-XtppilgQ.mjs} +2 -2
- package/package.json +1 -1
- package/dist/constants-B8Zie8rF.mjs +0 -2
- package/dist/dist-BYM_jxPa.mjs +0 -1
- package/dist/init-D3BvztSN.mjs +0 -1
- package/dist/loader-BiXk2JV6.mjs +0 -1
- package/dist/preview-BrPKQxiM.mjs +0 -1
- package/dist/public/assets/ActivityModeContent-DCeOqkvP.js +0 -2
- package/dist/public/assets/CodeMirrorPropInput-B1vWorID.js +0 -3
- package/dist/public/assets/ConsentDialogBody-TGvdiCLr.js +0 -2
- package/dist/public/assets/CopyButton-DoEsGDa4.js +0 -1
- package/dist/public/assets/DocumentContext-BhV2wOiZ.js +0 -36
- package/dist/public/assets/EnableSyncConfirmDialog-Ca-ry-Ae.js +0 -1
- package/dist/public/assets/GraphPanel-lBz9qIQN.js +0 -46
- package/dist/public/assets/ManagedArtifactProperties-D_Nk4cbN.js +0 -1
- package/dist/public/assets/McpConsentDialogBody-Bsj9E3Ff.js +0 -1
- package/dist/public/assets/PropertyPanel-CDFSWToc.js +0 -2
- package/dist/public/assets/ReportBugDialogBody-CJkfjKa2.js +0 -2
- package/dist/public/assets/SettingsDialogBody-CZ8Q6HdO.js +0 -7
- package/dist/public/assets/ShareBranchSwitchDialog-BF1nOzHu.js +0 -1
- package/dist/public/assets/ShareReceiveDialog-Dqg_ZHxL.js +0 -1
- package/dist/public/assets/ShareReceiveMissDialog-Cmk3vfV-.js +0 -1
- package/dist/public/assets/SkillEditorActions-kSWzLf2i.js +0 -1
- package/dist/public/assets/SourceEditor-DUfgIVNL.js +0 -1
- package/dist/public/assets/agent-presence-CR_Kl3f1.js +0 -1
- package/dist/public/assets/architecture-YZFGNWBL-9BNhGkdz.js +0 -1
- package/dist/public/assets/arrow-up-right-Bj9cWgcz.js +0 -1
- package/dist/public/assets/auth-state-cache-QESJRGUP.js +0 -11
- package/dist/public/assets/calendar-B2qs7swV.js +0 -1
- package/dist/public/assets/channel-CuMNseph.js +0 -1
- package/dist/public/assets/check-nyYgwOgK.js +0 -1
- package/dist/public/assets/checkbox-CgcvT5md.js +0 -1
- package/dist/public/assets/chevron-down-B4gqqe-h.js +0 -1
- package/dist/public/assets/chevron-left-aRnXScdx.js +0 -1
- package/dist/public/assets/chevron-right-DjreZbLo.js +0 -1
- package/dist/public/assets/chunk-426QAEUC-pZbdhoaS.js +0 -1
- package/dist/public/assets/chunk-55IACEB6-HEGApgMn.js +0 -1
- package/dist/public/assets/chunk-QZHKN3VN-DI8KBGbP.js +0 -1
- package/dist/public/assets/classDiagram-6PBFFD2Q-D98rNdcz.js +0 -1
- package/dist/public/assets/classDiagram-v2-HSJHXN6E-Cz77sXrt.js +0 -1
- package/dist/public/assets/clipboard-adapter-BYqGVFAr.js +0 -1
- package/dist/public/assets/clone-DXiEg0sZ.js +0 -1
- package/dist/public/assets/collapsible-Cc4bgirL.js +0 -1
- package/dist/public/assets/config-provider-DJpUWM8E.js +0 -4
- package/dist/public/assets/copy-D8YVE0Jc.js +0 -1
- package/dist/public/assets/createLucideIcon-BPhNPfG7.js +0 -1
- package/dist/public/assets/dialog-BvTRDNMV.js +0 -45
- package/dist/public/assets/dist-B0Ibo2lT.js +0 -1
- package/dist/public/assets/dist-BR1KZiCX.js +0 -1
- package/dist/public/assets/dist-BhVkC6Rc.js +0 -1
- package/dist/public/assets/dist-CaqI7EF5.js +0 -1
- package/dist/public/assets/dist-jyqE5kfZ.js +0 -1
- package/dist/public/assets/eye-W_Da58Av.js +0 -1
- package/dist/public/assets/folder-open-DVXRBalt.js +0 -1
- package/dist/public/assets/git-branch-BfSSsaKF.js +0 -1
- package/dist/public/assets/gitGraph-7Q5UKJZL-DuuJiYvS.js +0 -1
- package/dist/public/assets/index-C3IDVWhb.css +0 -1
- package/dist/public/assets/index-DZyzbLiq.js +0 -2003
- package/dist/public/assets/info-DsmJgZ0m.js +0 -1
- package/dist/public/assets/info-OMHHGYJF-DmgDPzke.js +0 -1
- package/dist/public/assets/input-tBscWWrn.js +0 -1
- package/dist/public/assets/isSymbol-BhYgyzzO.js +0 -1
- package/dist/public/assets/label-DmfuSB7r.js +0 -1
- package/dist/public/assets/loader-circle-IFoG3v_v.js +0 -1
- package/dist/public/assets/miss-dialog-store-E61ZbtU3.js +0 -1
- package/dist/public/assets/packet-4T2RLAQJ-CVcq-ivT.js +0 -1
- package/dist/public/assets/panel-HcGnbQ9h.js +0 -1
- package/dist/public/assets/pending-receive-nav-store-D9kW0zL5.js +0 -1
- package/dist/public/assets/pie-ZZUOXDRM-DSvYqp8t.js +0 -1
- package/dist/public/assets/project-paths-CqH22Xq0.js +0 -1
- package/dist/public/assets/prop-types-CADDENK9.js +0 -1
- package/dist/public/assets/radar-PYXPWWZC-BrGdIzLo.js +0 -1
- package/dist/public/assets/radio-group-DyHNJs2C.js +0 -1
- package/dist/public/assets/refresh-cw-C6wj273J.js +0 -1
- package/dist/public/assets/skill-actions-CnQtb5aQ.js +0 -1
- package/dist/public/assets/skills-api-C6f0gQUn.js +0 -1
- package/dist/public/assets/stateDiagram-v2-QKLJ7IA2-9Y5TkQAw.js +0 -1
- package/dist/public/assets/telemetry-startup-BO7q-IdH.js +0 -1
- package/dist/public/assets/textarea-IugbKaIV.js +0 -1
- package/dist/public/assets/toggle-group-Hn7Etr9N.js +0 -1
- package/dist/public/assets/tooltip-tSMIHkKA.js +0 -1
- package/dist/public/assets/trash-2-DuQrfywu.js +0 -1
- package/dist/public/assets/treeView-SZITEDCU-C_aWaIS6.js +0 -1
- package/dist/public/assets/treemap-W4RFUUIX-CcQyutfG.js +0 -1
- package/dist/public/assets/triangle-alert-CX4BgEzP.js +0 -1
- package/dist/public/assets/typing-burst-detector--_GJ5sz1.js +0 -6
- package/dist/public/assets/wardley-RL74JXVD-B57ZwOFM.js +0 -1
- package/dist/public/assets/workspace-paths-GEb_gilm.js +0 -1
- package/dist/public/assets/x-Bcc1k6VU.js +0 -1
- package/dist/repair-skills-BDe9l22O.mjs +0 -1
- package/dist/server-lock-GuuouVft-CO_sPVNi.mjs +0 -1
- package/dist/src-CU3zxCid.mjs +0 -21
- package/dist/start-DHrKkLIh.mjs +0 -1
- /package/dist/public/assets/{ActivityPanelDiffView-B2UyxRqh.js → ActivityPanelDiffView-BWnxl5f-.js} +0 -0
- /package/dist/public/assets/{__vite-browser-external-DWP-nnLG.js → __vite-browser-external-TJ7c6L0o.js} +0 -0
- /package/dist/public/assets/{array-DCThpSXQ.js → array-FgcTybOD.js} +0 -0
- /package/dist/public/assets/{clike-DBPhSRc7.js → clike-Dwn0hkfx.js} +0 -0
- /package/dist/public/assets/{colors-BWTxgr-H.js → colors-D6fuRjk1.js} +0 -0
- /package/dist/public/assets/{config-context-B9tR3DuQ.js → config-context-CE3SCVYc.js} +0 -0
- /package/dist/public/assets/{cursor-BkiD2ODR.js → cursor-Bz3j3UrW.js} +0 -0
- /package/dist/public/assets/{cytoscape.esm-DI3FlJaw.js → cytoscape.esm-Dzv7Z08T.js} +0 -0
- /package/dist/public/assets/{defaultLocale-CRhqsANo.js → defaultLocale-B8_UIoxV.js} +0 -0
- /package/dist/public/assets/{desktop-bridge-types-BTzWYfK3.js → desktop-bridge-types-NXCK8Pd7.js} +0 -0
- /package/dist/public/assets/{diff-Drz_kYcR.js → diff-7ylxwA-Z.js} +0 -0
- /package/dist/public/assets/{dist-URshSBRl.js → dist-84zLmbM_.js} +0 -0
- /package/dist/public/assets/{dist-BRGTi0a4.js → dist-BvBijIC5.js} +0 -0
- /package/dist/public/assets/{dist-DXmpSd5X.js → dist-BzWUi0nJ.js} +0 -0
- /package/dist/public/assets/{documents-fetch-B7M_d64D.js → documents-fetch-oup83IZh.js} +0 -0
- /package/dist/public/assets/{external-link-Ds9yTh4D.js → external-link-DvDOavYT.js} +0 -0
- /package/dist/public/assets/{file-tree-rename-validation-DcXYaYEd.js → file-tree-rename-validation-DeKIxKnc.js} +0 -0
- /package/dist/public/assets/{floating-ui.dom-B3TJy2Tg.js → floating-ui.dom-DVRWCLii.js} +0 -0
- /package/dist/public/assets/{format-Dfi8-r7-.js → format-CC5hmMSn.js} +0 -0
- /package/dist/public/assets/{go-BpmSPnTF.js → go-DUVmyJ08.js} +0 -0
- /package/dist/public/assets/{init-Do59aTWs.js → init-BG_j-rIv.js} +0 -0
- /package/dist/public/assets/{isObjectLike-DBZB8Di0.js → isObjectLike-B-1HrArC.js} +0 -0
- /package/dist/public/assets/{katex-C_q0VtM5.js → katex-BunQWEOH.js} +0 -0
- /package/dist/public/assets/{lua-C_zL8YdL.js → lua-Deq9zhNp.js} +0 -0
- /package/dist/public/assets/{mcp-consent-store-Q4I4TJ6C.js → mcp-consent-store-BowAuxpw.js} +0 -0
- /package/dist/public/assets/{min-CHYmOP54.js → min-CFR8cRpW.js} +0 -0
- /package/dist/public/assets/{panzoom.es-IG_ffrHS.js → panzoom.es-B5TJP3N-.js} +0 -0
- /package/dist/public/assets/{parse-api-error-CKwNHPHP.js → parse-api-error-CqtA8BcL.js} +0 -0
- /package/dist/public/assets/{path-BumxrnWh.js → path-C0E9fOMz.js} +0 -0
- /package/dist/public/assets/{pdf-Dfrvv9Dp.js → pdf-BC6z-ijO.js} +0 -0
- /package/dist/public/assets/{pdf.worker-BW4O2Ok7.js → pdf.worker-CoJyScAX.js} +0 -0
- /package/dist/public/assets/{perl-CBgKNlH2.js → perl-D0WL8lyk.js} +0 -0
- /package/dist/public/assets/{properties-CYWLEd9P.js → properties-wKN3JgMQ.js} +0 -0
- /package/dist/public/assets/{r-C7V19TwF.js → r-B9o_5PRF.js} +0 -0
- /package/dist/public/assets/{rough.esm-DGd9yuC8.js → rough.esm-ClvsyqQj.js} +0 -0
- /package/dist/public/assets/{ruby-XhXUlf0J.js → ruby-DTqG95KX.js} +0 -0
- /package/dist/public/assets/{share-metadata-rows-C9T0cDSG.js → share-metadata-rows-DexRdF2p.js} +0 -0
- /package/dist/public/assets/{shell-CGj6v8kb.js → shell-DDux6XjL.js} +0 -0
- /package/dist/public/assets/{sql-CLlqBctF.js → sql-Drqtn151.js} +0 -0
- /package/dist/public/assets/{src-DHCu-mNI.js → src-DQSPzvWZ.js} +0 -0
- /package/dist/public/assets/{startup-marks-DkfPsa68.js → startup-marks-DDtA9pbt.js} +0 -0
- /package/dist/public/assets/{stex-Bt71ugp5.js → stex-4t0JIuX_.js} +0 -0
- /package/dist/public/assets/{swift-C_3ADj_i.js → swift-B0YNGkay.js} +0 -0
- /package/dist/public/assets/{toml-DohB9k6t.js → toml-DU2M2RLq.js} +0 -0
- /package/dist/public/assets/{trace-api-BIWqyPc9.js → trace-api-D6fqC5Nw.js} +0 -0
- /package/dist/public/assets/{w3c-keyname-CRPBoZED.js → w3c-keyname-CHcJEDvG.js} +0 -0
- /package/dist/public/assets/{worktree-store-DfQ15jw3.js → worktree-store-CPUnHORD.js} +0 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{s as e}from"./chunk-C94x7I9S.mjs";import{Jo as t,c as n,l as r,s as i,u as a}from"./server-lock-iLcBw_q0-6FEAZKHu.mjs";import{Ar as o,Sn as s,ei as c,fa as l,kr as u,un as d,vn as f}from"./dist-Bu8EnbFm.mjs";import{t as p}from"./esm-CsQUg9js.mjs";import"./gh-detect-Dvi-l8Fu.mjs";import{E as m,S as ee,T as h,_ as g,b as te,o as ne,v as re,w as _}from"./init-0JqajBIK.mjs";import{_ as ie,d as ae,i as oe,v}from"./write-project-skill-XtppilgQ.mjs";import"./loader-DX0gEzQH.mjs";import{c as y}from"./colors-8SzMRIVy.mjs";import"./preview-BVy_yUWj.mjs";import{dirname as b,isAbsolute as x,join as S,relative as C,resolve as w}from"node:path";import{hostname as se}from"node:os";import{existsSync as T,lstatSync as ce,readFileSync as E,readlinkSync as le,rmSync as ue,statSync as de}from"node:fs";import{readFile as D,realpath as O}from"node:fs/promises";function k(e,t,o={}){let s=a(e,t);if(!T(s))return{status:`missing`,lockPath:s};let c;try{c=JSON.parse(E(s,`utf-8`))}catch{return{status:`corrupt`,lockPath:s}}if(!c||typeof c!=`object`||!r(c.pid))return{status:`corrupt`,lockPath:s};let l=c;if(!(o.isAlive??n)(l.pid))return{status:`dead-pid`,lockPath:s,lock:l};if(typeof l.machineId==`string`)return l.machineId===(o.machineId??i())?{status:`alive`,lockPath:s,lock:l}:{status:`foreign-host`,lockPath:s,lock:l};let u=o.host??se();return l.hostname===u?{status:`alive`,lockPath:s,lock:l}:{status:`foreign-host`,lockPath:s,lock:l}}function A(e){return e.replace(/:\d+$/,``)}function j(e){let t=e.trim();if(!t)return null;{let e=/^https?:\/\/([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`https`,hostname:A(e[1]),owner:e[2],name:e[3]}}{let e=/^ssh:\/\/(?:[\w.-]+@)?([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`ssh`,hostname:A(e[1]),owner:e[2],name:e[3]}}{let e=/^git:\/\/([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`git`,hostname:A(e[1]),owner:e[2],name:e[3]}}{let e=/^(?:[\w.-]+@)?([\w.-]+):([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?$/.exec(t);if(e?.[1].includes(`.`)||e&&t.startsWith(`git@`))return{protocol:`ssh`,hostname:e[1],owner:e[2],name:e[3]}}{let e=/^git:([\w.-]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`git`,hostname:e[1],owner:e[2],name:e[3]}}if(!t.includes(`://`)&&!t.includes(`@`)&&!t.startsWith(`/`)){let e=/^([\w.-]+)\/([\w.\-~%]+?)(?:\.git)?$/.exec(t);if(e)return{protocol:`https`,hostname:`github.com`,owner:e[1],name:e[2]}}return null}function M(e){let t;try{t=new URL(e)}catch{return null}if(t.hostname!==`github.com`&&t.hostname!==`www.github.com`)return null;let n=t.pathname.split(`/`).filter(e=>e.length>0);if(n.length<5||n[2]!==`blob`)return null;let r,i,a,o;try{r=decodeURIComponent(n[0]),i=decodeURIComponent(n[1]),a=decodeURIComponent(n[3]),o=n.slice(4).map(e=>decodeURIComponent(e))}catch{return null}return!r||!i||!a||o.length===0||o.some(e=>e.length===0)?null:{owner:r,repo:i,branch:a,path:o.join(`/`)}}function N(e){let t;try{t=new URL(e)}catch{return null}if(t.hostname!==`github.com`&&t.hostname!==`www.github.com`)return null;let n=t.pathname.split(`/`);if(n.length<5||n[0]!==``||n[3]!==`tree`)return null;let r=n.slice(5);r.length===1&&r[0]===``&&r.pop();let i,a,o,s;try{i=decodeURIComponent(n[1]),a=decodeURIComponent(n[2]),o=decodeURIComponent(n[4]),s=r.map(e=>decodeURIComponent(e))}catch{return null}return!i||!a||!o||s.some(e=>e.length===0)?null:{owner:i,repo:a,branch:o,path:s.join(`/`)}}function P(e){let t=M(e);if(t)return{kind:`doc`,...t};let n=N(e);return n?{kind:`folder`,...n}:null}const F=`# >>> open-knowledge cli >>>`,I=`# <<< open-knowledge cli <<<`,L=/^# >>> open-knowledge cli >>>\n[\s\S]*?^# <<< open-knowledge cli <<<\n?/m;function R(e){return S(e,`Library`,`Application Support`,`OpenKnowledge`,`path-install.json`)}const z={existsSync:e=>T(e),readFileSync:(e,t)=>E(e,t),lstatSync:e=>ce(e),readlinkSync:e=>le(e)};function B(e,t=z){let n=R(e);if(!t.existsSync(n))return null;try{let e=JSON.parse(t.readFileSync(n,`utf8`));return e?.version===1?e:null}catch{return null}}function V(e){let t=e.replace(L,``);return{text:t,changed:t!==e,emptyAfter:t.trim()===``}}function H(e,t,n=z){try{return n.lstatSync(e).isSymbolicLink()?n.readlinkSync(e)===t:!1}catch{return!1}}var fe=t();function pe(e){return ie(e)||v(e)||ee(e)}const U=10*1024*1024;function me(e,t,n,r){let i=ne(e,t,n,r);if(i.kind===`absent`||i.kind===`no-entry`)return{kind:`not-present`};if(i.kind===`decline`)return{kind:`declined`,reason:i.reason};if(!pe(i.entry))return{kind:`left-foreign`};let a;try{a=r??e.configPath(t,n)}catch{return{kind:`not-present`}}let o=e.serverName(t);return e.format===`file`?(ue(a,{force:!0}),{kind:`removed`}):e.format===`toml`?_e(a,o):e.format===`yaml`?ge(a,e.topLevelKey,o):he(a,e.topLevelKey,e.serverMapSubKey,o)}function he(e,t,n,r){let i;try{i=E(e,`utf-8`)}catch{return{kind:`declined`,reason:`unparseable`}}if(Buffer.byteLength(i,`utf-8`)>U)return{kind:`declined`,reason:`oversize`};let{text:a,changed:o}=m(i,g(t,n,r));return o?(l(e,a,{mode:_(e)}),{kind:`removed`}):{kind:`not-present`}}function ge(e,t,n){let r;try{r=E(e,`utf-8`)}catch{return{kind:`declined`,reason:`unparseable`}}if(Buffer.byteLength(r,`utf-8`)>U)return{kind:`declined`,reason:`oversize`};let i=r.charCodeAt(0)===65279,a=i?r.slice(1):r,o=(0,fe.parseDocument)(a);if(o.errors.length>0)return{kind:`declined`,reason:`unparseable`};let s=[t,n];if(!o.hasIn(s))return{kind:`not-present`};o.deleteIn(s);let c=o.toString(),u=h(a);a.trim()===``||a.endsWith(`
|
|
2
|
+
`)?c.endsWith(`
|
|
3
|
+
`)||(c=`${c}\n`):c=c.replace(/\n+$/,``),u&&(c=c.replace(/\r\n/g,`
|
|
4
|
+
`).replace(/\n/g,`\r
|
|
5
|
+
`));let d=`${i?``:``}${c}`;return d!==r&&l(e,d,{mode:_(e)}),{kind:`removed`}}function _e(e,t){let n=te();if(n.backend===`fallback`)return{kind:`declined`,reason:`no-native-writer`};let r;try{r=E(e,`utf-8`)}catch{return{kind:`declined`,reason:`unparseable`}}let i=r.charCodeAt(0)===65279,a=i?r.slice(1):r,o=h(a),s=a.trim()===``||a.endsWith(`
|
|
6
|
+
`),c;try{c=n.removeEntry(a,t)}catch{return{kind:`declined`,reason:`unparseable`}}if(!c.existed)return{kind:`not-present`};let u=c.text;s?u.endsWith(`
|
|
7
|
+
`)||(u=`${u}\n`):u=u.replace(/\n+$/,``),o&&(u=u.replace(/\r\n/g,`
|
|
8
|
+
`).replace(/\n/g,`\r
|
|
9
|
+
`));let d=`${i?``:``}${u}`;return d!==r&&l(e,d,{mode:_(e)}),{kind:`removed`}}const ve=new Set([`start`,`stop`,`status`,`clean`,`ui`,`mcp`,`preview`,`deinit`]);function ye(e,t,n=s){if(e!==void 0&&!ve.has(e))return null;let r=n(t);return r===null||r.distance===0?null:r.rootPath}let W=null;function be(e){W=e}function xe(){return W??process.cwd()}var G=e(y(),1);function Se(e){return e==null?!1:e.includes(`--type=utility`)&&e.includes(`--utility-sub-type=node.mojom.NodeService`)}function Ce(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 we(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:Se(r)}}function Te(e){return e.ui==null?!1:e.ui.status===`alive`||e.ui.status===`foreign-host`}function K(e){let t=e.server.status;return t===`alive`||t===`foreign-host`?e.isDesktop?`desktop`:t===`alive`?`running`:`foreign`:t===`dead-pid`&&Te(e)?`ui-orphan`:`stale`}const Ee=new Set([`running`,`desktop`,`foreign`,`ui-orphan`]);function De(e){switch(e){case`running`:return G.default.green(e);case`desktop`:return G.default.blue(e);case`foreign`:return G.default.cyan(e);case`ui-orphan`:return G.default.magenta(e);case`stale`:return G.default.yellow(e)}}function q(e){return e==null?`—`:`${e.cpuPercent.toFixed(1)}% / ${e.memPercent.toFixed(1)}%`}function Oe(e){return`${q(e.server.usage)} | ${q(e.ui?.usage??null)}`}function ke(e){return`${e.server.port===0?`(starting)`:String(e.server.port)} / ${e.ui==null||e.ui.status===`dead-pid`?`—`:String(e.ui.port)}`}function Ae(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=K(e),n=t===`ui-orphan`&&e.ui!=null?e.ui.pid:e.server.pid;return[e.directory,ke(e),Oe(e),t,String(n),Ce(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=De(K(e))+` `.repeat(Math.max(0,(i[t]??0)-r.length))}o.push(n)}return o.join(` `).trimEnd()}),s=G.default.dim(`To stop a server: ok stop <port|pid|directory|all>`);return[a,...o,``,s].join(`
|
|
10
|
+
`)}async function J(e={}){let t=e.discover??d,n=e.inspect??k,r=e.log??(e=>console.log(e)),i=e.resolveCommand??u,a=e.resolveUsage??o,s=await t(),c=[];for(let e of s){let t=n(e,`server`),r=n(e,`ui`),o=we(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&&c.push(o)}if(e.json){let e=c.map(e=>({...e,displayStatus:K(e)}));r(JSON.stringify(e,null,2));return}r(Ae(e.all?c:c.filter(e=>Ee.has(K(e)))))}function je(){return new p(`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 J({all:t.all===!0||e===`all`,json:t.json===!0})})}function Me(e,t,r={}){let i=r.isAlive??n,a=[];for(let[n,r]of[[`server`,e],[`ui`,t]])(r.status===`alive`||r.status===`foreign-host`&&i(r.lock.pid))&&a.push({name:n,pid:r.lock.pid,port:r.lock.port});return{targets:a}}function Y(e){let t=e.inspect??(t=>k(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=Me(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 X(e,t){return e.status===`alive`?!0:e.status===`foreign-host`?t(e.lock.pid):!1}async function Ne(e,t=n){let r=await d(),i=null;for(let n of r){let r=k(n,`server`),a=k(n,`ui`);if(X(r,t)&&r.lock.port===e||X(a,t)&&a.lock.port===e)return n;i===null&&(X(r,t)&&r.lock.pid===e||X(a,t)&&a.lock.pid===e)&&(i=n)}return i}function Z(e){let t=Y({lockDir:e});return t.failed.length>0&&(process.exitCode=1),t}function Pe(e){return new p(`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 r=t.length===0?void 0:t.join(` `);if(r===void 0){e();let t=Y({lockDir:c(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 J({});return}if(r===`all`){let e=await d();if(e.length===0){console.log(`No running open-knowledge servers found.`);return}let t=0;for(let r of e){let e=k(r,`server`),i=k(r,`ui`);!X(e,n)&&!X(i,n)||(Z(r),t++)}t===0&&console.log(`No running open-knowledge servers found.`);return}if(/^\d+$/.test(r)){let e=Number.parseInt(r,10),t=await Ne(e);if(t===null){console.log(`No running open-knowledge server found with port or PID ${e}.`);return}Z(t);return}Z(c(w(xe(),r)))})}function Fe(e){return{event:`mcp-config-decline`,scope:e.scope,surface:e.surface,editorId:e.editorId,reason:e.reason}}async function Q(e,t){let n,r;try{n=await O(w(e)),r=await O(w(b(e)))}catch{return{kind:`not-git`}}if(!$(n,r))return{kind:`symlink-escape`};let i=S(n,`.git`),a;try{a=de(i)}catch{return{kind:`not-git`}}let o;if(a.isDirectory()){let e;try{e=await O(i)}catch{return{kind:`not-git`}}if(!$(e,n))return{kind:`symlink-escape`};o=e}else if(a.isFile()){let e;try{e=await D(i,`utf-8`)}catch{return{kind:`not-git`}}let t=/^gitdir:\s*(.+)$/m.exec(e.trim());if(!t)return{kind:`not-git`};let r=t[1].trim(),a=x(r)?r:w(n,r);try{o=await O(a)}catch{return{kind:`not-git`}}}else return{kind:`not-git`};let s=S(await Ie(o),`config`),c;try{c=await D(s,`utf-8`)}catch{return{kind:`not-git`}}let l=Re(c);if(l===null)return{kind:`no-origin`};let u=j(l);if(u===null||u.hostname!==`github.com`)return{kind:`non-github`};let d=u.owner.toLowerCase()===t.owner.toLowerCase(),f=u.name.toLowerCase()===t.repo.toLowerCase();return!d||!f?{kind:`wrong-repo`,actualOwner:u.owner,actualRepo:u.name}:{kind:`ok`,gitRemoteUrl:`https://github.com/${u.owner}/${u.name}.git`}}async function Ie(e){let t;try{t=(await D(S(e,`commondir`),`utf-8`)).trim()}catch{return e}if(t.length===0)return e;let n=x(t)?t:w(e,t);try{return await O(n)}catch{return n}}function $(e,t){if(e===t)return!0;let n=C(t,e);return n.length>0&&!n.startsWith(`..`)&&!x(n)}function Le(e){let t=e.indexOf(`#`),n=e.indexOf(`;`),r=-1;return t>=0&&n>=0?r=Math.min(t,n):t>=0?r=t:n>=0&&(r=n),(r===-1?e:e.slice(0,r)).trim()}function Re(e){let t=!1;for(let n of e.split(/\r?\n/)){let e=Le(n);if(e.length===0)continue;if(e.startsWith(`[`)){t=/^\[\s*remote\s+["']origin["']\s*\]$/.test(e);continue}if(!t)continue;let r=/^url\s*=\s*(.+)$/.exec(e);if(r)return ze(r[1])}return null}function ze(e){let t=e.trim();return t.startsWith(`"`)&&t.endsWith(`"`)||t.startsWith(`'`)&&t.endsWith(`'`)?t.slice(1,-1):t}const Be=[{id:`mcp-config`,write(e,t,n){let r=e.projectConfigPath?.(t);if(!r)return{integration:`mcp-config`,editorId:e.id,action:`skipped-unsupported`};try{let i=re(e,t,n,void 0,r);return i.action===`written`||i.action===`overwritten`?{integration:`mcp-config`,editorId:e.id,action:i.action,path:i.configPath}:i.action===`failed`?{integration:`mcp-config`,editorId:e.id,action:`failed`,path:i.configPath,error:i.error??`unknown failure`}:i.action===`declined`?{integration:`mcp-config`,editorId:e.id,action:`declined`,path:i.configPath,...i.declineReason===void 0?{}:{reason:i.declineReason}}:{integration:`mcp-config`,editorId:e.id,action:`failed`,path:i.configPath,error:`unexpected project-scope action: ${i.action}`}}catch(t){return{integration:`mcp-config`,editorId:e.id,action:`failed`,path:r,error:t instanceof Error?t.message:String(t)}}}},{id:`project-skill`,write(e,t,n){try{let n=oe(e,t);return{integration:`project-skill`,editorId:e.id,action:n.action,...n.path?{path:n.path}:{},...n.error?{error:n.error}:{}}}catch(t){return{integration:`project-skill`,editorId:e.id,action:`failed`,error:t instanceof Error?t.message:String(t)}}}}];function Ve(e,t,n={},r=Be){let i=[];for(let a of t){let t=ae[a];for(let a of r)i.push(a.write(t,e,n))}return i}function He(e,t,n={}){return{integrations:Ve(e,t,n)}}export{M as _,Pe as a,j as b,ye as c,L as d,I as f,V as g,B as h,Y as i,me as l,R as m,Q as n,je as o,H as p,Fe as r,be as s,He as t,F as u,P as v,k as x,N as y};
|
|
11
|
+
//# sourceMappingURL=src-r-A-5thI.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as e,f as t,r as n}from"./start-uH8C-cIP.mjs";export{n as bootStartServer,t as resolveHost,e as startCommand};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{In as e,ht as t}from"./server-lock-iLcBw_q0-nWzkxbfg.mjs";import{ar as n,kr as r,vr as i}from"./dist-Pe1Q8dMj.mjs";import{n as a,t as o}from"./esm-CsQUg9js.mjs";import{i as s,t as c}from"./gh-detect-C6QZctcU.mjs";import{n as l}from"./constants-B8Zie8rF.mjs";import{spawn as u}from"node:child_process";import{basename as d,dirname as f,join as p}from"node:path";import{homedir as m}from"node:os";import{closeSync as h,existsSync as g,mkdirSync as _,openSync as v,statSync as y}from"node:fs";import{rm as b}from"node:fs/promises";import{setTimeout as x}from"node:timers/promises";const S=`OpenKnowledge.app`,C=`/Applications/${S}`;function w(){return{platform:process.platform,env:process.env,execPath:process.execPath,isTTY:process.stdout.isTTY,statSync:e=>{try{return y(e,{throwIfNoEntry:!1})??null}catch{return null}}}}function T(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`){let t=/(.+?\.app)\/Contents\/MacOS\//.exec(e.execPath);if(t?.[1])return t[1]}if(E(e,C))return C;let t=p(e.homeDir??m(),`Applications`,S);return E(e,t)?t:null}function E(e,t){try{let n=p(t,`Contents`,`MacOS`,`OpenKnowledge`),r=e.statSync(n);return r&&typeof r.isFile==`function`?r.isFile():!1}catch{return!1}}function D(e){if(e.env.OK_FORCE_BROWSER===`1`)return{available:!1,reason:`force-browser`};if(e.platform!==`darwin`)return{available:!1,reason:`darwin-only`};let t;try{t=T(e)}catch{return{available:!1,reason:`stat-error`}}return t?e.env.OK_FORCE_DESKTOP===`1`?{available:!0,reason:`available`,bundlePath:t}:e.isTTY!==!0||e.env.SSH_CONNECTION||e.env.SSH_TTY?{available:!1,reason:`headless`,bundlePath:t}:{available:!0,reason:`available`,bundlePath:t}:{available:!1,reason:`no-bundle`}}function O(e){(e.log??(e=>console.error(e)))("Launching OpenKnowledge desktop (use `ok start` for the browser server, or `OK_FORCE_BROWSER=1` to always skip)");let t={...process.env};delete t.ELECTRON_RUN_AS_NODE,e.spawn(`open`,[`-b`,`com.inkeep.open-knowledge`],{detached:!0,stdio:`ignore`,env:t}).unref()}function k(e=`no-bundle`){switch(e){case`no-bundle`:return`Desktop app not found at ${C}. Install via DMG, or omit --mode for browser mode.`;case`darwin-only`:return`Desktop app is macOS-only on this release. Use --mode=browser, or omit --mode for the server fallback.`;case`headless`:return`Desktop launch is gated in headless contexts (CI, SSH, non-TTY stdout). Set OK_FORCE_DESKTOP=1 to override, or use --mode=browser.`;case`force-browser`:return`OK_FORCE_BROWSER=1 is set — desktop dispatch is disabled. Unset it to use --mode=app.`;case`stat-error`:return`Failed to inspect desktop bundle at ${C} (filesystem error). Check permissions or use --mode=browser.`;case`available`:return`Desktop app appears available at ${C} but launch dispatch did not fire (caller bug).`}}function A(e){return p(f(e),`..`,`Frameworks`,`OpenKnowledge Server.app`,`Contents`,`MacOS`,`OpenKnowledge Helper`)}const j=/\/[^/]+\.app\/Contents\/MacOS\/[^/]+$/;function M(e){if(e.platform!==`darwin`||!j.test(e.execPath))return null;let t=A(e.execPath);return e.exists(t)?t:null}function N(e={}){let t=e.execPath??process.execPath,n=e.platform??process.platform,r=e.argv??process.argv,i=e.exists??g,a=r[1];return a?{command:M({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 P(e,t){return e.host??t.HOST??`127.0.0.1`}function F(e){let t=d(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var I=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 L(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 R(t){g(t.lockDir)||_(t.lockDir,{recursive:!0});let n=v(p(t.lockDir,e),`w`),r=t.spawn??u,{PORT:i,...a}=process.env,o=N();try{let e=r(o.command,[...o.prefixArgs,...t.args??[`ui`]],{detached:!0,stdio:[`ignore`,`ignore`,n],windowsHide:!0,cwd:t.cwd,env:{...a,ELECTRON_RUN_AS_NODE:`1`}});return e.unref(),e}finally{try{h(n)}catch{}}}function z(e,t,n){return e??(n===void 0?t:void 0)}function B(e,t){return e!==void 0&&t!==null&&t.port>0&&t.draining!==!0}function V(e,t,n){return e??(t!=null&&!n?1:0)}async function H(e){let t=e.spawn??u,n=N(),{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=V(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 U(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 W=t;function G(e,t,n=e=>b(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 K(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?1:0,openHandles:e??{},handlesAvailable:e!==null},`idle-shutdown: teardown finished — exiting process`),n(i?1:0)}}}function q(e){let t=e.sigtermGraceMs??W,n=e.sigtermPollIntervalMs??200,r=e.sleep??(e=>x(e));return async()=>{try{let i=e.readUiLock();if(i&&e.isAlive(i.pid))try{e.killPid(i.pid,`SIGTERM`),e.log?.info({pid:i.pid,port:i.port},`idle-shutdown: SIGTERM UI sibling`);let a=Date.now()+t;for(;Date.now()<a&&e.isAlive(i.pid);)await r(n);if(e.isAlive(i.pid))try{e.killPid(i.pid,`SIGKILL`),e.log?.warn({pid:i.pid,graceMs:t},`idle-shutdown: SIGTERM grace expired — escalated to SIGKILL`)}catch(t){e.log?.error({pid:i.pid,err:t instanceof Error?t.message:String(t)},`idle-shutdown: SIGKILL failed`)}}catch(t){e.log?.warn({pid:i.pid,err:t instanceof Error?t.message:String(t)},`idle-shutdown: failed to SIGTERM UI sibling`)}}catch(t){e.log?.warn({err:t instanceof Error?t.message:String(t)},`idle-shutdown: UI lookup failed; proceeding with destroy`)}await e.destroy()}}async function J(e){let{config:t,cwd:a,host:o}=e,l=e.skipAutoInit??!1,u=e.skipUiAutoSpawn??!1,d=e.idleThresholdMs??18e5,{existsSync:f,mkdirSync:p}=await import(`node:fs`),{basename:m,dirname:h}=await import(`node:path`),{bootServer:g,getLogger:_,isProcessAlive:v,readUiLock:y,resolveContentDir:b,resolveLockDir:S,waitForServerLockDrain:C}=await import(`./dist-BYM_jxPa.mjs`),w=e.log??_(`start`),T=e.singleFile!==void 0,E=e.projectDir??a,D=T?r(e.singleFile).canonicalFilePath:void 0,O=D?h(D):void 0,k=D?m(D):void 0;if(!T){if(!l&&!n(a))throw new I(a);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`))&&w.warn({event:e},`[start] reclaim sweep reported a problem`)};try{(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-CfO_BZxd.mjs`)).repairMcpConfigs)({projectDir:a,reclaimDisableEnv:t,logger:r})}catch(e){w.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-B6nfMuDG.mjs`)).repairLaunchJson)({projectDir:a,reclaimDisableEnv:t,logger:r})}catch(e){w.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}try{await(e.repairSkillsFn??(await import(`./repair-skills-BDe9l22O.mjs`)).repairSkills)({projectDir:a,reclaimDisableEnv:t,logger:r})}catch(e){w.warn({err:e},`[start] skill repair sweep failed; continuing`)}}let A=O??b(t,a);!T&&!f(A)&&(p(A,{recursive:!0}),w.info({contentDir:A},`Created content directory`));let j=null,M=async({lockDir:t})=>{if(j=L({uiLock:y(t),isAlive:v}),j.action===`spawn`&&!u)try{let n=e.uiPort===void 0?void 0:[`ui`,`--port`,String(e.uiPort)];R({lockDir:t,cwd:a,spawn:e.spawn,args:n}),w.info({reason:j.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 j.action===`skip`&&w.info({port:j.port,pid:j.pid},`UI already running at port ${j.port}`)},N=e.reactShellDistDir===void 0,P=s(),F=i();{let e=S(T?E:a),t=Date.now(),n=await C(e);n!==`no-drain`&&w.info({event:`start-waited-for-draining-predecessor`,outcome:n,waitedMs:Date.now()-t,drainLockDir:e},n===`released`?`[start] predecessor server finished draining — proceeding`:`[start] predecessor server still draining after wait — proceeding to collide`)}let z=await g({config:t,contentDir:A,projectDir:T?E:a,contentRoot:T?void 0:t.content.dir,port:e.port,host:o,quiet:!1,detectGh:c,tokenStore:P,embeddingsKeyStore:F,...T?{ephemeral:!0,singleDocRelPath:k,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],attachUiSibling:N,idleShutdownMs:d,skipAutoInit:!0,...N?{spawnUiSiblingFn:M}:{},idleShutdownHandler:t=>{let n=q({readUiLock:()=>y(z.lockDir),isAlive:v,killPid:(e,t)=>{process.kill(e,t)},destroy:t,log:w});return K(T?G(n,E):n,{log:w,exit:e.idleExit})},log:w,...e.serveContentAssets===void 0?{}:{serveContentAssets:e.serveContentAssets},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{}});j||={action:`skip`,reason:`alive`,pid:0,port:0};let B=j,V=null;if(B.action===`skip`)V=B.port>0?B.port:null;else if(!u){let t=e.uiBindTimeoutMs??3e3;V=await U({readUiLock:()=>y(z.lockDir),now:Date.now,sleep:e=>x(e),timeoutMs:t,pollIntervalMs:50}),V===null&&w.warn({timeoutMs:t},`[start] ok ui did not bind within timeout — banner falls back to API URL`)}return{httpServer:z.httpServer,destroy:z.destroy,lockDir:z.lockDir,contentDir:A,port:z.port,ready:z.ready,degraded:z.degraded,uiSpawnDecision:j,resolvedUiPort:V}}function ee(e){if(e===`browser`||e===`app`)return e;throw new a(`--mode must be 'browser' or 'app'`)}function te(e){let t=Number.parseInt(e,10);if(Number.isNaN(t)||t<1||t>65535)throw new a(`--ui-port must be a port number between 1 and 65535`);return t}function Y(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function X(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 Z(e,t){let n=Y(process.env);n!==null&&(process.env.OK_CONSOLE_LEVEL=n);let{renderBanner:r}=await import(`./banner-BLebOalA.mjs`),{accent:i,dim:a,error:o,warning:s}=await import(`./colors-CmkIIbww.mjs`),c=process.cwd(),u=e;process.title=F(c);let d=P(t,process.env),f=t.port===void 0?void 0:Number(t.port),p=process.env.PORT?Number(process.env.PORT):void 0,m=t.uiPort===void 0?void 0:Number(t.uiPort),h=z(f,p,m);if(m!==void 0){let{readServerLock:e,resolveLockDir:t}=await import(`./dist-BYM_jxPa.mjs`);if(B(m,e(t(c)))){await H({cwd:c,uiPort:m});return}}let g;try{g=await J({config:u,cwd:c,host:d,port:h,...m===void 0?{}:{uiPort:m},...t.serveContentAssets===void 0?{}:{serveContentAssets:t.serveContentAssets},...t.reactShellDistDir?{reactShellDistDir:t.reactShellDistDir}:{},...t.singleFile?{singleFile:t.singleFile}:{},...t.projectDir?{projectDir:t.projectDir}:{}})}catch(e){e instanceof I&&(console.error(o(e.message)),process.exit(1));let t=await import(`./dist-BYM_jxPa.mjs`);if((e instanceof t.GitNotAvailableError||e instanceof t.GitTooOldError)&&process.exit(78),(e instanceof t.SingleFileNotFoundError||e instanceof t.SingleFileNotAFileError||e instanceof t.SingleFileNotMarkdownError)&&(console.error(o(e.message)),process.exit(1)),m!==void 0&&Q(e,t)){await H({cwd:c,uiPort:m});return}let n=$(e,c,t);n!==null&&(console.error(o(n)),process.exit(1)),console.error(`${o(`Failed to start:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exit(1)}let _=!1,v=async e=>{if(_)return;_=!0;let[t,...n]=X(e);console.log(i(`\n${t}`));for(let e of n)console.log(a(` ${e}`));try{await g.destroy()}catch(e){console.error(`${o(`destroy() failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exitCode=1}process.exit(process.exitCode??0)};process.once(`SIGINT`,()=>{v(`SIGINT`)}),process.once(`SIGTERM`,()=>{v(`SIGTERM`)});let y=`http://${d}:${g.port}`,b=d===`0.0.0.0`||d===`::`?`http://0.0.0.0:${g.port}`:void 0,x=g.resolvedUiPort,S=x!==null&&x>0?`http://${d}:${x}`:y;console.log(r({name:`open-knowledge`,version:l,localUrl:S,apiUrl:S===y?void 0:y,networkUrl:b,nextSteps:[`Open the Editor URL in your browser to start editing.`]}));let C={"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`};g.ready.then(async()=>{if(g.degraded.length>0){console.log();for(let e of g.degraded){let t=C[e]??`${e} (check server logs for details)`;console.warn(` ${s(`⚠`)} ${s(e)}: ${a(t)}`)}console.log()}if(t.open){let{openBrowser:e}=await import(`./open-browser-CPSoIF8R.mjs`);e(S)}}).catch(e=>{console.error(` ${o(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})}function Q(e,t){let n=t.ServerLockCollisionError;return n!==void 0&&e instanceof n}function $(e,t,n){let r=n.ServerLockCollisionError;if(r===void 0||!(e instanceof r))return null;try{let e=p(t,`.ok`),r=n.readServerLock(e);return r?r.kind===`interactive`?`OpenKnowledge desktop is currently running on this project. Quit it or use --cwd to point elsewhere.`:r.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`.":"OpenKnowledge server is already running on this project — check `ok status` or `ok stop`."}catch{return null}}function ne(e){return new o(`start`).description(`Start the knowledge base collab server`).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`,te).option(`-H, --host <host>`,`Server host`,void 0).option(`--open`,`Open browser after start`).option(`--mode <mode>`,`Force dispatch mode: 'browser' or 'app'`,ee).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)`).action(async t=>{let n=e();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)
|
|
1
|
+
import{Mn as e,ht as t}from"./server-lock-iLcBw_q0-6FEAZKHu.mjs";import{Or as n,ar as r,vr as i}from"./dist-Bu8EnbFm.mjs";import{n as a,t as o}from"./esm-CsQUg9js.mjs";import{i as s,t as c}from"./gh-detect-Dvi-l8Fu.mjs";import{n as l}from"./constants-Buc3Khk9.mjs";import{spawn as u}from"node:child_process";import{basename as d,dirname as f,join as p}from"node:path";import{homedir as m}from"node:os";import{closeSync as h,existsSync as g,mkdirSync as _,openSync as v,statSync as y}from"node:fs";import{rm as b}from"node:fs/promises";import{setTimeout as x}from"node:timers/promises";const S=`OpenKnowledge.app`,C=`/Applications/${S}`;function w(){return{platform:process.platform,env:process.env,execPath:process.execPath,isTTY:process.stdout.isTTY,statSync:e=>{try{return y(e,{throwIfNoEntry:!1})??null}catch{return null}}}}function T(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`){let t=/(.+?\.app)\/Contents\/MacOS\//.exec(e.execPath);if(t?.[1])return t[1]}if(E(e,C))return C;let t=p(e.homeDir??m(),`Applications`,S);return E(e,t)?t:null}function E(e,t){try{let n=p(t,`Contents`,`MacOS`,`OpenKnowledge`),r=e.statSync(n);return r&&typeof r.isFile==`function`?r.isFile():!1}catch{return!1}}function D(e){if(e.env.OK_FORCE_BROWSER===`1`)return{available:!1,reason:`force-browser`};if(e.platform!==`darwin`)return{available:!1,reason:`darwin-only`};let t;try{t=T(e)}catch{return{available:!1,reason:`stat-error`}}return t?e.env.OK_FORCE_DESKTOP===`1`?{available:!0,reason:`available`,bundlePath:t}:e.isTTY!==!0||e.env.SSH_CONNECTION||e.env.SSH_TTY?{available:!1,reason:`headless`,bundlePath:t}:{available:!0,reason:`available`,bundlePath:t}:{available:!1,reason:`no-bundle`}}function O(e){(e.log??(e=>console.error(e)))("Launching OpenKnowledge desktop (use `ok start` for the browser server, or `OK_FORCE_BROWSER=1` to always skip)");let t={...process.env};delete t.ELECTRON_RUN_AS_NODE,e.spawn(`open`,[`-b`,`com.inkeep.open-knowledge`],{detached:!0,stdio:`ignore`,env:t}).unref()}function k(e=`no-bundle`){switch(e){case`no-bundle`:return`Desktop app not found at ${C}. Install via DMG, or omit --mode for browser mode.`;case`darwin-only`:return`Desktop app is macOS-only on this release. Use --mode=browser, or omit --mode for the server fallback.`;case`headless`:return`Desktop launch is gated in headless contexts (CI, SSH, non-TTY stdout). Set OK_FORCE_DESKTOP=1 to override, or use --mode=browser.`;case`force-browser`:return`OK_FORCE_BROWSER=1 is set — desktop dispatch is disabled. Unset it to use --mode=app.`;case`stat-error`:return`Failed to inspect desktop bundle at ${C} (filesystem error). Check permissions or use --mode=browser.`;case`available`:return`Desktop app appears available at ${C} but launch dispatch did not fire (caller bug).`}}function A(e){return p(f(e),`..`,`Frameworks`,`OpenKnowledge Server.app`,`Contents`,`MacOS`,`OpenKnowledge Helper`)}const j=/\/[^/]+\.app\/Contents\/MacOS\/[^/]+$/;function M(e){if(e.platform!==`darwin`||!j.test(e.execPath))return null;let t=A(e.execPath);return e.exists(t)?t:null}function N(e={}){let t=e.execPath??process.execPath,n=e.platform??process.platform,r=e.argv??process.argv,i=e.exists??g,a=r[1];return a?{command:M({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 P(e,t){return e.host??t.HOST??`127.0.0.1`}function F(e){let t=d(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var I=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 L(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 R(t){g(t.lockDir)||_(t.lockDir,{recursive:!0});let n=v(p(t.lockDir,e),`w`),r=t.spawn??u,{PORT:i,...a}=process.env,o=N();try{let e=r(o.command,[...o.prefixArgs,...t.args??[`ui`]],{detached:!0,stdio:[`ignore`,`ignore`,n],windowsHide:!0,cwd:t.cwd,env:{...a,ELECTRON_RUN_AS_NODE:`1`}});return e.unref(),e}finally{try{h(n)}catch{}}}function z(e,t,n){return e??(n===void 0?t:void 0)}function B(e,t){return e!==void 0&&t!==null&&t.port>0&&t.draining!==!0}function V(e,t,n){return e??(t!=null&&!n?1:0)}async function H(e){let t=e.spawn??u,n=N(),{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=V(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 U(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 W=t;function G(e,t,n=e=>b(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 K(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?1:0,openHandles:e??{},handlesAvailable:e!==null},`idle-shutdown: teardown finished — exiting process`),n(i?1:0)}}}function q(e){let t=e.sigtermGraceMs??W,n=e.sigtermPollIntervalMs??200,r=e.sleep??(e=>x(e));return async()=>{try{let i=e.readUiLock();if(i&&e.isAlive(i.pid))try{e.killPid(i.pid,`SIGTERM`),e.log?.info({pid:i.pid,port:i.port},`idle-shutdown: SIGTERM UI sibling`);let a=Date.now()+t;for(;Date.now()<a&&e.isAlive(i.pid);)await r(n);if(e.isAlive(i.pid))try{e.killPid(i.pid,`SIGKILL`),e.log?.warn({pid:i.pid,graceMs:t},`idle-shutdown: SIGTERM grace expired — escalated to SIGKILL`)}catch(t){e.log?.error({pid:i.pid,err:t instanceof Error?t.message:String(t)},`idle-shutdown: SIGKILL failed`)}}catch(t){e.log?.warn({pid:i.pid,err:t instanceof Error?t.message:String(t)},`idle-shutdown: failed to SIGTERM UI sibling`)}}catch(t){e.log?.warn({err:t instanceof Error?t.message:String(t)},`idle-shutdown: UI lookup failed; proceeding with destroy`)}await e.destroy()}}async function J(e){let{config:t,cwd:a,host:o}=e,l=e.skipAutoInit??!1,u=e.skipUiAutoSpawn??!1,d=e.idleThresholdMs??18e5,{existsSync:f,mkdirSync:p}=await import(`node:fs`),{basename:m,dirname:h}=await import(`node:path`),{bootServer:g,getLogger:_,isProcessAlive:v,readUiLock:y,resolveContentDir:b,resolveLockDir:S,waitForServerLockDrain:C}=await import(`./dist-s05zKf10.mjs`),w=e.log??_(`start`),T=e.singleFile!==void 0,E=e.projectDir??a,D=T?n(e.singleFile).canonicalFilePath:void 0,O=D?h(D):void 0,k=D?m(D):void 0;if(!T){if(!l&&!r(a))throw new I(a);let t=process.env.OK_RECLAIM_DISABLE??null,n=e=>{let t=typeof e.event==`string`?e.event:``;(t.endsWith(`-failed`)||t.endsWith(`-error`)||t.endsWith(`-missing`))&&w.warn({event:e},`[start] reclaim sweep reported a problem`)};try{(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-Dp3AqC8R.mjs`)).repairMcpConfigs)({projectDir:a,reclaimDisableEnv:t,logger:n})}catch(e){w.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-A83Cn4C3.mjs`)).repairLaunchJson)({projectDir:a,reclaimDisableEnv:t,logger:n})}catch(e){w.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}try{await(e.repairSkillsFn??(await import(`./repair-skills-D5HH0xbe.mjs`)).repairSkills)({projectDir:a,reclaimDisableEnv:t,logger:n})}catch(e){w.warn({err:e},`[start] skill repair sweep failed; continuing`)}}let A=O??b(t,a);!T&&!f(A)&&(p(A,{recursive:!0}),w.info({contentDir:A},`Created content directory`));let j=null,M=async({lockDir:t})=>{if(j=L({uiLock:y(t),isAlive:v}),j.action===`spawn`&&!u)try{let n=e.uiPort===void 0?void 0:[`ui`,`--port`,String(e.uiPort)];R({lockDir:t,cwd:a,spawn:e.spawn,args:n}),w.info({reason:j.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 j.action===`skip`&&w.info({port:j.port,pid:j.pid},`UI already running at port ${j.port}`)},N=e.reactShellDistDir===void 0,P=s(),F=i();{let e=S(T?E:a),t=Date.now(),n=await C(e);n!==`no-drain`&&w.info({event:`start-waited-for-draining-predecessor`,outcome:n,waitedMs:Date.now()-t,drainLockDir:e},n===`released`?`[start] predecessor server finished draining — proceeding`:`[start] predecessor server still draining after wait — proceeding to collide`)}let z=await g({config:t,contentDir:A,projectDir:T?E:a,contentRoot:T?void 0:t.content.dir,port:e.port,host:o,quiet:!1,detectGh:c,tokenStore:P,embeddingsKeyStore:F,...T?{ephemeral:!0,singleDocRelPath:k,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],attachUiSibling:N,idleShutdownMs:d,skipAutoInit:!0,...N?{spawnUiSiblingFn:M}:{},idleShutdownHandler:t=>{let n=q({readUiLock:()=>y(z.lockDir),isAlive:v,killPid:(e,t)=>{process.kill(e,t)},destroy:t,log:w});return K(T?G(n,E):n,{log:w,exit:e.idleExit})},log:w,...e.serveContentAssets?{serveContentAssets:!0}:{},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{}});j||={action:`skip`,reason:`alive`,pid:0,port:0};let B=j,V=null;if(B.action===`skip`)V=B.port>0?B.port:null;else if(!u){let t=e.uiBindTimeoutMs??3e3;V=await U({readUiLock:()=>y(z.lockDir),now:Date.now,sleep:e=>x(e),timeoutMs:t,pollIntervalMs:50}),V===null&&w.warn({timeoutMs:t},`[start] ok ui did not bind within timeout — banner falls back to API URL`)}return{httpServer:z.httpServer,destroy:z.destroy,lockDir:z.lockDir,contentDir:A,port:z.port,ready:z.ready,degraded:z.degraded,uiSpawnDecision:j,resolvedUiPort:V}}function ee(e){if(e===`browser`||e===`app`)return e;throw new a(`--mode must be 'browser' or 'app'`)}function te(e){let t=Number.parseInt(e,10);if(Number.isNaN(t)||t<1||t>65535)throw new a(`--ui-port must be a port number between 1 and 65535`);return t}function Y(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function X(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 Z(e,t){let n=Y(process.env);n!==null&&(process.env.OK_CONSOLE_LEVEL=n);let{renderBanner:r}=await import(`./banner-BLebOalA.mjs`),{accent:i,dim:a,error:o,warning:s}=await import(`./colors-CmkIIbww.mjs`),c=process.cwd(),u=e;process.title=F(c);let d=P(t,process.env),f=t.port===void 0?void 0:Number(t.port),p=process.env.PORT?Number(process.env.PORT):void 0,m=t.uiPort===void 0?void 0:Number(t.uiPort),h=z(f,p,m);if(m!==void 0){let{readServerLock:e,resolveLockDir:t}=await import(`./dist-s05zKf10.mjs`);if(B(m,e(t(c)))){await H({cwd:c,uiPort:m});return}}let g;try{g=await J({config:u,cwd:c,host:d,port:h,...m===void 0?{}:{uiPort:m},...t.serveContentAssets?{serveContentAssets:!0}:{},...t.reactShellDistDir?{reactShellDistDir:t.reactShellDistDir}:{},...t.singleFile?{singleFile:t.singleFile}:{},...t.projectDir?{projectDir:t.projectDir}:{}})}catch(e){e instanceof I&&(console.error(o(e.message)),process.exit(1));let t=await import(`./dist-s05zKf10.mjs`);if((e instanceof t.GitNotAvailableError||e instanceof t.GitTooOldError)&&process.exit(78),(e instanceof t.SingleFileNotFoundError||e instanceof t.SingleFileNotAFileError||e instanceof t.SingleFileNotMarkdownError)&&(console.error(o(e.message)),process.exit(1)),m!==void 0&&Q(e,t)){await H({cwd:c,uiPort:m});return}let n=$(e,c,t);n!==null&&(console.error(o(n)),process.exit(1)),console.error(`${o(`Failed to start:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exit(1)}let _=!1,v=async e=>{if(_)return;_=!0;let[t,...n]=X(e);console.log(i(`\n${t}`));for(let e of n)console.log(a(` ${e}`));try{await g.destroy()}catch(e){console.error(`${o(`destroy() failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exitCode=1}process.exit(process.exitCode??0)};process.once(`SIGINT`,()=>{v(`SIGINT`)}),process.once(`SIGTERM`,()=>{v(`SIGTERM`)});let y=`http://${d}:${g.port}`,b=d===`0.0.0.0`||d===`::`?`http://0.0.0.0:${g.port}`:void 0,x=g.resolvedUiPort,S=x!==null&&x>0?`http://${d}:${x}`:y;console.log(r({name:`open-knowledge`,version:l,localUrl:S,apiUrl:S===y?void 0:y,networkUrl:b,nextSteps:[`Open the Editor URL in your browser to start editing.`]}));let C={"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`};g.ready.then(async()=>{if(g.degraded.length>0){console.log();for(let e of g.degraded){let t=C[e]??`${e} (check server logs for details)`;console.warn(` ${s(`⚠`)} ${s(e)}: ${a(t)}`)}console.log()}if(t.open){let{openBrowser:e}=await import(`./open-browser-B5VaZ8SA.mjs`);e(S)}}).catch(e=>{console.error(` ${o(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})}function Q(e,t){let n=t.ServerLockCollisionError;return n!==void 0&&e instanceof n}function $(e,t,n){let r=n.ServerLockCollisionError;if(r===void 0||!(e instanceof r))return null;try{let e=p(t,`.ok`),r=n.readServerLock(e);return r?r.kind===`interactive`?`OpenKnowledge desktop is currently running on this project. Quit it or use --cwd to point elsewhere.`:r.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`.":"OpenKnowledge server is already running on this project — check `ok status` or `ok stop`."}catch{return null}}function ne(e){return new o(`start`).description(`Start the knowledge base collab server`).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`,te).option(`-H, --host <host>`,`Server host`,void 0).option(`--open`,`Open browser after start`).option(`--mode <mode>`,`Force dispatch mode: 'browser' or 'app'`,ee).option(`--serve-content-assets`,`Serve content assets from this server`).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)`).action(async t=>{let n=e();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)
|
|
2
2
|
`),process.exit(2));let e=[];if(t.port!==void 0&&e.push(`--port`),t.uiPort!==void 0&&e.push(`--ui-port`),t.host!==void 0&&e.push(`--host`),e.length>0){let t=process.env.OK_LOG_LEVEL??`info`;(t===`debug`||t===`trace`)&&console.error(`--mode=app: ignoring ${e.join(`, `)}`)}let n=D(w());if(n.available){O({spawn:u});return}console.error(k(n.reason)),process.exit(1)}await Z(n,t)})}export{D as C,w as S,ne as _,V as a,K as b,F as c,z as d,P as f,R as g,B as h,q as i,X as l,Z as m,U as n,H as o,Y as p,J as r,L as s,I as t,Q as u,$ as v,O as w,N as x,G as y};
|
|
3
|
-
//# sourceMappingURL=start-
|
|
3
|
+
//# sourceMappingURL=start-uH8C-cIP.mjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{It as e,S as t,
|
|
1
|
+
import{It as e,S as t,an as n,wt as r}from"./server-lock-iLcBw_q0-6FEAZKHu.mjs";import{Xr as i,d as a,lt as o}from"./dist-Bu8EnbFm.mjs";import{basename as s,dirname as c,isAbsolute as ee,join as l,posix as u,relative as d,resolve as f,sep as p,win32 as m}from"node:path";import{homedir as h}from"node:os";import{cpSync as te,existsSync as g,lstatSync as _,mkdirSync as v,realpathSync as y,rmSync as b}from"node:fs";const x=t,S=r,C=e,w=`node`,T={MCP_DEBUG:`1`,OK_LOG_FILE:`/tmp/ok-mcp.log`},ne=`# ok-mcp-v1`,E=`# ok-mcp-v1
|
|
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"
|
|
@@ -33,4 +33,4 @@ foreach ($d in $dirs) {
|
|
|
33
33
|
}
|
|
34
34
|
[Console]::Error.WriteLine('OpenKnowledge: install Node.js 24+ (npm i -g @inkeep/open-knowledge), then restart your editor')
|
|
35
35
|
exit 127`,k=`// ok-pi-bridge`,A=`${k}-v1`,j=`ok-pi-managed-extension`;function M(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-v1`)}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-v1`)}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(A)}return!1}function N(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=f(e);if(s(t)===`cli.mjs`&&s(c(t))===`dist`)return t;let n=t.split(p),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?p:i.join(p),`packages`,`cli`,`dist`,`cli.mjs`)}function P(e={}){return e.mode===`dev`?{command:w,args:[N(),`mcp`],env:{...T}}:(e.platformName??process.platform)===`win32`?{command:`powershell`,args:[`-NoProfile`,`-NonInteractive`,`-Command`,O]}:{command:`/bin/sh`,args:[`-l`,`-c`,E]}}function re(e={}){return e.mode===`dev`?{type:`local`,enabled:!0,command:[w,N(),`mcp`],environment:{...T}}:(e.platformName??process.platform)===`win32`?{type:`local`,enabled:!0,command:[`powershell`,`-NoProfile`,`-NonInteractive`,`-Command`,O]}:{type:`local`,enabled:!0,command:[`/bin/sh`,`-l`,`-c`,E]}}function ie(e){if(typeof e!=`object`||!e)return!1;let t=e;return F(t,P({mode:`published`,platformName:`darwin`}))||F(t,P({mode:`published`,platformName:`win32`}))}function F(e,t){if(Object.keys(e).length!==Object.keys(t).length||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){return e===`win32`?m:u}function ae(e={}){let t=e.platformName??process.platform,n=e.home??h(),r=e.env??process.env,i=I(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 L(e={}){let t=e.platformName??process.platform,n=e.home??h();return I(t).join(n,`.claude.json`)}function R(e={}){let t=e.platformName??process.platform,n=e.home??h(),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??m.join(n,`AppData`,`Roaming`);return m.join(e,`Claude`,`claude_desktop_config.json`)}throw Error(`Claude Desktop is not available on ${t}. Supported: macOS, Windows.`)}function z(e={}){let t=e.platformName??process.platform,n=e.home??h();return I(t).join(n,`.cursor`,`mcp.json`)}function B(e={}){let t=e.platformName??process.platform,n=e.home??h();return(e.env??process.env).CODEX_HOME??I(t).join(n,`.codex`)}function V(e={}){return I(e.platformName??process.platform).join(B(e),`config.toml`)}function H(e={}){let t=e.platformName??process.platform,n=e.home??h(),r=e.env??process.env,i=I(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 U(e={}){return I(e.platformName??process.platform).join(H(e),`opencode.json`)}function W(e={}){let t=e.platformName??process.platform,n=e.home??h();return I(t).join(n,`.openclaw`,`openclaw.json`)}function G(e={}){let t=e.platformName??process.platform,n=e.home??h();return I(t).join(n,`.hermes`,`config.yaml`)}function K(e={}){let t=e.platformName??process.platform,n=e.home??h();return(e.env??process.env).PI_CODING_AGENT_DIR??I(t).join(n,`.pi`,`agent`)}function q(e={}){let t=e.platformName??process.platform,n=e.home??h();return I(t).join(n,`.gemini`,`config`,`mcp_config.json`)}function oe(e,t){let n=I(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 J(e={}){let t=e.platformName??process.platform,n=oe(e.home??h(),t);return n.find(e=>g(e))||n.find(e=>g(c(e)))||n[0]}const Y={claude:{id:`claude`,label:S.claude,configPath:(e,t)=>L({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>n,buildEntry:(e,t)=>P(t),scope:`global`,detectPath:(e,t)=>l(t??h(),`.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)=>R({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>n,buildEntry:(e,t)=>P(t),scope:`global`,detectPath:(e,t)=>c(R({home:t}))},cursor:{id:`cursor`,label:S.cursor,configPath:(e,t)=>z({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>n,buildEntry:(e,t)=>P(t),scope:`global`,detectPath:(e,t)=>c(z({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)=>V({home:t}),format:`toml`,topLevelKey:`mcp_servers`,serverName:()=>n,buildEntry:(e,t)=>P(t),scope:`global`,detectPath:(e,t)=>c(V({home:t})),projectConfigPath:e=>l(e,`.codex`,`config.toml`),projectSkillPath:e=>l(e,`.codex`,`skills`,`open-knowledge`,`SKILL.md`)},opencode:{id:`opencode`,label:S.opencode,configPath:(e,t)=>U({home:t}),format:`json`,topLevelKey:`mcp`,serverName:()=>n,buildEntry:(e,t)=>re(t),scope:`global`,detectPath:(e,t)=>c(U({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)=>W({home:t}),format:`json`,topLevelKey:`mcp`,serverMapSubKey:`servers`,serverName:()=>n,buildEntry:(e,t)=>P(t),scope:`global`,detectPath:(e,t)=>l(t??h(),`.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:()=>n,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)=>K({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)=>q({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>n,buildEntry:(e,t)=>P(t),scope:`global`,detectPath:(e,t)=>l(t??h(),`.gemini`),offerOnlyWhenDetected:!0},"lm-studio":{id:`lm-studio`,label:S[`lm-studio`],configPath:(e,t)=>J({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>n,buildEntry:(e,t)=>P(t),scope:`global`,detectPath:(e,t)=>c(J({home:t})),offerOnlyWhenDetected:!0},hermes:{id:`hermes`,label:S.hermes,configPath:(e,t)=>G({home:t}),format:`yaml`,topLevelKey:`mcp_servers`,serverName:()=>n,buildEntry:(e,t)=>P(t),scope:`global`,detectPath:(e,t)=>l(t??h(),`.hermes`),offerOnlyWhenDetected:!0}};function se(e){let t=e.filter(e=>!Object.hasOwn(Y,e));if(t.length>0)throw Error(`Unknown editor(s): ${t.join(`, `)}. Valid options: ${x.join(`, `)}`);return e.map(e=>Y[e])}function X(e){let t=[];for(let n of o){let r=a[n];t.push({path:l(e,`.agents`,`skills`,r),bundleId:n,scope:`central`});for(let i of C)t.push({path:l(e,i.hostDir,`skills`,r),bundleId:n,scope:`host`,hostDir:i.hostDir})}return t}function ce(e,t){let n=[];for(let r of X(e))if(r.bundleId===t)try{b(r.path,{recursive:!0,force:!0})}catch(e){n.push(e instanceof Error?e:Error(String(e)))}if(n.length>0)throw AggregateError(n,`Failed to remove ${n.length} path(s) for ${t}`)}function Z(e,t){let n;try{n=_(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.`);$(e,t)}function Q(e,t){$(e,t)}function $(e,t){let n;try{n=y(t)}catch{n=f(t)}let r=c(e);for(;r.length>1&&r!==p;){let t;try{t=y(r)}catch(e){if(e.code===`ENOENT`){r=c(r);continue}throw e}let i=d(n,t);if(i===``||!i.startsWith(`..`)&&!ee(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 le(e,t){let n=e.projectSkillPath?.(t);if(!n)return{editorId:e.id,label:e.label,action:`skipped-unsupported`,path:``};try{let r=i(`project`,{checkDesktop:!0}),a=c(n);Z(a,t);let o=g(n)?`overwritten`:`written`;return b(a,{recursive:!0,force:!0}),v(c(a),{recursive:!0}),te(r,a,{recursive:!0}),{editorId:e.id,label:e.label,action:o,path:n}}catch(t){return{editorId:e.id,label:e.label,action:`failed`,path:n,error:t instanceof Error?t.message:String(t)}}}function ue(e,t){let n=e.projectSkillPath?.(t);if(!n)return{editorId:e.id,label:e.label,action:`skipped-unsupported`,path:``};try{let r=c(n);return g(n)?(Q(r,t),b(r,{recursive:!0,force:!0}),{editorId:e.id,label:e.label,action:`removed`,path:n}):{editorId:e.id,label:e.label,action:`not-present`,path:n}}catch(t){return{editorId:e.id,label:e.label,action:`failed`,path:n,error:t instanceof Error?t.message:String(t)}}}export{M as _,ce as a,se as b,ne as c,Y as d,C as f,P as g,j as h,le as i,D as l,A as m,Q as n,X as o,k as p,ue as r,x as s,Z as t,S as u,ie as v,ae as y};
|
|
36
|
-
//# sourceMappingURL=write-project-skill-
|
|
36
|
+
//# sourceMappingURL=write-project-skill-XtppilgQ.mjs.map
|
package/package.json
CHANGED
package/dist/dist-BYM_jxPa.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ki as e,Kt as t,Nn as n,Q as r,Rn as i,_ as a,a as o,b as s,bn as c,c as l,f as u,g as d,h as f,ha as p,hi as m,i as h,l as g,ln as _,m as v,mn as y,n as b,o as x,p as S,r as C,s as w,t as T,u as E,v as D,y as O,zi as k}from"./server-lock-iLcBw_q0-nWzkxbfg.mjs";import{$ as A,$i as j,$n as M,$r as N,$t as P,A as F,Ai as I,An as L,Ar as R,At as z,B,Bi as V,Bn as H,Br as U,Bt as W,C as G,Ci as K,Cn as q,Cr as J,Ct as Y,D as X,Di as Z,Dn as Q,Dr as $,Dt as ee,E as te,Ei as ne,En as re,Er as ie,Et as ae,F as oe,Fi as se,Fn as ce,Fr as le,Ft as ue,G as de,Gi as fe,Gn as pe,Gr as me,Gt as he,H as ge,Hi as _e,Hn as ve,Hr as ye,Ht as be,I as xe,Ii as Se,In as Ce,Ir as we,It as Te,J as Ee,Ji as De,Jn as Oe,Jr as ke,Jt as Ae,K as je,Ki as Me,Kn as Ne,Kr as Pe,Kt as Fe,L as Ie,Li as Le,Ln as Re,Lr as ze,Lt as Be,M as Ve,Mi as He,Mn as Ue,Mr as We,Mt as Ge,N as Ke,Ni as qe,Nn as Je,Nr as Ye,Nt as Xe,O as Ze,Oi as Qe,On as $e,Or as et,Ot as tt,P as nt,Pi as rt,Pn as it,Pr as at,Pt as ot,Q as st,Qi as ct,Qn as lt,Qr as ut,Qt as dt,R as ft,Ri as pt,Rn as mt,Rr as ht,Rt as gt,S as _t,Si as vt,Sn as yt,Sr as bt,St as xt,T as St,Ti as Ct,Tn as wt,Tr as Tt,Tt as Et,U as Dt,Ui as Ot,Un as kt,Ur as At,Ut as jt,V as Mt,Vi as Nt,Vn as Pt,Vr as Ft,Vt as It,W as Lt,Wi as Rt,Wn as zt,Wr as Bt,Wt as Vt,X as Ht,Xi as Ut,Xn as Wt,Xr as Gt,Xt as Kt,Y as qt,Yi as Jt,Yn as Yt,Yr as Xt,Yt as Zt,Z as Qt,Zi as $t,Zn as en,Zr as tn,Zt as nn,_ as rn,_i as an,_n as on,_r as sn,_t as cn,a as ln,aa as un,ai as dn,an as fn,ar as pn,at as mn,b as hn,bi as gn,bn as _n,br as vn,bt as yn,c as bn,ci as xn,cn as Sn,cr as Cn,ct as wn,d as Tn,di as En,dn as Dn,dr as On,dt as kn,ea as An,ei as jn,en as Mn,er as Nn,et as Pn,f as Fn,fi as In,fn as Ln,fr as Rn,ft as zn,g as Bn,gi as Vn,gn as Hn,gr as Un,gt as Wn,h as Gn,hi as Kn,hn as qn,hr as Jn,ht as Yn,i as Xn,ia as Zn,ii as Qn,in as $n,ir as er,it as tr,j as nr,ji as rr,jn as ir,jr as ar,jt as or,k as sr,ki as cr,kn as lr,kr as ur,kt as dr,l as fr,li as pr,ln as mr,lr as hr,lt as gr,m as _r,mi as vr,mn as yr,mr as br,mt as xr,n as Sr,na as Cr,ni as wr,nn as Tr,nr as Er,nt as Dr,o as Or,oa as kr,oi as Ar,on as jr,or as Mr,ot as Nr,p as Pr,pi as Fr,pn as Ir,pr as Lr,pt as Rr,q as zr,qi as Br,qn as Vr,qr as Hr,qt as Ur,r as Wr,ra as Gr,ri as Kr,rn as qr,rr as Jr,rt as Yr,s as Xr,si as Zr,sn as Qr,sr as $r,st as ei,t as ti,ta as ni,ti as ri,tn as ii,tr as ai,tt as oi,u as si,ui as ci,un as li,ur as ui,ut as di,v as fi,va as pi,vi as mi,vn as hi,vr as gi,vt as _i,w as vi,wi as yi,wn as bi,wr as xi,wt as Si,x as Ci,xi as wi,xn as Ti,xr as Ei,xt as Di,y as Oi,ya as ki,yi as Ai,yn as ji,yr as Mi,yt as Ni,z as Pi,zi as Fi,zn as Ii,zr as Li,zt as Ri}from"./dist-Pe1Q8dMj.mjs";export{ti as AGENT_ID_MAX_LEN,Sr as AGENT_ID_RE,Wr as AGENT_WRITE_ORIGIN,Xn as AgentFocusBroadcaster,ln as AgentPresenceBroadcaster,Or as AgentSessionCapacityError,Xr as AgentSessionManager,bn as AutoStartDisabledError,fr as BUNDLE_IDS,si as BUNDLE_SCOPE,Tn as BUNDLE_SKILL_NAME,Fn as BacklinkIndex,Pr as CC1Broadcaster,r as CC1_CONTRACT_VERSION,_r as CONFIG_FILENAME,Gn as CONFLICT_MARKER_RE,Bn as CURSOR_BUNDLE_PATHS_BY_PLATFORM,rn as ConfigSchema,fi as DEFAULT_CHECKPOINT_RETENTION,Oi as DEFAULT_EMBEDDINGS_DIMENSIONS,hn as DEFAULT_PACK_ID,Ci as EMBEDDINGS_API_KEY_ENV,_t as FILE_SYSTEM_WRITER,G as FILE_WATCHER_ORIGIN,vi as FileEmbeddingsBackend,St as GIT_PREFLIGHT_FAIL_SPAN_NAME,te as GIT_UPSTREAM_WRITER,pi as GitDirAccessError,X as GitNotAvailableError,Ze as GitTooOldError,sr as HOCUSPOCUS_AUTH_REJECTION_REASONS,F as HocuspocusAuthRejection,nr as HocuspocusAuthTokenSchema,Ve as INSTALLED_AGENTS_SCHEMES,t as LINEAGE_EPOCH_KEY,Ke as LIVE_DERIVED_INDEX_DEBOUNCE_MS,nt as LOG_MD_TEMPLATE,oe as MANAGED_RENAME_ORIGIN,xe as MAX_AGENT_SESSIONS,Ie as MCP_CONNECTION_ID_HEADER,_ as MCP_SERVER_NAME,ft as MIN_GIT_VERSION,Pi as MISSING_OK_CONFIG_MESSAGE,ki as MalformedGitPointerError,B as McpLogger,Mt as MissingOkConfigError,ge as OBSERVER_SYNC_ORIGIN,Dt as OK_OKIGNORE_TEMPLATE,y as ORPHAN_MODES,c as PROTOCOL_VERSION,Lt as PinoLogger,T as ProcessLockCollisionError,de as ProjectGitInitError,je as ROLLBACK_ORIGIN,zr as ROOT_GITIGNORE_TEMPLATE,b as RUNTIME_VERSION,Ee as SERVICE_WRITER,qt as SKILL_INSTALL_EVENTS_FILE_REL,n as SKILL_STATE_TARGETS,Ht as STARTER_FOLDERS,Qt as STARTER_FOLDER_FRONTMATTER_FILENAME,st as STARTER_PACKS,A as STARTER_PACK_IDS,Pn as STARTER_TEMPLATES,oi as STATE_MANIFEST_FILENAME,C as STATE_SCHEMA_VERSION,i as SYSTEM_DOC_NAME,Dr as SeedPrerequisiteError,Yr as SeedRootDirError,h as ServerLockCollisionError,tr as SingleFileNotAFileError,mn as SingleFileNotFoundError,Nr as SingleFileNotMarkdownError,ei as StateManifestError,wn as TagIndex,gr as USER_GLOBAL_BUNDLE_IDS,di as UiLockCollisionError,kn as __getShowAllWalkStatsForTesting,zn as __resetShowAllWalkStatsForTesting,o as acquireProcessLock,x as acquireServerLock,Rr as acquireUiLock,xr as applyAgentMarkdownWrite,Yn as applyExternalChange,Wn as applySeed,cn as assertCompatibleStateManifest,_i as assertGitAvailable,Ni as assertNeverDiskEvent,yn as attachIdleShutdown,Di as bootServer,xt as buildAndOpenSkill,Y as buildConfigYmlContent,Si as buildExecResult,Et as buildSkillZip,ae as buildStarterFolderFrontmatterYaml,ee as buildWipTree,tt as bundleSkillMdPath,dr as classifyEvents,z as classifyFsPath,or as clearContributors,Ge as clearEmbeddingsKeyFromAllBackends,Xe as coercePackId,m as colorFromSeed,ot as commitUpstreamImport,ue as commitWip,Te as commitWipFromTree,Be as compareSemver,gt as containsConflictMarkers,Ri as contentHash,W as contributorCount,It as countShadowObjects,be as countStaleAgentWipRefs,jt as countWipRefs,Vt as createApiExtension,he as createAssetServeMiddleware,Fe as createContentFilter,Ur as createContentFilterAsync,Ae as createEmbeddingsSecretStore,Zt as createEphemeralProjectDir,Kt as createExternalChangeHandler,nn as createFileLogger,dt as createLiveDerivedIndexExtension,P as createMcpHttpHandler,Mn as createOsProbe,ii as createPersistenceExtension,Tr as createServer,qr as createServerObserverExtension,$n as createStreamingErrorWriter,fn as createTestLogger,jr as describeStoredEmbeddingsKey,Qr as detectClaudeDesktopPresence,Sn as detectGit,mr as detectProjectShape,li as discoverLockDirs,Dn as emitPreflightFailureSpan,Ln as encodeDocName,Ir as encodeFolderRoute,yr as encodeSkillRoute,qn as ensureProjectGit,Hn as errorResponse,on as evictStaleTrackerEntries,hi as extractOkBinaryPath,ji as extractWikiLinksFromMarkdown,_n as fallbackPaths,Ti as findEnclosingGitRoot,yt as findEnclosingProjectRoot,q as flushFileLogger,bi as formatAuthRejectionWire,wt as formatContributors,re as formatContributorsFrom,Q as formatPackRationale,$e as gcCheckpointRefs,lr as getCurrentMcpLogger,L as getLocalDir,ir as getLogFilePath,Ue as getLogger,Je as getLogsDir,w as getMachineId,it as getMeter,ce as getMetrics,Ce as getTracer,Re as handleCollabSocketError,mt as handleSpawnCursor,Ii as hasGcLogLatch,k as iconFromClientName,H as incrementCollabSocketFilteredError,Pt as incrementServerObserverFire,ve as initContent,kt as initShadowRepo,zt as initTelemetry,pe as initToleranceTelemetryWriter,Ne as installPrettyZodErrors,Vr as installTestLoggers,Oe as installUserSkill,Yt as isAllowedApiOrigin,Wt as isAllowedWorkspaceHostHeader,en as isConfigDoc,lt as isHocuspocusAuthRejectionReason,M as isKnownPackId,Nn as isLinkIndexExcludedDoc,ai as isLoopbackAddress,Er as isManagedArtifactDoc,e as isOrphanMode,Jr as isPairedWriteOrigin,er as isPathWithinDir,l as isProcessAlive,pn as isProjectRoot,Mr as isProjectSkillManaged,$r as isReservedForUserTree,Cn as isSelfWrite,hr as isSystemDoc,ui as isToleranceTelemetryEnabled,g as isValidLockPid,On as lastKnownHash,Rn as listRescueCheckpoints,Lr as listStarterPacks,br as loadPrincipal,E as lockFilePath,Jn as loggerFactory,Un as logsCurrentPath,sn as logsPreviousPath,gi as makeLazyEmbeddingsKeyStore,u as markServerLockDraining,Mi as mountMcpAndApi,vn as normalizeFsPath,Ei as originGitHubHost,bt as packageVersionMajorMinor,J as parseAuthRejectionWire,xi as parseGitVersion,Tt as parseHocuspocusAuthToken,ie as parseKeepaliveConnectionId,$ as pathToDocName,et as planSeed,ur as prepareSingleFileOpen,R as processCommand,ar as processUsage,We as readAllTargets,Ye as readBranchFromHead,at as readBundleDecision,S as readProcessLock,v as readProcessLockDetailed,le as readProjectLocalSemanticConfig,f as readServerLock,we as readServerPackageVersion,ze as readSkillInstallStateSnapshot,ht as readSkillManagement,Li as readStateManifest,U as readTargetRecordedAt,Ft as readTargetVersion,ye as readUiLock,At as reconcile,Bt as recordContributor,me as recordSkillInstallEvent,Pe as registerAllTools,Hr as registerWrite,d as releaseProcessLock,a as releaseServerLock,ke as releaseUiLock,Xt as removeLastKnownHash,Gt as resetMetrics,p as resolveBundleEnabled,tn as resolveBundledSkillDir,ut as resolveContentDir,N as resolveCursorBinaryDefault,jn as resolveCursorSpawnInvocation,ri as resolveLockDir,wr as resolvePack,Kr as resolvePackageVersion,Qn as resolveUiInfo,dn as restoreContributors,Ar as restoreLifecycleFromConflictsJson,Zr as rewriteMarkdownLinksForDocumentRename,xn as rewriteWikiLinksForDocumentRename,pr as runAuthReposSubprocess,ci as runAuthStatusSubprocess,En as runCloneSubprocess,In as runDeviceFlowSubprocess,Fr as runWithMcpLogger,vr as safeContentPath,Kn as safeSubdir,Vn as safetyCheckpoint,an as sanitizeClientName,mi as saveInMemoryCheckpoint,Ai as saveVersion,gn as seedBasenameIndex,wi as serializeError,vt as setActiveSpanAttributes,K as setupServerObservers,yi as shadowGit,Ct as shutdownTelemetry,ne as skillManagementPath,Z as spansCurrentPath,Qe as spansPreviousPath,cr as spawnDetached,I as splitMarkdownBlocks,rr as startWatcher,He as streamingProblemEvent,qe as swapContributors,rt as teardownToleranceTelemetryWriter,se as toBroadcasterKey,Se as tracedAppendFileSync,Le as tracedLinkSync,pt as tracedMkdir,Fi as tracedMkdirSync,V as tracedRename,Nt as tracedRenameSync,_e as tracedRmSync,Ot as tracedRmdirSync,Rt as tracedUnlinkSync,fe as tracedWriteFile,Me as tracedWriteFileSync,Br as updateLastKnownHash,D as updateProcessLockPort,O as updateServerLockPort,De as updateUiLockPort,Jt as validateAgentId,Ut as validateCloneInputs,$t as validateSkillZip,s as waitForServerLockDrain,ct as withHiddenWindowsConsole,j as withSpan,An as withSpanSync,ni as writeBundleDecision,Cr as writeRootGitignoreForNewRepo,Gr as writeSkillManagement,Zn as writeStateManifest,un as writeTargetVersion,kr as writeTracker};
|
package/dist/init-D3BvztSN.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g as e}from"./init-DT-9Ccjv.mjs";export{e as runInit};
|
package/dist/loader-BiXk2JV6.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./loader-Biqewihc.mjs";export{e as loadConfig};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,t}from"./preview-DhDDUDKS.mjs";export{t as formatPreviewBlock,e as previewContent};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ActivityPanelDiffView-B2UyxRqh.js","./chunk-CFjPhJqf.js","./dist-CQw2y-s3.js","./compiler-runtime-CVnuRdak.js","./ActivityPanelDiffView-legcy4jI.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{o as e}from"./chunk-CFjPhJqf.js";import{t}from"./preload-helper-2ej06EnG.js";import{n,r,t as i}from"./compiler-runtime-CVnuRdak.js";import{n as a,r as o}from"./DocumentContext-BhV2wOiZ.js";import{n as s,r as c}from"./dist-CQw2y-s3.js";import{n as l,t as u}from"./createLucideIcon-BPhNPfG7.js";import{i as d,n as f,t as p}from"./tooltip-tSMIHkKA.js";import{a as m,c as h,i as g,o as _,s as v,t as y}from"./dialog-BvTRDNMV.js";import{B as b,vt as x}from"./CodeMirrorPropInput-B1vWorID.js";import{a as S,i as C,st as w}from"./dist-Bj4Ae4LE.js";import{t as ee}from"./chevron-down-B4gqqe-h.js";import{t as te}from"./chevron-right-DjreZbLo.js";import{r as T}from"./CopyButton-DoEsGDa4.js";import{i as E}from"./prop-types-CADDENK9.js";import{t as D}from"./loader-circle-IFoG3v_v.js";import{c as O,i as k,r as A,t as j}from"./agent-presence-CR_Kl3f1.js";import{n as M}from"./dist-B0Ibo2lT.js";import{t as N}from"./dist-BRGTi0a4.js";import{s as P}from"./navigation-targets-B1j0YdRn.js";import{o as ne}from"./documents-events-KDHNhdfV.js";var re=u(`rewind`,[[`path`,{d:`M12 6a2 2 0 0 0-3.414-1.414l-6 6a2 2 0 0 0 0 2.828l6 6A2 2 0 0 0 12 18z`,key:`2a1g8i`}],[`path`,{d:`M22 6a2 2 0 0 0-3.414-1.414l-6 6a2 2 0 0 0 0 2.828l6 6A2 2 0 0 0 22 18z`,key:`rg3s36`}]]),F=i(),I=e(n(),1),ie=500,L=64;async function ae(e){let t=`/api/agent-activity?agentId=${encodeURIComponent(e)}`,n=await fetch(t),r;try{r=await n.json()}catch(e){throw new b(`Could not parse /api/agent-activity response.`,{cause:e,status:n.status})}if(!n.ok){let e=w.safeParse(r);throw e.success?Error(e.data.title):new b(`/api/agent-activity returned a non-RFC-9457 error response.`,{cause:e.error,status:n.status})}let i=C.safeParse(r);if(!i.success)throw new b(`/api/agent-activity returned a body that did not match AgentActivitySuccessSchema.`,{cause:i.error,status:n.status});return i.data}async function oe(e,t,n){let r=`/api/agent-burst-diff?agentId=${encodeURIComponent(e)}&docName=${encodeURIComponent(t)}&stackIndex=${n}`,i=await fetch(r),a;try{a=await i.json()}catch(e){throw new b(`Could not parse /api/agent-burst-diff response.`,{cause:e,status:i.status})}if(!i.ok){let e=w.safeParse(a);throw e.success?Error(e.data.title):new b(`/api/agent-burst-diff returned a non-RFC-9457 error response.`,{cause:e.error,status:i.status})}let o=S.safeParse(a);if(!o.success)throw new b(`/api/agent-burst-diff returned a body that did not match AgentBurstDiffSuccessSchema.`,{cause:o.error,status:i.status});return o.data.diff}function se(e){let t=(0,F.c)(23),{systemProvider:n}=a(),[r,i]=(0,I.useState)(null),[o,s]=(0,I.useState)(`idle`),[c,l]=(0,I.useState)(null),u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=new k(L),t[0]=u):u=t[0];let d=(0,I.useRef)(u),f=(0,I.useRef)(0),p;t[1]===n?p=t[2]:(p=e=>{let t=f.current+=1;s(`loading`),l(null),ae(e).then(r=>{if(f.current!==t)return;let a=le(n,e);i({...r,writingDocs:a}),s(`ready`)}).catch(e=>{f.current===t&&(l(e instanceof Error?e.message:String(e)),s(`error`))})},t[1]=n,t[2]=p);let m=p,h;t[3]!==e||t[4]!==m?(h=()=>{if(!e){f.current+=1,i(null),s(`idle`),l(null),d.current.clear();return}d.current.clear(),m(e);let t=null,n=ne(n=>{n.includes(`session-activity`)&&(t&&clearTimeout(t),t=setTimeout(()=>{t=null,m(e)},ie))});return()=>{t&&clearTimeout(t),n()}},t[3]=e,t[4]=m,t[5]=h):h=t[5];let g;t[6]===e?g=t[7]:(g=[e],t[6]=e,t[7]=g),(0,I.useEffect)(h,g);let _,v;t[8]!==e||t[9]!==n?(_=()=>{if(!e||!n)return;let t=()=>{if(!n.awareness)return;let t=le(n,e);i(e=>!e||ce(e.writingDocs,t)?e:{...e,writingDocs:t})},r=n.awareness;if(!r||typeof r.on!=`function`){t();return}r.on(`update`,t),t();let a=setInterval(t,1e3);return()=>{clearInterval(a),typeof r.off==`function`&&r.off(`update`,t)}},v=[e,n],t[8]=e,t[9]=n,t[10]=_,t[11]=v):(_=t[10],v=t[11]),(0,I.useEffect)(_,v);let y;t[12]===e?y=t[13]:(y=async(t,n)=>{if(!e)return``;let r=`${t}\0${n}`,i=d.current.get(r);if(i!==void 0)return i;let a=await oe(e,t,n);return d.current.set(r,a),a},t[12]=e,t[13]=y);let b=y,x;t[14]!==e||t[15]!==m?(x=()=>{e&&m(e)},t[14]=e,t[15]=m,t[16]=x):x=t[16];let S=x,C;return t[17]!==r||t[18]!==c||t[19]!==b||t[20]!==S||t[21]!==o?(C={data:r,status:o,error:c,reload:S,fetchBurstDiff:b},t[17]=r,t[18]=c,t[19]=b,t[20]=S,t[21]=o,t[22]=C):C=t[22],C}function ce(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function le(e,t){let n=new Set;if(!e)return n;let r=e.awareness;if(!j(r))return n;let i=[t,t.startsWith(`agent-`)?t.slice(6):`agent-${t}`];for(let e of r.getStates().values()){let t=e.agentPresence;if(t)for(let e of i){let r=t[e];r&&r.mode===`writing`&&r.currentDoc&&n.add(r.currentDoc)}}return n}var R=r(),ue=(0,I.lazy)(async()=>({default:(await t(()=>import(`./ActivityPanelDiffView-B2UyxRqh.js`),__vite__mapDeps([0,1,2,3,4]),import.meta.url)).ActivityPanelDiffView}));function de(e,t){let n=Math.max(0,t-e);if(n<6e4){let e=Math.round(n/1e3);return N._({id:`pbwTg6`,values:{seconds:e}})}if(n<36e5){let e=Math.round(n/6e4);return N._({id:`_rP3HI`,values:{minutes:e}})}return new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function fe(e){let t=(0,F.c)(42),{burst:n,docName:r,fetchBurstDiff:i}=e,{_:a}=c(),[o,l]=(0,I.useState)(!1),[u,d]=(0,I.useState)(null),[f,p]=(0,I.useState)(null),[m,h]=(0,I.useState)(!1),[g,_]=(0,I.useState)(z),v,y;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(v=()=>{let e=setInterval(()=>_(Date.now()),3e4);return()=>clearInterval(e)},y=[],t[0]=v,t[1]=y):(v=t[0],y=t[1]),(0,I.useEffect)(v,y);let b;t[2]!==n.stackIndex||t[3]!==u||t[4]!==r||t[5]!==o||t[6]!==i||t[7]!==m?(b=()=>{let e=!o;l(e),e&&u===null&&!m&&(h(!0),p(null),i(r,n.stackIndex).then(e=>{d(e),h(!1)}).catch(e=>{p(e instanceof Error?e.message:String(e)),h(!1)}))},t[2]=n.stackIndex,t[3]=u,t[4]=r,t[5]=o,t[6]=i,t[7]=m,t[8]=b):b=t[8];let x=b,S=n.stackIndex+1,C;t[9]!==a||t[10]!==S||t[11]!==o?(C=a(o?{id:`-i7ik4`,values:{burstNumber:S}}:{id:`EeRZnZ`,values:{burstNumber:S}}),t[9]=a,t[10]=S,t[11]=o,t[12]=C):C=t[12];let w;t[13]===o?w=t[14]:(w=o?(0,R.jsx)(ee,{className:`size-3 shrink-0`,"aria-hidden":`true`}):(0,R.jsx)(te,{className:`size-3 shrink-0`,"aria-hidden":`true`}),t[13]=o,t[14]=w);let T;t[15]!==n.ts||t[16]!==g?(T=de(n.ts,g),t[15]=n.ts,t[16]=g,t[17]=T):T=t[17];let E;t[18]===T?E=t[19]:(E=(0,R.jsx)(`span`,{className:`font-mono`,children:T}),t[18]=T,t[19]=E);let D;t[20]===n.additions?D=t[21]:(D=(0,R.jsxs)(`span`,{className:`text-green-600 dark:text-green-400`,children:[`+`,n.additions]}),t[20]=n.additions,t[21]=D);let O;t[22]===n.deletions?O=t[23]:(O=(0,R.jsxs)(`span`,{className:`text-red-600 dark:text-red-400`,children:[`−`,n.deletions]}),t[22]=n.deletions,t[23]=O);let k;t[24]!==D||t[25]!==O?(k=(0,R.jsxs)(`span`,{className:`ml-auto font-mono`,children:[D,` `,O]}),t[24]=D,t[25]=O,t[26]=k):k=t[26];let A;t[27]!==o||t[28]!==k||t[29]!==C||t[30]!==w||t[31]!==E||t[32]!==x?(A=(0,R.jsxs)(`button`,{type:`button`,onClick:x,className:`flex w-full items-center gap-2 px-4 py-1.5 text-xs text-muted-foreground hover:bg-muted/40`,"aria-expanded":o,"aria-label":C,children:[w,E,k]}),t[27]=o,t[28]=k,t[29]=C,t[30]=w,t[31]=E,t[32]=x,t[33]=A):A=t[33];let j;t[34]!==u||t[35]!==o||t[36]!==f||t[37]!==m?(j=o?(0,R.jsx)(`div`,{className:`bg-muted/20`,children:m?(0,R.jsx)(`div`,{className:`px-4 py-2 text-xs text-muted-foreground italic`,children:(0,R.jsx)(s,{id:`38foVZ`})}):f?(0,R.jsx)(`div`,{className:`px-4 py-2 text-xs text-destructive`,children:(0,R.jsx)(s,{id:`pmKdif`,values:{loadError:f}})}):u===null?(0,R.jsx)(`div`,{className:`px-4 py-2 text-xs text-muted-foreground italic`,children:(0,R.jsx)(s,{id:`iNFKkm`})}):(0,R.jsx)(I.Suspense,{fallback:(0,R.jsx)(`div`,{className:`px-4 py-2 text-xs text-muted-foreground italic`,children:(0,R.jsx)(s,{id:`38foVZ`})}),children:(0,R.jsx)(ue,{diff:u})})}):null,t[34]=u,t[35]=o,t[36]=f,t[37]=m,t[38]=j):j=t[38];let M;return t[39]!==A||t[40]!==j?(M=(0,R.jsxs)(`div`,{className:`border-t border-border/50`,children:[A,j]}),t[39]=A,t[40]=j,t[41]=M):M=t[41],M}function z(){return Date.now()}function pe(e,t){let n=Math.max(0,t-e);if(n<6e4){let e=Math.round(n/1e3);return N._({id:`pbwTg6`,values:{seconds:e}})}if(n<36e5){let e=Math.round(n/6e4);return N._({id:`_rP3HI`,values:{minutes:e}})}let r=Math.round(n/36e5);return N._({id:`nYeBmY`,values:{hours:r}})}function B(e){let t=(0,F.c)(118),{file:n,sessionAlive:r,isWriting:i,onNavigate:a,onUndoLast:o,onUndoAll:u,fetchBurstDiff:b}=e,{_:x}=c(),{docName:S}=n,[C,w]=(0,I.useState)(!1),[T,E]=(0,I.useState)(!1),[D,k]=(0,I.useState)(!1),[A,j]=(0,I.useState)(he),M,N;if(t[0]===Symbol.for(`react.memo_cache_sentinel`)?(M=()=>{let e=setInterval(()=>j(Date.now()),3e4);return()=>clearInterval(e)},N=[],t[0]=M,t[1]=N):(M=t[0],N=t[1]),(0,I.useEffect)(M,N),n.bursts.length===0)return null;let P=!r||n.bursts.length===0||D,ne=n.bursts.length,ie;t[2]!==x||t[3]!==n.bursts.length||t[4]!==r?(ie=r?n.bursts.length===0?x({id:`2fkdnR`}):null:x({id:`NzFvyK`}),t[2]=x,t[3]=n.bursts.length,t[4]=r,t[5]=ie):ie=t[5];let L=ie,ae;t[6]!==P||t[7]!==n.docName||t[8]!==o?(ae=e=>{e.stopPropagation(),!P&&(k(!0),Promise.resolve(o(n.docName)).finally(()=>k(!1)))},t[6]=P,t[7]=n.docName,t[8]=o,t[9]=ae):ae=t[9];let oe=ae,se;t[10]===P?se=t[11]:(se=e=>{e.stopPropagation(),!P&&E(!0)},t[10]=P,t[11]=se);let ce=se,le;t[12]!==P||t[13]!==n.docName||t[14]!==u?(le=()=>{E(!1),!P&&(k(!0),Promise.resolve(u(n.docName)).finally(()=>k(!1)))},t[12]=P,t[13]=n.docName,t[14]=u,t[15]=le):le=t[15];let ue=le,de;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(de=()=>w(me),t[16]=de):de=t[16];let z;t[17]!==x||t[18]!==S||t[19]!==C?(z=x(C?{id:`rVgSRB`,values:{docName:S}}:{id:`tW_yvQ`,values:{docName:S}}),t[17]=x,t[18]=S,t[19]=C,t[20]=z):z=t[20];let B;t[21]===C?B=t[22]:(B=C?(0,R.jsx)(ee,{className:`size-4`,"aria-hidden":`true`}):(0,R.jsx)(te,{className:`size-4`,"aria-hidden":`true`}),t[21]=C,t[22]=B);let V;t[23]!==C||t[24]!==z||t[25]!==B?(V=(0,R.jsx)(`button`,{type:`button`,onClick:de,className:`flex size-5 shrink-0 items-center justify-center rounded hover:bg-muted`,"aria-expanded":C,"aria-label":z,"data-testid":`activity-panel-file-row-carrot`,children:B}),t[23]=C,t[24]=z,t[25]=B,t[26]=V):V=t[26];let H;t[27]!==n.docName||t[28]!==a?(H=()=>a(n.docName),t[27]=n.docName,t[28]=a,t[29]=H):H=t[29];let U;t[30]!==x||t[31]!==S?(U=x({id:`QcpeeE`,values:{docName:S}}),t[30]=x,t[31]=S,t[32]=U):U=t[32];let W;t[33]!==n.docName||t[34]!==H||t[35]!==U?(W=(0,R.jsx)(`button`,{type:`button`,onClick:H,className:`min-w-0 flex-1 truncate text-left text-foreground hover:underline focus-visible:outline-ring`,"aria-label":U,"data-testid":`activity-panel-file-row-filename`,title:n.docName,children:n.docName}),t[33]=n.docName,t[34]=H,t[35]=U,t[36]=W):W=t[36];let G;t[37]!==x||t[38]!==S?(G=x({id:`m4v3XT`,values:{docName:S}}),t[37]=x,t[38]=S,t[39]=G):G=t[39];let ge;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(ge=(0,R.jsx)(O,{className:`size-3.5`,"aria-hidden":`true`}),t[40]=ge):ge=t[40];let K;t[41]!==P||t[42]!==oe||t[43]!==G?(K=(0,R.jsx)(d,{asChild:!0,children:(0,R.jsx)(l,{type:`button`,variant:`ghost`,size:`icon`,className:`size-6 shrink-0`,onClick:oe,disabled:P,"aria-label":G,"data-testid":`activity-panel-undo-last`,children:ge})}),t[41]=P,t[42]=oe,t[43]=G,t[44]=K):K=t[44];let q;t[45]!==x||t[46]!==L?(q=L??x({id:`ArBWJf`}),t[45]=x,t[46]=L,t[47]=q):q=t[47];let J;t[48]===q?J=t[49]:(J=(0,R.jsx)(f,{side:`bottom`,children:q}),t[48]=q,t[49]=J);let Y;t[50]!==K||t[51]!==J?(Y=(0,R.jsxs)(p,{children:[K,J]}),t[50]=K,t[51]=J,t[52]=Y):Y=t[52];let X;t[53]!==x||t[54]!==S?(X=x({id:`J2MgzQ`,values:{docName:S}}),t[53]=x,t[54]=S,t[55]=X):X=t[55];let _e;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,R.jsx)(re,{className:`size-3.5`,"aria-hidden":`true`}),t[56]=_e):_e=t[56];let Z;t[57]!==P||t[58]!==ce||t[59]!==X?(Z=(0,R.jsx)(d,{asChild:!0,children:(0,R.jsx)(l,{type:`button`,variant:`ghost`,size:`icon`,className:`size-6 shrink-0`,onClick:ce,disabled:P,"aria-label":X,"data-testid":`activity-panel-undo-all`,children:_e})}),t[57]=P,t[58]=ce,t[59]=X,t[60]=Z):Z=t[60];let Q;t[61]!==x||t[62]!==L?(Q=L??x({id:`mNY1G6`}),t[61]=x,t[62]=L,t[63]=Q):Q=t[63];let ve;t[64]===Q?ve=t[65]:(ve=(0,R.jsx)(f,{side:`bottom`,children:Q}),t[64]=Q,t[65]=ve);let ye;t[66]!==Z||t[67]!==ve?(ye=(0,R.jsxs)(p,{children:[Z,ve]}),t[66]=Z,t[67]=ve,t[68]=ye):ye=t[68];let be;t[69]===n.additionsTotal?be=t[70]:(be=(0,R.jsxs)(`span`,{className:`text-green-600 dark:text-green-400`,children:[`+`,n.additionsTotal]}),t[69]=n.additionsTotal,t[70]=be);let xe;t[71]===n.deletionsTotal?xe=t[72]:(xe=(0,R.jsxs)(`span`,{className:`text-red-600 dark:text-red-400`,children:[`−`,n.deletionsTotal]}),t[71]=n.deletionsTotal,t[72]=xe);let Se;t[73]!==be||t[74]!==xe?(Se=(0,R.jsxs)(`span`,{className:`shrink-0 font-mono text-xs`,children:[be,` `,xe]}),t[73]=be,t[74]=xe,t[75]=Se):Se=t[75];let Ce;t[76]!==n.lastTs||t[77]!==A?(Ce=pe(n.lastTs,A),t[76]=n.lastTs,t[77]=A,t[78]=Ce):Ce=t[78];let $;t[79]===Ce?$=t[80]:($=(0,R.jsx)(`span`,{className:`shrink-0 font-mono text-[11px] text-muted-foreground`,children:Ce}),t[79]=Ce,t[80]=$);let we;t[81]===i?we=t[82]:(we=i?(0,R.jsx)(`span`,{className:`shrink-0 text-[11px] text-primary animate-pulse`,role:`status`,children:(0,R.jsx)(s,{id:`6q0rnH`})}):null,t[81]=i,t[82]=we);let Te;t[83]!==V||t[84]!==W||t[85]!==Y||t[86]!==ye||t[87]!==Se||t[88]!==$||t[89]!==we?(Te=(0,R.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2 text-sm`,children:[V,W,Y,ye,Se,$,we]}),t[83]=V,t[84]=W,t[85]=Y,t[86]=ye,t[87]=Se,t[88]=$,t[89]=we,t[90]=Te):Te=t[90];let Ee;t[91]!==C||t[92]!==b||t[93]!==n.bursts||t[94]!==n.docName?(Ee=C?(0,R.jsx)(`div`,{children:n.bursts.map(e=>(0,R.jsx)(fe,{burst:e,docName:n.docName,fetchBurstDiff:b},`${n.docName}:${e.stackIndex}`))}):null,t[91]=C,t[92]=b,t[93]=n.bursts,t[94]=n.docName,t[95]=Ee):Ee=t[95];let De;t[96]===Symbol.for(`react.memo_cache_sentinel`)?(De=(0,R.jsx)(h,{children:(0,R.jsx)(s,{id:`SEYWYq`})}),t[96]=De):De=t[96];let Oe;t[97]!==ne||t[98]!==S?(Oe={docName:S,burstCount:ne},t[97]=ne,t[98]=S,t[99]=Oe):Oe=t[99];let ke;t[100]===Symbol.for(`react.memo_cache_sentinel`)?(ke={0:(0,R.jsx)(`span`,{className:`font-mono text-foreground`})},t[100]=ke):ke=t[100];let Ae;t[101]===Oe?Ae=t[102]:(Ae=(0,R.jsxs)(v,{children:[De,(0,R.jsx)(m,{children:(0,R.jsx)(s,{id:`ZBYKxv`,values:Oe,components:ke})})]}),t[101]=Oe,t[102]=Ae);let je;t[103]===Symbol.for(`react.memo_cache_sentinel`)?(je=()=>E(!1),t[103]=je):je=t[103];let Me;t[104]===Symbol.for(`react.memo_cache_sentinel`)?(Me=(0,R.jsx)(l,{type:`button`,variant:`outline`,onClick:je,"data-testid":`activity-panel-undo-all-cancel`,children:(0,R.jsx)(s,{id:`dEgA5A`})}),t[104]=Me):Me=t[104];let Ne;t[105]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=(0,R.jsx)(s,{id:`MWrUEd`}),t[105]=Ne):Ne=t[105];let Pe;t[106]===ue?Pe=t[107]:(Pe=(0,R.jsxs)(_,{children:[Me,(0,R.jsx)(l,{type:`button`,variant:`destructive`,onClick:ue,"data-testid":`activity-panel-undo-all-confirm`,children:Ne})]}),t[106]=ue,t[107]=Pe);let Fe;t[108]!==Ae||t[109]!==Pe?(Fe=(0,R.jsxs)(g,{className:`sm:max-w-md`,children:[Ae,Pe]}),t[108]=Ae,t[109]=Pe,t[110]=Fe):Fe=t[110];let Ie;t[111]!==T||t[112]!==Fe?(Ie=(0,R.jsx)(y,{open:T,onOpenChange:E,children:Fe}),t[111]=T,t[112]=Fe,t[113]=Ie):Ie=t[113];let Le;return t[114]!==Te||t[115]!==Ee||t[116]!==Ie?(Le=(0,R.jsxs)(`div`,{className:`border-b border-border`,"data-testid":`activity-panel-file-row`,children:[Te,Ee,Ie]}),t[114]=Te,t[115]=Ee,t[116]=Ie,t[117]=Le):Le=t[117],Le}function me(e){return!e}function he(){return Date.now()}async function V(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 H(e){return`#/${e.split(`/`).map(e=>encodeURIComponent(e)).join(`/`)}`}function U(e){typeof window>`u`||(window.location.hash=H(e))}function W(){let e=(0,F.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,R.jsx)(D,{className:`mr-2 size-4 animate-spin`,"aria-hidden":`true`}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,R.jsxs)(`div`,{className:`flex h-full items-center justify-center p-6 text-muted-foreground`,role:`status`,"aria-busy":`true`,children:[t,(0,R.jsx)(`span`,{className:`text-sm`,children:(0,R.jsx)(s,{id:`ONPvOb`})})]}),e[1]=n):n=e[1],n}function G(e){let t=(0,F.c)(10),{error:n,onRetry:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,R.jsx)(T,{className:`size-6 text-destructive`,"aria-hidden":`true`}),t[0]=i):i=t[0];let a;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,R.jsx)(`p`,{className:`text-sm font-medium`,children:(0,R.jsx)(s,{id:`DhLHEb`})}),t[1]=a):a=t[1];let o;t[2]===n?o=t[3]:(o=(0,R.jsxs)(`div`,{className:`space-y-1`,children:[a,(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:n})]}),t[2]=n,t[3]=o);let c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,R.jsx)(s,{id:`6gRgw8`}),t[4]=c):c=t[4];let u;t[5]===r?u=t[6]:(u=(0,R.jsx)(l,{type:`button`,variant:`outline`,size:`sm`,onClick:r,children:c}),t[5]=r,t[6]=u);let d;return t[7]!==o||t[8]!==u?(d=(0,R.jsxs)(`div`,{className:`flex flex-col items-center gap-3 p-6 text-center`,role:`alert`,"data-testid":`activity-panel-error`,children:[i,o,u]}),t[7]=o,t[8]=u,t[9]=d):d=t[9],d}function ge(){let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,R.jsx)(`div`,{className:`flex h-full items-center justify-center p-6 text-muted-foreground`,"data-testid":`activity-panel-empty`,children:(0,R.jsx)(`p`,{className:`text-sm italic`,children:(0,R.jsx)(s,{id:`iuTKci`})})}),e[0]=t):t=e[0],t}function K(e){let t=(0,F.c)(12),{onExit:n,showBackButton:r}=e,{_:i}=c(),a;t[0]===i?a=t[1]:(a=i({id:`kYL1lH`}),t[0]=i,t[1]=a);let o;t[2]!==n||t[3]!==r?(o=r?(0,R.jsx)(q,{onClick:n}):null,t[2]=n,t[3]=r,t[4]=o):o=t[4];let l;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,R.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:(0,R.jsx)(s,{id:`kYL1lH`})}),t[5]=l):l=t[5];let u;t[6]===o?u=t[7]:(u=(0,R.jsxs)(`div`,{className:`flex shrink-0 flex-row items-center gap-2 border-b border-border px-3 py-2`,children:[o,l]}),t[6]=o,t[7]=u);let d;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,R.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-6 text-muted-foreground`,children:(0,R.jsx)(`p`,{className:`text-center text-sm italic`,children:(0,R.jsx)(s,{id:`D_WKe_`})})}),t[8]=d):d=t[8];let f;return t[9]!==a||t[10]!==u?(f=(0,R.jsxs)(`section`,{className:`flex h-full min-h-0 flex-col`,"data-testid":`activity-panel-no-agent`,"aria-label":a,children:[u,d]}),t[9]=a,t[10]=u,t[11]=f):f=t[11],f}function q(e){let t=(0,F.c)(9),{onClick:n}=e,{_:r}=c(),i;t[0]===r?i=t[1]:(i=r({id:`ogAuyr`}),t[0]=r,t[1]=i);let a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,R.jsx)(x,{}),t[2]=a):a=t[2];let o;t[3]!==n||t[4]!==i?(o=(0,R.jsx)(d,{asChild:!0,children:(0,R.jsx)(l,{type:`button`,variant:`ghost`,size:`icon`,className:`size-7 shrink-0`,onClick:n,"aria-label":i,"data-testid":`docpanel-exit-agent-mode`,children:a})}),t[3]=n,t[4]=i,t[5]=o):o=t[5];let u;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,R.jsx)(f,{side:`bottom`,children:(0,R.jsx)(s,{id:`ogAuyr`})}),t[6]=u):u=t[6];let m;return t[7]===o?m=t[8]:(m=(0,R.jsxs)(p,{children:[o,u]}),t[7]=o,t[8]=m),m}function J(e){let t=(0,F.c)(9),{lastTs:n}=e,[r]=(0,I.useState)(Y),i;t[0]!==n||t[1]!==r?(i=n?X(r-n):null,t[0]=n,t[1]=r,t[2]=i):i=t[2];let a=i,o;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,R.jsx)(`span`,{className:`font-medium`,children:(0,R.jsx)(s,{id:`LCUy_N`})}),t[3]=o):o=t[3];let c;t[4]===a?c=t[5]:(c=a?(0,R.jsxs)(`span`,{children:[` · `,a]}):null,t[4]=a,t[5]=c);let l;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,R.jsx)(`div`,{className:`mt-1 opacity-80`,children:(0,R.jsx)(s,{id:`GK-IRZ`})}),t[6]=l):l=t[6];let u;return t[7]===c?u=t[8]:(u=(0,R.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:[o,c,l]}),t[7]=c,t[8]=u),u}function Y(){return Date.now()}function X(e){let t=Math.max(0,e);if(t<6e4){let e=Math.round(t/1e3);return N._({id:`pbwTg6`,values:{seconds:e}})}if(t<36e5){let e=Math.round(t/6e4);return N._({id:`_rP3HI`,values:{minutes:e}})}let n=Math.round(t/36e5);return N._({id:`nYeBmY`,values:{hours:n}})}function _e(e){let t=(0,F.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,R.jsx)(A,{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,R.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 Z(e){let t=(0,F.c)(26),{data:n,status:r,error:i,reload:a,fetchBurstDiff:o,onExit:l,onNavigate:u,onUndoLast:d,onUndoAll:f,showBackButton:p}=e,{_:m}=c(),h=n?.files?.[0]?.lastTs??null,g=n?.files?.length??0,_;t[0]===m?_=t[1]:(_=m({id:`kYL1lH`}),t[0]=m,t[1]=_);let v;t[2]!==l||t[3]!==p?(v=p?(0,R.jsx)(q,{onClick:l}):null,t[2]=l,t[3]=p,t[4]=v):v=t[4];let y;t[5]!==n||t[6]!==g||t[7]!==h?(y=n?.agent?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(_e,{agent:n.agent}),(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:n.agent.displayName}),(0,R.jsxs)(`p`,{className:`truncate text-xs text-muted-foreground`,children:[n.sessionAlive?(0,R.jsx)(s,{id:`F6pfE9`}):h===null?(0,R.jsx)(s,{id:`PMyJ9C`}):(0,R.jsx)(s,{id:`237hSL`}),n.files.length>0?(0,R.jsxs)(R.Fragment,{children:[` · `,(0,R.jsx)(s,{id:`u3BOHd`,values:{fileCount:g}})]}):null]})]})]}):(0,R.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,R.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:(0,R.jsx)(s,{id:`kYL1lH`})})}),t[5]=n,t[6]=g,t[7]=h,t[8]=y):y=t[8];let b;t[9]!==v||t[10]!==y?(b=(0,R.jsxs)(`div`,{className:`flex flex-row items-center gap-2 border-b border-border px-3 py-2 shrink-0`,children:[v,y]}),t[9]=v,t[10]=y,t[11]=b):b=t[11];let x;t[12]!==n||t[13]!==i||t[14]!==o||t[15]!==h||t[16]!==u||t[17]!==f||t[18]!==d||t[19]!==a||t[20]!==r?(x=(0,R.jsx)(`div`,{className:`flex-1 overflow-y-auto`,"data-testid":`activity-panel-body`,children:r===`loading`&&n===null?(0,R.jsx)(W,{}):r===`error`&&i?(0,R.jsx)(G,{error:i,onRetry:a}):n===null?(0,R.jsx)(ge,{}):(0,R.jsxs)(R.Fragment,{children:[!n.sessionAlive&&h!==null?(0,R.jsx)(J,{lastTs:h}):null,n.files.length===0?(0,R.jsx)(ge,{}):n.files.map(e=>(0,R.jsx)(B,{file:e,sessionAlive:n.sessionAlive,isWriting:n.writingDocs.has(e.docName),onNavigate:u,onUndoLast:d,onUndoAll:f,fetchBurstDiff:o},e.docName))]})}),t[12]=n,t[13]=i,t[14]=o,t[15]=h,t[16]=u,t[17]=f,t[18]=d,t[19]=a,t[20]=r,t[21]=x):x=t[21];let S;return t[22]!==_||t[23]!==b||t[24]!==x?(S=(0,R.jsxs)(`section`,{className:`flex h-full min-h-0 flex-col`,"data-testid":`activity-panel`,"aria-label":_,children:[b,x]}),t[22]=_,t[23]=b,t[24]=x,t[25]=S):S=t[25],S}function Q(e){let t=(0,F.c)(29),n;t[0]===e?n=t[1]:(n=e===void 0?{}:e,t[0]=e,t[1]=n);let{showBackButton:r}=n,i=r===void 0?!0:r,{_:s}=c(),{docPanelAgentId:l,closeActivityPanel:u}=a(),{openTargetTransition:d}=o(),{pageMeta:f}=E(),{data:p,status:m,error:h,reload:g,fetchBurstDiff:_}=se(l);if(l===null){let e;return t[2]!==u||t[3]!==i?(e=(0,R.jsx)(K,{onExit:u,showBackButton:i}),t[2]=u,t[3]=i,t[4]=e):e=t[4],e}let v;t[5]!==d||t[6]!==f?(v=e=>{d(P({kind:`doc`,target:e,docName:e},f)),U(e)},t[5]=d,t[6]=f,t[7]=v):v=t[7];let y=v,b;t[8]!==s||t[9]!==p||t[10]!==l||t[11]!==g?(b=async e=>{try{await V({connectionId:l,docName:e,scope:`last`,agentName:p?.agent?.displayName}),g()}catch(e){let t=e,n=t instanceof Error?t.message:String(t);M.error(s({id:`EqrC_R`,values:{message:n}})),g()}},t[8]=s,t[9]=p,t[10]=l,t[11]=g,t[12]=b):b=t[12];let x=b,S;t[13]!==s||t[14]!==p||t[15]!==l||t[16]!==g?(S=async e=>{try{await V({connectionId:l,docName:e,scope:`file`,agentName:p?.agent?.displayName}),M.success(s({id:`pRc-Im`,values:{docName:e}})),g()}catch(e){let t=e,n=t instanceof Error?t.message:String(t);M.error(s({id:`7KeV5F`,values:{message:n}})),g()}},t[13]=s,t[14]=p,t[15]=l,t[16]=g,t[17]=S):S=t[17];let C=S,w;return t[18]!==u||t[19]!==p||t[20]!==h||t[21]!==_||t[22]!==y||t[23]!==C||t[24]!==x||t[25]!==g||t[26]!==i||t[27]!==m?(w=(0,R.jsx)(Z,{data:p,status:m,error:h,reload:g,fetchBurstDiff:_,onExit:u,onNavigate:y,onUndoLast:x,onUndoAll:C,showBackButton:i}),t[18]=u,t[19]=p,t[20]=h,t[21]=_,t[22]=y,t[23]=C,t[24]=x,t[25]=g,t[26]=i,t[27]=m,t[28]=w):w=t[28],w}export{Q as ActivityModeContent};
|