@inkeep/open-knowledge 0.28.0-beta.8 → 0.28.1-beta.2

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.
Files changed (280) hide show
  1. package/dist/assets/skills/discovery/SKILL.md +1 -1
  2. package/dist/assets/skills/project/SKILL.md +1 -1
  3. package/dist/assets/skills/write-skill/SKILL.md +1 -1
  4. package/dist/cli.mjs +48 -48
  5. package/dist/constants-CSnkwjht.mjs +2 -0
  6. package/dist/{dist-CD7iLv1c.mjs → dist-BvK2GLh6.mjs} +9 -9
  7. package/dist/{dist-D0fMk7yr.mjs → dist-CDpjGDM9.mjs} +1 -1
  8. package/dist/{gh-detect-Bc-KSyh6.mjs → gh-detect-RYp8nY6_.mjs} +2 -2
  9. package/dist/index.mjs +1 -1
  10. package/dist/init-Bv8YRF0a.mjs +1 -0
  11. package/dist/{init-Ci768cUc.mjs → init-DUT3jX8X.mjs} +4 -4
  12. package/dist/loader-CU2qWOz4.mjs +1 -0
  13. package/dist/{loader-CUdbH5wE.mjs → loader-uMT8FFdY.mjs} +2 -2
  14. package/dist/preview-D6u_pKXX.mjs +1 -0
  15. package/dist/{preview-Ty-nKYZm.mjs → preview-en_IHxnY.mjs} +2 -2
  16. package/dist/public/assets/ActivityModeContent-BIqN0ONM.js +2 -0
  17. package/dist/public/assets/CodeMirrorPropInput-CPDk-5JJ.js +3 -0
  18. package/dist/public/assets/{ConsentDialogBody-u7A2_0jL.js → ConsentDialogBody-BeNIRTmZ.js} +1 -1
  19. package/dist/public/assets/DocumentContext-be-baGUX.js +35 -0
  20. package/dist/public/assets/EnableSyncConfirmDialog-BSbqFLdb.js +1 -0
  21. package/dist/public/assets/{GraphPanel-CHb0qJOI.js → GraphPanel-Dqtk3iTG.js} +1 -1
  22. package/dist/public/assets/{ManagedArtifactProperties-70ooWd7O.js → ManagedArtifactProperties-BdppAYrr.js} +1 -1
  23. package/dist/public/assets/{McpConsentDialogBody-BKvKmtg_.js → McpConsentDialogBody-CUQI4RGZ.js} +1 -1
  24. package/dist/public/assets/MermaidDocEditor-DU0SGBnc.js +1 -0
  25. package/dist/public/assets/PropertyPanel-NVSBKZMj.js +2 -0
  26. package/dist/public/assets/{SettingsDialogBody-BX4GP2gS.js → SettingsDialogBody-DgSfMkYv.js} +2 -2
  27. package/dist/public/assets/{ShareBranchSwitchDialog-Clk_4Io5.js → ShareBranchSwitchDialog-B_JDNo2q.js} +1 -1
  28. package/dist/public/assets/{ShareReceiveDialog-BDmjkthD.js → ShareReceiveDialog-BfzI_GWc.js} +1 -1
  29. package/dist/public/assets/{ShareReceiveMissDialog-Ds4kHbjr.js → ShareReceiveMissDialog-c6Vh3OWp.js} +1 -1
  30. package/dist/public/assets/{SkillEditorActions-pVw4b49f.js → SkillEditorActions-BQHJ7_wh.js} +1 -1
  31. package/dist/public/assets/SourceEditor-C8XoS6-P.js +1 -0
  32. package/dist/public/assets/{TerminalPanel-Cfp4xEGm.js → TerminalPanel-BOKW93aW.js} +5 -5
  33. package/dist/public/assets/{_baseFor-CyNhGcoH.js → _baseFor-gIylPeg5.js} +1 -1
  34. package/dist/public/assets/{agent-presence-C79Orlhd.js → agent-presence-bhQkrJzF.js} +1 -1
  35. package/dist/public/assets/{arc-D83o8OOg.js → arc-C4yhEJQw.js} +1 -1
  36. package/dist/public/assets/architecture-YZFGNWBL-DcH0Xwye.js +1 -0
  37. package/dist/public/assets/{architectureDiagram-Q4EWVU46-ChCk9piL.js → architectureDiagram-Q4EWVU46-DC4AvWYl.js} +1 -1
  38. package/dist/public/assets/auth-state-cache-JChrBtJe.js +11 -0
  39. package/dist/public/assets/{blockDiagram-DXYQGD6D-BzhsSfS3.js → blockDiagram-DXYQGD6D-C1cL6qRh.js} +1 -1
  40. package/dist/public/assets/{c4Diagram-AHTNJAMY-DulnnLxj.js → c4Diagram-AHTNJAMY-D6DqCCxr.js} +1 -1
  41. package/dist/public/assets/{calendar-1ajmwUXD.js → calendar-BcHFwA_d.js} +1 -1
  42. package/dist/public/assets/channel-DvmTCFK0.js +1 -0
  43. package/dist/public/assets/{checkbox-f-bVZCIm.js → checkbox-CZq8uurx.js} +1 -1
  44. package/dist/public/assets/{chunk-2KRD3SAO-DsNBCxFU.js → chunk-2KRD3SAO-Em1kdvE5.js} +1 -1
  45. package/dist/public/assets/{chunk-336JU56O-CcZCge2-.js → chunk-336JU56O-COSGTnty.js} +2 -2
  46. package/dist/public/assets/chunk-426QAEUC-lxQgJP7J.js +1 -0
  47. package/dist/public/assets/{chunk-4BX2VUAB-Grk9TGXN.js → chunk-4BX2VUAB-X8pZgMic.js} +1 -1
  48. package/dist/public/assets/{chunk-4TB4RGXK-CAXYTGg7.js → chunk-4TB4RGXK-CVfL5Gbl.js} +1 -1
  49. package/dist/public/assets/chunk-55IACEB6-CugRk1ll.js +1 -0
  50. package/dist/public/assets/{chunk-5FUZZQ4R-BrmoYnYM.js → chunk-5FUZZQ4R-DXnyU1FU.js} +1 -1
  51. package/dist/public/assets/{chunk-5PVQY5BW-CEeElQgj.js → chunk-5PVQY5BW-BfWflEdC.js} +1 -1
  52. package/dist/public/assets/{chunk-67CJDMHE-DRCcVE5j.js → chunk-67CJDMHE-DO9QtOw-.js} +1 -1
  53. package/dist/public/assets/{chunk-7N4EOEYR-ChRf9CRN.js → chunk-7N4EOEYR-BORVqcDw.js} +1 -1
  54. package/dist/public/assets/{chunk-AA7GKIK3-DJMIkYZB.js → chunk-AA7GKIK3-By1Z9lsq.js} +1 -1
  55. package/dist/public/assets/{chunk-BSJP7CBP-CkhFUxRl.js → chunk-BSJP7CBP-DGkoofP8.js} +1 -1
  56. package/dist/public/assets/{chunk-CIAEETIT-aHYgXftd.js → chunk-CIAEETIT-Ba--itJL.js} +1 -1
  57. package/dist/public/assets/{chunk-EDXVE4YY-B1j4UpBa.js → chunk-EDXVE4YY-CdoK23Sp.js} +1 -1
  58. package/dist/public/assets/{chunk-ENJZ2VHE-BNy6Rh-1.js → chunk-ENJZ2VHE-DswT8yfW.js} +1 -1
  59. package/dist/public/assets/{chunk-FMBD7UC4-CSbbREu-.js → chunk-FMBD7UC4-x1q3bw7Q.js} +1 -1
  60. package/dist/public/assets/{chunk-FOC6F5B3-Dr33I0tU.js → chunk-FOC6F5B3-DhD5rfUR.js} +1 -1
  61. package/dist/public/assets/{chunk-ICPOFSXX-1RLN41rn.js → chunk-ICPOFSXX-D9NDunVu.js} +1 -1
  62. package/dist/public/assets/{chunk-K5T4RW27-CYsL3ocS.js → chunk-K5T4RW27-BvwWfXcd.js} +1 -1
  63. package/dist/public/assets/{chunk-KGLVRYIC-D64iCe0j.js → chunk-KGLVRYIC-DwbKIj1d.js} +1 -1
  64. package/dist/public/assets/{chunk-LIHQZDEY-QwBKmGy0.js → chunk-LIHQZDEY-BoNEjWhP.js} +1 -1
  65. package/dist/public/assets/{chunk-ORNJ4GCN-C7OAq2PD.js → chunk-ORNJ4GCN-DAGke0iu.js} +1 -1
  66. package/dist/public/assets/{chunk-OYMX7WX6-DKweTKMn.js → chunk-OYMX7WX6-f6ekO3O0.js} +1 -1
  67. package/dist/public/assets/chunk-QZHKN3VN-BkaeB1ef.js +1 -0
  68. package/dist/public/assets/{chunk-U2HBQHQK-mRJ3fq4T.js → chunk-U2HBQHQK-DmscK_CK.js} +1 -1
  69. package/dist/public/assets/{chunk-X2U36JSP-BIFgIXrZ.js → chunk-X2U36JSP-Drcsz9sU.js} +1 -1
  70. package/dist/public/assets/{chunk-XPW4576I-DG64u9p6.js → chunk-XPW4576I-BaXHEna0.js} +1 -1
  71. package/dist/public/assets/{chunk-YZCP3GAM-BWUy7IDu.js → chunk-YZCP3GAM-mwyjbKot.js} +1 -1
  72. package/dist/public/assets/{chunk-ZZ45TVLE-DseNoBkl.js → chunk-ZZ45TVLE-CFmm3SWp.js} +1 -1
  73. package/dist/public/assets/classDiagram-6PBFFD2Q-B7ML6gIt.js +1 -0
  74. package/dist/public/assets/classDiagram-v2-HSJHXN6E-B8rZ1Wmm.js +1 -0
  75. package/dist/public/assets/clone-Br4VE8_-.js +1 -0
  76. package/dist/public/assets/{collapsible-iVWLn36m.js → collapsible-DeTPPJXe.js} +1 -1
  77. package/dist/public/assets/config-provider-CG3O-D_g.js +4 -0
  78. package/dist/public/assets/{cose-bilkent-S5V4N54A-VDkktAp6.js → cose-bilkent-S5V4N54A-DvX8tKj-.js} +1 -1
  79. package/dist/public/assets/{dagre-vhYcUXka.js → dagre-DFSkGxKB.js} +1 -1
  80. package/dist/public/assets/{dagre-KV5264BT-DSZ_VImb.js → dagre-KV5264BT-Bl5Wtmeo.js} +1 -1
  81. package/dist/public/assets/{diagram-5BDNPKRD-DXB4cP1D.js → diagram-5BDNPKRD-tjMIOssc.js} +1 -1
  82. package/dist/public/assets/{diagram-G4DWMVQ6-Da83oaRA.js → diagram-G4DWMVQ6-CK9r2ubE.js} +1 -1
  83. package/dist/public/assets/{diagram-MMDJMWI5-DjbYSzQh.js → diagram-MMDJMWI5-pPXE2_j5.js} +1 -1
  84. package/dist/public/assets/{diagram-TYMM5635-Bdai1eSE.js → diagram-TYMM5635-Be2tSIFw.js} +1 -1
  85. package/dist/public/assets/{dialog-BiB39Lhy.js → dialog-CsCS3R9S.js} +1 -1
  86. package/dist/public/assets/dist-B0fhyoQg.js +11 -0
  87. package/dist/public/assets/{dist-BuALIrNm.js → dist-B32UcIvZ.js} +1 -1
  88. package/dist/public/assets/{dist-CiFyjhkz.js → dist-BCx0Ovdl.js} +1 -1
  89. package/dist/public/assets/{dist-C75OCMT0.js → dist-BVjP1DLS.js} +1 -1
  90. package/dist/public/assets/{dist-jwOy5oFW.js → dist-BqGZCIKm.js} +1 -1
  91. package/dist/public/assets/dist-BvPTjv8G.js +2 -0
  92. package/dist/public/assets/{dist-BUqH6ZNg.js → dist-C6pK6kVr.js} +1 -1
  93. package/dist/public/assets/{dist-DG-zKHrl.js → dist-CWUeoWMV.js} +1 -1
  94. package/dist/public/assets/dist-Cl10jghh.js +1 -0
  95. package/dist/public/assets/{dist-B9f86446.js → dist-CysbQf3k.js} +1 -1
  96. package/dist/public/assets/{dist-DQJENePL.js → dist-DFpeaPKa.js} +1 -1
  97. package/dist/public/assets/{dist-BEjpPm3y.js → dist-DS_yhd1x.js} +1 -1
  98. package/dist/public/assets/{dist-Bp_rHida.js → dist-Dcb8C0af.js} +1 -1
  99. package/dist/public/assets/{dist-DsZfUH3j.js → dist-HncSDvaf.js} +1 -1
  100. package/dist/public/assets/{dist-C71DLMde.js → dist-K8OBeqgm.js} +1 -1
  101. package/dist/public/assets/{dist-BQeT9ICH.js → dist-w6PaZv_P.js} +146 -146
  102. package/dist/public/assets/{doc-hash-eLdowlcO.js → doc-hash-PVDtHUyI.js} +1 -1
  103. package/dist/public/assets/{documents-events-DftWTO_p.js → documents-events-DDeQH5lL.js} +1 -1
  104. package/dist/public/assets/documents-fetch-Dm5drRwY.js +1 -0
  105. package/dist/public/assets/{erDiagram-SMLLAGMA-BVfj1vre.js → erDiagram-SMLLAGMA-B3cWhMkB.js} +1 -1
  106. package/dist/public/assets/eye-WB1l5kVb.js +1 -0
  107. package/dist/public/assets/file-tree-adapter-C6VstyQq.js +1 -0
  108. package/dist/public/assets/{flatten-D_Wjvstd.js → flatten-C63FDqGp.js} +1 -1
  109. package/dist/public/assets/floating-ui.dom-BgPtBule.js +1 -0
  110. package/dist/public/assets/{flowDiagram-DWJPFMVM-OSUtzHqA.js → flowDiagram-DWJPFMVM-Bk7b9VCg.js} +1 -1
  111. package/dist/public/assets/{ganttDiagram-T4ZO3ILL-B-nn56dM.js → ganttDiagram-T4ZO3ILL-CSPHkGTp.js} +1 -1
  112. package/dist/public/assets/gitGraph-7Q5UKJZL-Ba9p2nZi.js +1 -0
  113. package/dist/public/assets/{gitGraphDiagram-UUTBAWPF-DZkSF-OC.js → gitGraphDiagram-UUTBAWPF-DmEcXdKa.js} +1 -1
  114. package/dist/public/assets/{graphlib-BIasyxiN.js → graphlib-D4vC2miW.js} +1 -1
  115. package/dist/public/assets/index-DDbdubJY.js +2003 -0
  116. package/dist/public/assets/{index-CgoVvMy1.css → index-DtRk7cSB.css} +1 -1
  117. package/dist/public/assets/info-OMHHGYJF-DauoPq4L.js +1 -0
  118. package/dist/public/assets/{infoDiagram-42DDH7IO-BeC9BiIu.js → infoDiagram-42DDH7IO-B90k1FDC.js} +1 -1
  119. package/dist/public/assets/{isEmpty-n3rjfMgT.js → isEmpty-DKDyjxZL.js} +1 -1
  120. package/dist/public/assets/isSymbol-TQCBVYcF.js +1 -0
  121. package/dist/public/assets/{ishikawaDiagram-UXIWVN3A-Dkujw5jx.js → ishikawaDiagram-UXIWVN3A-CrJNhiO8.js} +1 -1
  122. package/dist/public/assets/{journeyDiagram-VCZTEJTY-CUCWKR7f.js → journeyDiagram-VCZTEJTY-CDnYFlD-.js} +1 -1
  123. package/dist/public/assets/{kanban-definition-6JOO6SKY-CYLhLDNP.js → kanban-definition-6JOO6SKY-P5CLe5Ry.js} +1 -1
  124. package/dist/public/assets/{keyboard-shortcuts-C5JAtPtb.js → keyboard-shortcuts-CNsCpHo3.js} +1 -1
  125. package/dist/public/assets/{label-hTzLGQhh.js → label-fu3Tx8AH.js} +1 -1
  126. package/dist/public/assets/{line-C2FdpsKU.js → line-CesgYl1m.js} +1 -1
  127. package/dist/public/assets/{linear-uAS6gY07.js → linear-B5q34u3D.js} +1 -1
  128. package/dist/public/assets/{mermaid-parser.core-D3oLXj2Q.js → mermaid-parser.core-D4lUxfcL.js} +2 -2
  129. package/dist/public/assets/{mermaid.core-Cam_8F7g.js → mermaid.core-4wEyIHsI.js} +3 -3
  130. package/dist/public/assets/{mindmap-definition-QFDTVHPH-xm-abLJ0.js → mindmap-definition-QFDTVHPH-BFkxkOoR.js} +1 -1
  131. package/dist/public/assets/navigation-targets-C138S-Ad.js +1 -0
  132. package/dist/public/assets/{now-Cz4lG-PF.js → now-C1KCZH9r.js} +1 -1
  133. package/dist/public/assets/{open-managed-artifact-tab-BiLs1dgV.js → open-managed-artifact-tab-C9jOHfz4.js} +1 -1
  134. package/dist/public/assets/{ordinal-DdJ_tP-k.js → ordinal-mOcmz1dH.js} +1 -1
  135. package/dist/public/assets/packet-4T2RLAQJ-wCm--Lnm.js +1 -0
  136. package/dist/public/assets/parse-api-error-Bbj0-BSQ.js +1 -0
  137. package/dist/public/assets/{pending-receive-nav-store-eEQMXb1T.js → pending-receive-nav-store-CNk27AB1.js} +1 -1
  138. package/dist/public/assets/pie-ZZUOXDRM-SVjTW51k.js +1 -0
  139. package/dist/public/assets/{pieDiagram-DEJITSTG-BOho7tDc.js → pieDiagram-DEJITSTG-xrZk9MzS.js} +1 -1
  140. package/dist/public/assets/{project-paths-cuCZTJ3P.js → project-paths-1M9SPXQv.js} +1 -1
  141. package/dist/public/assets/prop-types-CclpOdFN.js +1 -0
  142. package/dist/public/assets/{quadrantDiagram-34T5L4WZ-BeSxfVib.js → quadrantDiagram-34T5L4WZ-6Gq9f5n0.js} +1 -1
  143. package/dist/public/assets/radar-PYXPWWZC-CpEUEFTa.js +1 -0
  144. package/dist/public/assets/{radio-group-G2GVDZug.js → radio-group-CUljjIYe.js} +1 -1
  145. package/dist/public/assets/{receive-store-Ckz3u5Dv.js → receive-store-BI47GRKC.js} +1 -1
  146. package/dist/public/assets/{reduce-CLi1_fYh.js → reduce-DSZ8N5lq.js} +1 -1
  147. package/dist/public/assets/{requirementDiagram-MS252O5E-Cyy0OBiH.js → requirementDiagram-MS252O5E-Bz4BXIxO.js} +1 -1
  148. package/dist/public/assets/{sankeyDiagram-XADWPNL6-CxxO0Br2.js → sankeyDiagram-XADWPNL6-JUUNe85z.js} +1 -1
  149. package/dist/public/assets/{selection-context-DaymKQhd.js → selection-context-exHoVFmy.js} +1 -1
  150. package/dist/public/assets/{sequenceDiagram-FGHM5R23-D2PtzhZJ.js → sequenceDiagram-FGHM5R23-CMIYv0yF.js} +1 -1
  151. package/dist/public/assets/skill-actions-Bed6NZWV.js +1 -0
  152. package/dist/public/assets/skill-scope-B81M2_xh.js +1 -0
  153. package/dist/public/assets/skills-api-BdFj9A8Y.js +1 -0
  154. package/dist/public/assets/src-CeGNnK-l.js +2 -0
  155. package/dist/public/assets/{src-28IIV2Sn.js → src-vR35WiAc.js} +1 -1
  156. package/dist/public/assets/{stateDiagram-FHFEXIEX-DFFeLq2Y.js → stateDiagram-FHFEXIEX-zOcM60tH.js} +1 -1
  157. package/dist/public/assets/stateDiagram-v2-QKLJ7IA2-D_B4Ywf0.js +1 -0
  158. package/dist/public/assets/{target-navigation-intent-DJtJaVBl.js → target-navigation-intent-Dv6mHsTm.js} +1 -1
  159. package/dist/public/assets/{telemetry-impl-DbDKK1Kj.js → telemetry-impl-_dZB-keU.js} +2 -2
  160. package/dist/public/assets/{telemetry-startup-ChBVT3Gs.js → telemetry-startup-XWK3xABf.js} +1 -1
  161. package/dist/public/assets/{timeline-definition-GMOUNBTQ-DjU4O-O4.js → timeline-definition-GMOUNBTQ-BZmnLBNO.js} +1 -1
  162. package/dist/public/assets/{toggle-group-ChBgoXkr.js → toggle-group-ZxRmfinR.js} +1 -1
  163. package/dist/public/assets/{tooltip-C-qXynAd.js → tooltip-BKaRnpkE.js} +1 -1
  164. package/dist/public/assets/trash-2-DHwjvW5E.js +1 -0
  165. package/dist/public/assets/treeView-SZITEDCU-CxW1Fi0N.js +1 -0
  166. package/dist/public/assets/treemap-W4RFUUIX-DSnxX8Tx.js +1 -0
  167. package/dist/public/assets/typing-burst-detector-OvRo-erH.js +6 -0
  168. package/dist/public/assets/{vennDiagram-DHZGUBPP-B5IEI223.js → vennDiagram-DHZGUBPP-CQdhzc6t.js} +1 -1
  169. package/dist/public/assets/wardley-RL74JXVD-9K1UST4U.js +1 -0
  170. package/dist/public/assets/{wardleyDiagram-NUSXRM2D-DmKxROfA.js → wardleyDiagram-NUSXRM2D-BqO3bSrz.js} +1 -1
  171. package/dist/public/assets/{xychartDiagram-5P7HB3ND-DfsFGMvs.js → xychartDiagram-5P7HB3ND-B096Qbw8.js} +1 -1
  172. package/dist/public/index.html +78 -71
  173. package/dist/{repair-launch-json-Bvn_t98K.mjs → repair-launch-json-B86-ywpD.mjs} +2 -2
  174. package/dist/{repair-mcp-configs-TvlevgIB.mjs → repair-mcp-configs-iqA205gC.mjs} +2 -2
  175. package/dist/repair-skills-B4QZF-d3.mjs +1 -0
  176. package/dist/{repair-skills-v6Mlols4.mjs → repair-skills-LHV8H9aK.mjs} +2 -2
  177. package/dist/server-lock-GuuouVft-BPXunOvH.mjs +1 -0
  178. package/dist/{server-lock-iLcBw_q0-D_cD26E0.mjs → server-lock-iLcBw_q0-pnLGEjec.mjs} +102 -102
  179. package/dist/{src-BDsw_Ypd.mjs → src-Btp9Walr.mjs} +2 -2
  180. package/dist/{start-6yv8Ce7C.mjs → start-B1i5Dpuw.mjs} +2 -2
  181. package/dist/start-CMMuPqVu.mjs +1 -0
  182. package/dist/{write-project-skill-Pt6mb0Oq.mjs → write-project-skill-DwKyM2bJ.mjs} +2 -2
  183. package/package.json +1 -1
  184. package/dist/constants-Z9iTGlVY.mjs +0 -2
  185. package/dist/init-79Qb-xiL.mjs +0 -1
  186. package/dist/loader-Hx3ppSIp.mjs +0 -1
  187. package/dist/preview-CmJ-n5_k.mjs +0 -1
  188. package/dist/public/assets/ActivityModeContent-FXULq3P6.js +0 -2
  189. package/dist/public/assets/DocumentContext-AziEfQFy.js +0 -36
  190. package/dist/public/assets/EnableSyncConfirmDialog-D8UuFHxQ.js +0 -1
  191. package/dist/public/assets/PropertyPanel-Cq1sqsH4.js +0 -2
  192. package/dist/public/assets/SourceEditor-DXcSGXCG.js +0 -2
  193. package/dist/public/assets/architecture-YZFGNWBL-D9UBIAHq.js +0 -1
  194. package/dist/public/assets/auth-state-cache-De8QvFee.js +0 -11
  195. package/dist/public/assets/channel-DytC2OSB.js +0 -1
  196. package/dist/public/assets/chunk-426QAEUC-CAVhttwb.js +0 -1
  197. package/dist/public/assets/chunk-55IACEB6-DuYRPofq.js +0 -1
  198. package/dist/public/assets/chunk-QZHKN3VN-DhXqi7R7.js +0 -1
  199. package/dist/public/assets/classDiagram-6PBFFD2Q-DYWeklG8.js +0 -1
  200. package/dist/public/assets/classDiagram-v2-HSJHXN6E-CfLkcf5Y.js +0 -1
  201. package/dist/public/assets/clone-JWFgAdwR.js +0 -1
  202. package/dist/public/assets/config-provider-DY1ejnq-.js +0 -4
  203. package/dist/public/assets/dist-0Zj_lz7j.js +0 -11
  204. package/dist/public/assets/dist-C_vWk3jN.js +0 -1
  205. package/dist/public/assets/file-tree-adapter-BHXYt6U1.js +0 -1
  206. package/dist/public/assets/gitGraph-7Q5UKJZL-BbqhmoM-.js +0 -1
  207. package/dist/public/assets/index-CyKgBKog.js +0 -2003
  208. package/dist/public/assets/info-OMHHGYJF-DnibNYIM.js +0 -1
  209. package/dist/public/assets/isSymbol-XZKBrOoF.js +0 -1
  210. package/dist/public/assets/navigation-targets-fzjpgS0d.js +0 -1
  211. package/dist/public/assets/packet-4T2RLAQJ-CQ75ftcu.js +0 -1
  212. package/dist/public/assets/pie-ZZUOXDRM-DrLpeke2.js +0 -1
  213. package/dist/public/assets/prop-types-DVWxeasv.js +0 -1
  214. package/dist/public/assets/radar-PYXPWWZC-DsxR4TyY.js +0 -1
  215. package/dist/public/assets/skill-actions-CBRvSwTx.js +0 -1
  216. package/dist/public/assets/skill-scope-Bt2TwqtA.js +0 -1
  217. package/dist/public/assets/skills-api-c0dJMBt0.js +0 -1
  218. package/dist/public/assets/stateDiagram-v2-QKLJ7IA2-DH8XnZl5.js +0 -1
  219. package/dist/public/assets/treeView-SZITEDCU-DcfbDroR.js +0 -1
  220. package/dist/public/assets/treemap-W4RFUUIX-C1lvB3Lz.js +0 -1
  221. package/dist/public/assets/typing-burst-detector-fx0Rb57X.js +0 -7
  222. package/dist/public/assets/wardley-RL74JXVD-CsvQ_3RJ.js +0 -1
  223. package/dist/repair-skills-Bv8iL5x_.mjs +0 -1
  224. package/dist/server-lock-GuuouVft-BFFcTQcA.mjs +0 -1
  225. package/dist/start-B5ydqSJZ.mjs +0 -1
  226. /package/dist/public/assets/{ActivityPanelDiffView-DKeRw1Cx.js → ActivityPanelDiffView-Oap1F4vk.js} +0 -0
  227. /package/dist/public/assets/{__vite-browser-external-BYnGn7dC.js → __vite-browser-external-CgB6cL13.js} +0 -0
  228. /package/dist/public/assets/{array-C2ARTgCj.js → array-DvTWoG0m.js} +0 -0
  229. /package/dist/public/assets/{arrow-up-right-DoN2FmSd.js → arrow-up-right-Crm0Btez.js} +0 -0
  230. /package/dist/public/assets/{check-Dqb-7gfx.js → check-DRRCCRSs.js} +0 -0
  231. /package/dist/public/assets/{chevron-down-D3nis7uo.js → chevron-down-BvNcCN1f.js} +0 -0
  232. /package/dist/public/assets/{chevron-left-C6Q_NKVx.js → chevron-left-BEP8MhU3.js} +0 -0
  233. /package/dist/public/assets/{chevron-right-BfmqRYl8.js → chevron-right-DSNnH-Vb.js} +0 -0
  234. /package/dist/public/assets/{clike-D1vNpgsL.js → clike-0lvcGvys.js} +0 -0
  235. /package/dist/public/assets/{colors-S-eYy0dP.js → colors-IR5jcHwc.js} +0 -0
  236. /package/dist/public/assets/{config-context-CVpOcWSZ.js → config-context-CzdMgLHH.js} +0 -0
  237. /package/dist/public/assets/{cursor-CGeB2PU5.js → cursor-e0zRswH3.js} +0 -0
  238. /package/dist/public/assets/{cytoscape.esm-C8VTsmgM.js → cytoscape.esm-CX-taWeI.js} +0 -0
  239. /package/dist/public/assets/{defaultLocale-Ddnx0blM.js → defaultLocale-gFRIUUHz.js} +0 -0
  240. /package/dist/public/assets/{desktop-bridge-types-BeY3wQCX.js → desktop-bridge-types-De2kjWgu.js} +0 -0
  241. /package/dist/public/assets/{diff-BeNfkPWe.js → diff-BYaxtv-Y.js} +0 -0
  242. /package/dist/public/assets/{dist-D9WIglau.js → dist-BA1b6hgf.js} +0 -0
  243. /package/dist/public/assets/{dist-DLLyJf3c.js → dist-BDlvQLfA.js} +0 -0
  244. /package/dist/public/assets/{dist-IEs1iCqd.js → dist-CHtJ0hxO.js} +0 -0
  245. /package/dist/public/assets/{dist-VYgKuZZh.js → dist-CTdX28hn.js} +0 -0
  246. /package/dist/public/assets/{dist-CbgmYSt6.js → dist-vTz-cLLB.js} +0 -0
  247. /package/dist/public/assets/{external-link-Do3_Yhal.js → external-link-27uXLNxg.js} +0 -0
  248. /package/dist/public/assets/{file-tree-rename-validation-BkATWpiZ.js → file-tree-rename-validation-DTVQL2Xb.js} +0 -0
  249. /package/dist/public/assets/{format-IdV1ZccK.js → format-1Qr8HOYT.js} +0 -0
  250. /package/dist/public/assets/{git-branch-DtntyZcb.js → git-branch-q0qWPEwd.js} +0 -0
  251. /package/dist/public/assets/{go-BPQOrv_-.js → go-s8LhlcQN.js} +0 -0
  252. /package/dist/public/assets/{info-B_9IOYHV.js → info-BlYnsVoP.js} +0 -0
  253. /package/dist/public/assets/{init-C1Y52B8f.js → init-BiVQaVme.js} +0 -0
  254. /package/dist/public/assets/{input-D0MSkqYi.js → input-s7JSCucz.js} +0 -0
  255. /package/dist/public/assets/{isObjectLike-B-XBvMIZ.js → isObjectLike-CplF2yFH.js} +0 -0
  256. /package/dist/public/assets/{loader-circle-CiIO3Fk-.js → loader-circle-B7Gv_Djz.js} +0 -0
  257. /package/dist/public/assets/{lua-De73j3Nj.js → lua-BJMsYVXC.js} +0 -0
  258. /package/dist/public/assets/{mcp-consent-store-hDvds8gj.js → mcp-consent-store-BIFsQSdo.js} +0 -0
  259. /package/dist/public/assets/{min-Du20ti5G.js → min-3e1jfujw.js} +0 -0
  260. /package/dist/public/assets/{miss-dialog-store-Ay7SdCdU.js → miss-dialog-store-PJQ_kr0I.js} +0 -0
  261. /package/dist/public/assets/{panzoom.es-BcYSRiVh.js → panzoom.es-KLVlk3tM.js} +0 -0
  262. /package/dist/public/assets/{path-DAmnUwYX.js → path-G868Kf9B.js} +0 -0
  263. /package/dist/public/assets/{pdf-PfDliStv.js → pdf-Cm0Z_df8.js} +0 -0
  264. /package/dist/public/assets/{pdf.worker-rrxcKZlR.js → pdf.worker-U3xqv7qk.js} +0 -0
  265. /package/dist/public/assets/{perl-_CDvIe1D.js → perl-DVyM2C9-.js} +0 -0
  266. /package/dist/public/assets/{properties-C7HiLOXK.js → properties-NhXpAKoe.js} +0 -0
  267. /package/dist/public/assets/{r-C7fediNL.js → r-D725PTfh.js} +0 -0
  268. /package/dist/public/assets/{refresh-cw-EVALIeLp.js → refresh-cw-CluaccKu.js} +0 -0
  269. /package/dist/public/assets/{rough.esm-CNnrul_b.js → rough.esm-DHcrZ6TO.js} +0 -0
  270. /package/dist/public/assets/{ruby-ScdRRFFa.js → ruby-D1PV8skF.js} +0 -0
  271. /package/dist/public/assets/{share-metadata-rows-Bd_ant37.js → share-metadata-rows-ZQ-JmihW.js} +0 -0
  272. /package/dist/public/assets/{shell-DhAwSAum.js → shell-BymBffsk.js} +0 -0
  273. /package/dist/public/assets/{sql-Cra_k0U6.js → sql-DSkPJi80.js} +0 -0
  274. /package/dist/public/assets/{src-cx4Sgc5-.js → src-BMeqqHjK.js} +0 -0
  275. /package/dist/public/assets/{startup-marks-DdMtjWR-.js → startup-marks-DWFDLvEG.js} +0 -0
  276. /package/dist/public/assets/{stex-AIAzjJoG.js → stex-Ds-MGVqb.js} +0 -0
  277. /package/dist/public/assets/{swift-DmZcjeK9.js → swift-DvFGtMVO.js} +0 -0
  278. /package/dist/public/assets/{textarea-9jwlIkqW.js → textarea-BV8h2udO.js} +0 -0
  279. /package/dist/public/assets/{toml-QZGHzT2O.js → toml-4Y1WOP_Q.js} +0 -0
  280. /package/dist/public/assets/{triangle-alert-r1Ou0VrE.js → triangle-alert-D4Umd2kR.js} +0 -0
@@ -1 +1 @@
1
- import{Fi as e,Gt as t,Hi as n,Pn as r,Q as i,_ as a,a as o,an as s,b as c,c as l,di as u,f as d,g as f,gn as p,h as m,i as h,kn as g,l as _,m as v,n as y,o as b,p as x,r as S,s as C,t as w,u as T,ua as E,un as D,v as O,y as k}from"./server-lock-iLcBw_q0-D_cD26E0.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,ba as gn,bi as _n,bn as vn,br as yn,bt as bn,c as xn,ca as Sn,ci as Cn,cn as wn,cr as Tn,ct as En,d as Dn,di as On,dn as kn,dr as An,dt as jn,ea as Mn,ei as Nn,en as Pn,er as Fn,et as In,f as Ln,fi as Rn,fn as zn,fr as Bn,ft as Vn,g as Hn,gi as Un,gn as Wn,gr as Gn,gt as Kn,h as qn,hi as Jn,hn as Yn,hr as Xn,ht as Zn,i as Qn,ia as $n,ii as er,in as tr,ir as nr,it as rr,j as ir,ji as ar,jn as or,jr as sr,jt as cr,k as lr,ki as ur,kn as dr,kr as fr,kt as pr,l as mr,li as hr,ln as gr,lr as _r,lt as vr,m as yr,mi as br,mn as xr,mr as Sr,mt as Cr,n as wr,na as Tr,ni as Er,nn as Dr,nr as Or,nt as kr,o as Ar,oa as jr,oi as Mr,on as Nr,or as Pr,ot as Fr,p as Ir,pi as Lr,pn as Rr,pr as zr,pt as Br,q as Vr,qi as Hr,qn as Ur,qr as Wr,qt as Gr,r as Kr,ra as qr,ri as Jr,rn as Yr,rr as Xr,rt as Zr,s as Qr,sa as $r,si as ei,sn as ti,sr as ni,st as ri,t as ii,ta as ai,ti as oi,tn as si,tr as ci,tt as li,u as ui,ui as di,un as fi,ur as pi,ut as mi,v as hi,vi as gi,vn as _i,vr as vi,vt as yi,w as bi,wi as xi,wn as Si,wr as Ci,wt as wi,x as Ti,xa as Ei,xi as Di,xn as Oi,xr as ki,xt as Ai,y as ji,yi as Mi,yn as Ni,yr as Pi,yt as Fi,z as Ii,zi as Li,zn as Ri,zr as zi,zt as Bi}from"./dist-CD7iLv1c.mjs";export{ii as AGENT_ID_MAX_LEN,wr as AGENT_ID_RE,Kr as AGENT_WRITE_ORIGIN,Qn as AgentFocusBroadcaster,ln as AgentPresenceBroadcaster,Ar as AgentSessionCapacityError,Qr as AgentSessionManager,xn as AutoStartDisabledError,mr as BUNDLE_IDS,ui as BUNDLE_SCOPE,Dn as BUNDLE_SKILL_NAME,Ln as BacklinkIndex,Ir as CC1Broadcaster,i as CC1_CONTRACT_VERSION,yr as CONFIG_FILENAME,qn as CONFLICT_MARKER_RE,Hn as CURSOR_BUNDLE_PATHS_BY_PLATFORM,rn as ConfigSchema,hi as DEFAULT_CHECKPOINT_RETENTION,ji as DEFAULT_EMBEDDINGS_DIMENSIONS,hn as DEFAULT_PACK_ID,Ti as EMBEDDINGS_API_KEY_ENV,_t as FILE_SYSTEM_WRITER,G as FILE_WATCHER_ORIGIN,bi as FileEmbeddingsBackend,St as GIT_PREFLIGHT_FAIL_SPAN_NAME,te as GIT_UPSTREAM_WRITER,gn as GitDirAccessError,X as GitNotAvailableError,Ze as GitTooOldError,lr as HOCUSPOCUS_AUTH_REJECTION_REASONS,F as HocuspocusAuthRejection,ir 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,s as MCP_SERVER_NAME,ft as MIN_GIT_VERSION,Ii as MISSING_OK_CONFIG_MESSAGE,Ei as MalformedGitPointerError,B as McpLogger,Mt as MissingOkConfigError,ge as OBSERVER_SYNC_ORIGIN,Dt as OK_OKIGNORE_TEMPLATE,D as ORPHAN_MODES,Lt as PANE_TARGET_TTL_MS,p as PROTOCOL_VERSION,de as PinoLogger,w as ProcessLockCollisionError,je as ProjectGitInitError,Vr as ROLLBACK_ORIGIN,Ee as ROOT_GITIGNORE_TEMPLATE,y as RUNTIME_VERSION,qt as SERVICE_WRITER,Ht as SKILL_INSTALL_EVENTS_FILE_REL,g as SKILL_STATE_TARGETS,Qt as STARTER_FOLDERS,st as STARTER_FOLDER_FRONTMATTER_FILENAME,A as STARTER_PACKS,In as STARTER_PACK_IDS,li as STARTER_TEMPLATES,kr as STATE_MANIFEST_FILENAME,S as STATE_SCHEMA_VERSION,r as SYSTEM_DOC_NAME,Zr as SeedPrerequisiteError,rr as SeedRootDirError,h as ServerLockCollisionError,mn as SingleFileNotAFileError,Fr as SingleFileNotFoundError,ri as SingleFileNotMarkdownError,En as StateManifestError,vr as TagIndex,mi as USER_GLOBAL_BUNDLE_IDS,jn as UiLockCollisionError,Vn as __getShowAllWalkStatsForTesting,Br as __resetShowAllWalkStatsForTesting,o as acquireProcessLock,b as acquireServerLock,Cr as acquireUiLock,Zn as applyAgentMarkdownWrite,Kn as applyExternalChange,cn as applySeed,yi as armPaneTarget,Fi as assertCompatibleStateManifest,bn as assertGitAvailable,Ai as assertNeverDiskEvent,xt as attachIdleShutdown,Y as bootServer,wi as buildAndOpenSkill,Et as buildConfigYmlContent,ae as buildExecResult,ee as buildSkillZip,tt as buildStarterFolderFrontmatterYaml,pr as buildWipTree,z as bundleSkillMdPath,cr as classifyEvents,Ge as classifyFsPath,Xe as clearArmedPaneTarget,ot as clearContributors,ue as clearEmbeddingsKeyFromAllBackends,Te as coercePackId,u as colorFromSeed,Be as commitUpstreamImport,gt as commitWip,Bi as commitWipFromTree,W as compareSemver,It as containsConflictMarkers,be as contentHash,jt as contributorCount,Vt as countShadowObjects,he as countStaleAgentWipRefs,Fe as countWipRefs,Gr as createApiExtension,Ae as createAssetServeMiddleware,Zt as createContentFilter,Kt as createContentFilterAsync,nn as createEmbeddingsSecretStore,dt as createEphemeralProjectDir,P as createExternalChangeHandler,Pn as createFileLogger,si as createLiveDerivedIndexExtension,Dr as createMcpHttpHandler,Yr as createOsProbe,tr as createPersistenceExtension,fn as createServer,Nr as createServerObserverExtension,ti as createStreamingErrorWriter,wn as createTestLogger,gr as describeStoredEmbeddingsKey,fi as detectClaudeDesktopPresence,kn as detectGit,zn as detectProjectShape,Rr as discoverLockDirs,xr as emitPreflightFailureSpan,Yn as encodeDocName,Wn as encodeFolderRoute,on as encodeSkillRoute,_i as ensureProjectGit,Ni as errorResponse,vn as evictStaleTrackerEntries,Oi as extractOkBinaryPath,yt as extractWikiLinksFromMarkdown,q as fallbackPaths,Si as findEnclosingGitRoot,wt as findEnclosingProjectRoot,re as flushFileLogger,Q as formatAuthRejectionWire,$e as formatContributors,dr as formatContributorsFrom,L as formatPackRationale,or as gcCheckpointRefs,Ue as getCurrentMcpLogger,Je as getLocalDir,it as getLogFilePath,ce as getLogger,Ce as getLogsDir,C as getMachineId,Re as getMeter,mt as getMetrics,Ri as getTracer,H as handleCollabSocketError,Pt as handleSpawnCursor,ve as hasGcLogLatch,e as iconFromClientName,kt as incrementCollabSocketFilteredError,zt as incrementServerObserverFire,pe as initContent,Ne as initShadowRepo,Ur as initTelemetry,Oe as initToleranceTelemetryWriter,Yt as installPrettyZodErrors,Wt as installTestLoggers,en as installUserSkill,lt as isAllowedApiOrigin,M as isAllowedWorkspaceHostHeader,Fn as isConfigDoc,ci as isHocuspocusAuthRejectionReason,Or as isKnownPackId,Xr as isLinkIndexExcludedDoc,nr as isLoopbackAddress,pn as isManagedArtifactDoc,n as isOrphanMode,Pr as isPairedWriteOrigin,ni as isPathWithinDir,l as isProcessAlive,Tn as isProjectRoot,_r as isProjectSkillManaged,pi as isReservedForUserTree,An as isSelfWrite,Bn as isSystemDoc,zr as isToleranceTelemetryEnabled,_ as isValidLockPid,Sr as lastKnownHash,Xn as listRescueCheckpoints,Gn as listStarterPacks,sn as loadPrincipal,T as lockFilePath,vi as loggerFactory,Pi as logsCurrentPath,yn as logsPreviousPath,ki as makeLazyEmbeddingsKeyStore,d as markServerLockDraining,bt as mountMcpAndApi,J as normalizeFsPath,Ci as packageVersionMajorMinor,Tt as parseAuthRejectionWire,ie as parseGitVersion,$ as parseHocuspocusAuthToken,et as parseKeepaliveConnectionId,fr as pathToDocName,R as planSeed,sr as prepareSingleFileOpen,We as processCommand,Ye as processUsage,at as readAllTargets,le as readArmedPaneTarget,we as readBranchFromHead,ze as readBundleDecision,x as readProcessLock,v as readProcessLockDetailed,ht as readProjectLocalSemanticConfig,m as readServerLock,zi as readServerPackageVersion,U as readSkillInstallStateSnapshot,Ft as readSkillManagement,ye as readStateManifest,At as readTargetRecordedAt,Bt as readTargetVersion,me as readUiLock,Pe as reconcile,Wr as recordContributor,ke as recordSkillInstallEvent,Xt as registerAllTools,Gt as registerWrite,f as releaseProcessLock,a as releaseServerLock,tn as releaseUiLock,ut as removeLastKnownHash,N as resetMetrics,E as resolveBundleEnabled,Nn as resolveBundledSkillDir,oi as resolveContentDir,Er as resolveCursorBinaryDefault,Jr as resolveCursorSpawnInvocation,er as resolveLockDir,dn as resolvePack,Mr as resolvePackageVersion,ei as resolveUiInfo,Cn as restoreContributors,hr as restoreLifecycleFromConflictsJson,di as rewriteMarkdownLinksForDocumentRename,On as rewriteWikiLinksForDocumentRename,Rn as runAuthReposSubprocess,Lr as runAuthStatusSubprocess,br as runCloneSubprocess,Jn as runDeviceFlowSubprocess,Un as runWithMcpLogger,an as safeContentPath,gi as safeSubdir,Mi as safetyCheckpoint,_n as sanitizeClientName,Di as saveInMemoryCheckpoint,vt as saveVersion,K as seedBasenameIndex,xi as serializeError,Ct as setActiveSpanAttributes,ne as setupServerObservers,Z as shadowGit,Qe as shutdownTelemetry,ur as skillManagementPath,I as spansCurrentPath,ar as spansPreviousPath,He as spawnDetached,qe as splitMarkdownBlocks,rt as startWatcher,se as streamingProblemEvent,Se as swapContributors,Le as teardownToleranceTelemetryWriter,pt as toBroadcasterKey,Li as tracedAppendFileSync,V as tracedLinkSync,Nt as tracedMkdir,_e as tracedMkdirSync,Ot as tracedRename,Rt as tracedRenameSync,fe as tracedRmSync,Me as tracedRmdirSync,Hr as tracedUnlinkSync,De as tracedWriteFile,Jt as tracedWriteFileSync,Ut as updateLastKnownHash,O as updateProcessLockPort,k as updateServerLockPort,$t as updateUiLockPort,ct as validateAgentId,j as validateCloneInputs,Mn as validateSkillZip,c as waitForServerLockDrain,ai as withSpan,Tr as withSpanSync,qr as writeBundleDecision,$n as writeRootGitignoreForNewRepo,un as writeSkillManagement,jr as writeStateManifest,$r as writeTargetVersion,Sn as writeTracker};
1
+ import{Fi as e,Gt as t,Hi as n,Pn as r,Q as i,_ as a,a as o,an as s,b as c,c as l,di as u,f as d,g as f,gn as p,h as m,i as h,kn as g,l as _,m as v,n as y,o as b,p as x,r as S,s as C,t as w,u as T,ua as E,un as D,v as O,y as k}from"./server-lock-iLcBw_q0-pnLGEjec.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,ba as gn,bi as _n,bn as vn,br as yn,bt as bn,c as xn,ca as Sn,ci as Cn,cn as wn,cr as Tn,ct as En,d as Dn,di as On,dn as kn,dr as An,dt as jn,ea as Mn,ei as Nn,en as Pn,er as Fn,et as In,f as Ln,fi as Rn,fn as zn,fr as Bn,ft as Vn,g as Hn,gi as Un,gn as Wn,gr as Gn,gt as Kn,h as qn,hi as Jn,hn as Yn,hr as Xn,ht as Zn,i as Qn,ia as $n,ii as er,in as tr,ir as nr,it as rr,j as ir,ji as ar,jn as or,jr as sr,jt as cr,k as lr,ki as ur,kn as dr,kr as fr,kt as pr,l as mr,li as hr,ln as gr,lr as _r,lt as vr,m as yr,mi as br,mn as xr,mr as Sr,mt as Cr,n as wr,na as Tr,ni as Er,nn as Dr,nr as Or,nt as kr,o as Ar,oa as jr,oi as Mr,on as Nr,or as Pr,ot as Fr,p as Ir,pi as Lr,pn as Rr,pr as zr,pt as Br,q as Vr,qi as Hr,qn as Ur,qr as Wr,qt as Gr,r as Kr,ra as qr,ri as Jr,rn as Yr,rr as Xr,rt as Zr,s as Qr,sa as $r,si as ei,sn as ti,sr as ni,st as ri,t as ii,ta as ai,ti as oi,tn as si,tr as ci,tt as li,u as ui,ui as di,un as fi,ur as pi,ut as mi,v as hi,vi as gi,vn as _i,vr as vi,vt as yi,w as bi,wi as xi,wn as Si,wr as Ci,wt as wi,x as Ti,xa as Ei,xi as Di,xn as Oi,xr as ki,xt as Ai,y as ji,yi as Mi,yn as Ni,yr as Pi,yt as Fi,z as Ii,zi as Li,zn as Ri,zr as zi,zt as Bi}from"./dist-BvK2GLh6.mjs";export{ii as AGENT_ID_MAX_LEN,wr as AGENT_ID_RE,Kr as AGENT_WRITE_ORIGIN,Qn as AgentFocusBroadcaster,ln as AgentPresenceBroadcaster,Ar as AgentSessionCapacityError,Qr as AgentSessionManager,xn as AutoStartDisabledError,mr as BUNDLE_IDS,ui as BUNDLE_SCOPE,Dn as BUNDLE_SKILL_NAME,Ln as BacklinkIndex,Ir as CC1Broadcaster,i as CC1_CONTRACT_VERSION,yr as CONFIG_FILENAME,qn as CONFLICT_MARKER_RE,Hn as CURSOR_BUNDLE_PATHS_BY_PLATFORM,rn as ConfigSchema,hi as DEFAULT_CHECKPOINT_RETENTION,ji as DEFAULT_EMBEDDINGS_DIMENSIONS,hn as DEFAULT_PACK_ID,Ti as EMBEDDINGS_API_KEY_ENV,_t as FILE_SYSTEM_WRITER,G as FILE_WATCHER_ORIGIN,bi as FileEmbeddingsBackend,St as GIT_PREFLIGHT_FAIL_SPAN_NAME,te as GIT_UPSTREAM_WRITER,gn as GitDirAccessError,X as GitNotAvailableError,Ze as GitTooOldError,lr as HOCUSPOCUS_AUTH_REJECTION_REASONS,F as HocuspocusAuthRejection,ir 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,s as MCP_SERVER_NAME,ft as MIN_GIT_VERSION,Ii as MISSING_OK_CONFIG_MESSAGE,Ei as MalformedGitPointerError,B as McpLogger,Mt as MissingOkConfigError,ge as OBSERVER_SYNC_ORIGIN,Dt as OK_OKIGNORE_TEMPLATE,D as ORPHAN_MODES,Lt as PANE_TARGET_TTL_MS,p as PROTOCOL_VERSION,de as PinoLogger,w as ProcessLockCollisionError,je as ProjectGitInitError,Vr as ROLLBACK_ORIGIN,Ee as ROOT_GITIGNORE_TEMPLATE,y as RUNTIME_VERSION,qt as SERVICE_WRITER,Ht as SKILL_INSTALL_EVENTS_FILE_REL,g as SKILL_STATE_TARGETS,Qt as STARTER_FOLDERS,st as STARTER_FOLDER_FRONTMATTER_FILENAME,A as STARTER_PACKS,In as STARTER_PACK_IDS,li as STARTER_TEMPLATES,kr as STATE_MANIFEST_FILENAME,S as STATE_SCHEMA_VERSION,r as SYSTEM_DOC_NAME,Zr as SeedPrerequisiteError,rr as SeedRootDirError,h as ServerLockCollisionError,mn as SingleFileNotAFileError,Fr as SingleFileNotFoundError,ri as SingleFileNotMarkdownError,En as StateManifestError,vr as TagIndex,mi as USER_GLOBAL_BUNDLE_IDS,jn as UiLockCollisionError,Vn as __getShowAllWalkStatsForTesting,Br as __resetShowAllWalkStatsForTesting,o as acquireProcessLock,b as acquireServerLock,Cr as acquireUiLock,Zn as applyAgentMarkdownWrite,Kn as applyExternalChange,cn as applySeed,yi as armPaneTarget,Fi as assertCompatibleStateManifest,bn as assertGitAvailable,Ai as assertNeverDiskEvent,xt as attachIdleShutdown,Y as bootServer,wi as buildAndOpenSkill,Et as buildConfigYmlContent,ae as buildExecResult,ee as buildSkillZip,tt as buildStarterFolderFrontmatterYaml,pr as buildWipTree,z as bundleSkillMdPath,cr as classifyEvents,Ge as classifyFsPath,Xe as clearArmedPaneTarget,ot as clearContributors,ue as clearEmbeddingsKeyFromAllBackends,Te as coercePackId,u as colorFromSeed,Be as commitUpstreamImport,gt as commitWip,Bi as commitWipFromTree,W as compareSemver,It as containsConflictMarkers,be as contentHash,jt as contributorCount,Vt as countShadowObjects,he as countStaleAgentWipRefs,Fe as countWipRefs,Gr as createApiExtension,Ae as createAssetServeMiddleware,Zt as createContentFilter,Kt as createContentFilterAsync,nn as createEmbeddingsSecretStore,dt as createEphemeralProjectDir,P as createExternalChangeHandler,Pn as createFileLogger,si as createLiveDerivedIndexExtension,Dr as createMcpHttpHandler,Yr as createOsProbe,tr as createPersistenceExtension,fn as createServer,Nr as createServerObserverExtension,ti as createStreamingErrorWriter,wn as createTestLogger,gr as describeStoredEmbeddingsKey,fi as detectClaudeDesktopPresence,kn as detectGit,zn as detectProjectShape,Rr as discoverLockDirs,xr as emitPreflightFailureSpan,Yn as encodeDocName,Wn as encodeFolderRoute,on as encodeSkillRoute,_i as ensureProjectGit,Ni as errorResponse,vn as evictStaleTrackerEntries,Oi as extractOkBinaryPath,yt as extractWikiLinksFromMarkdown,q as fallbackPaths,Si as findEnclosingGitRoot,wt as findEnclosingProjectRoot,re as flushFileLogger,Q as formatAuthRejectionWire,$e as formatContributors,dr as formatContributorsFrom,L as formatPackRationale,or as gcCheckpointRefs,Ue as getCurrentMcpLogger,Je as getLocalDir,it as getLogFilePath,ce as getLogger,Ce as getLogsDir,C as getMachineId,Re as getMeter,mt as getMetrics,Ri as getTracer,H as handleCollabSocketError,Pt as handleSpawnCursor,ve as hasGcLogLatch,e as iconFromClientName,kt as incrementCollabSocketFilteredError,zt as incrementServerObserverFire,pe as initContent,Ne as initShadowRepo,Ur as initTelemetry,Oe as initToleranceTelemetryWriter,Yt as installPrettyZodErrors,Wt as installTestLoggers,en as installUserSkill,lt as isAllowedApiOrigin,M as isAllowedWorkspaceHostHeader,Fn as isConfigDoc,ci as isHocuspocusAuthRejectionReason,Or as isKnownPackId,Xr as isLinkIndexExcludedDoc,nr as isLoopbackAddress,pn as isManagedArtifactDoc,n as isOrphanMode,Pr as isPairedWriteOrigin,ni as isPathWithinDir,l as isProcessAlive,Tn as isProjectRoot,_r as isProjectSkillManaged,pi as isReservedForUserTree,An as isSelfWrite,Bn as isSystemDoc,zr as isToleranceTelemetryEnabled,_ as isValidLockPid,Sr as lastKnownHash,Xn as listRescueCheckpoints,Gn as listStarterPacks,sn as loadPrincipal,T as lockFilePath,vi as loggerFactory,Pi as logsCurrentPath,yn as logsPreviousPath,ki as makeLazyEmbeddingsKeyStore,d as markServerLockDraining,bt as mountMcpAndApi,J as normalizeFsPath,Ci as packageVersionMajorMinor,Tt as parseAuthRejectionWire,ie as parseGitVersion,$ as parseHocuspocusAuthToken,et as parseKeepaliveConnectionId,fr as pathToDocName,R as planSeed,sr as prepareSingleFileOpen,We as processCommand,Ye as processUsage,at as readAllTargets,le as readArmedPaneTarget,we as readBranchFromHead,ze as readBundleDecision,x as readProcessLock,v as readProcessLockDetailed,ht as readProjectLocalSemanticConfig,m as readServerLock,zi as readServerPackageVersion,U as readSkillInstallStateSnapshot,Ft as readSkillManagement,ye as readStateManifest,At as readTargetRecordedAt,Bt as readTargetVersion,me as readUiLock,Pe as reconcile,Wr as recordContributor,ke as recordSkillInstallEvent,Xt as registerAllTools,Gt as registerWrite,f as releaseProcessLock,a as releaseServerLock,tn as releaseUiLock,ut as removeLastKnownHash,N as resetMetrics,E as resolveBundleEnabled,Nn as resolveBundledSkillDir,oi as resolveContentDir,Er as resolveCursorBinaryDefault,Jr as resolveCursorSpawnInvocation,er as resolveLockDir,dn as resolvePack,Mr as resolvePackageVersion,ei as resolveUiInfo,Cn as restoreContributors,hr as restoreLifecycleFromConflictsJson,di as rewriteMarkdownLinksForDocumentRename,On as rewriteWikiLinksForDocumentRename,Rn as runAuthReposSubprocess,Lr as runAuthStatusSubprocess,br as runCloneSubprocess,Jn as runDeviceFlowSubprocess,Un as runWithMcpLogger,an as safeContentPath,gi as safeSubdir,Mi as safetyCheckpoint,_n as sanitizeClientName,Di as saveInMemoryCheckpoint,vt as saveVersion,K as seedBasenameIndex,xi as serializeError,Ct as setActiveSpanAttributes,ne as setupServerObservers,Z as shadowGit,Qe as shutdownTelemetry,ur as skillManagementPath,I as spansCurrentPath,ar as spansPreviousPath,He as spawnDetached,qe as splitMarkdownBlocks,rt as startWatcher,se as streamingProblemEvent,Se as swapContributors,Le as teardownToleranceTelemetryWriter,pt as toBroadcasterKey,Li as tracedAppendFileSync,V as tracedLinkSync,Nt as tracedMkdir,_e as tracedMkdirSync,Ot as tracedRename,Rt as tracedRenameSync,fe as tracedRmSync,Me as tracedRmdirSync,Hr as tracedUnlinkSync,De as tracedWriteFile,Jt as tracedWriteFileSync,Ut as updateLastKnownHash,O as updateProcessLockPort,k as updateServerLockPort,$t as updateUiLockPort,ct as validateAgentId,j as validateCloneInputs,Mn as validateSkillZip,c as waitForServerLockDrain,ai as withSpan,Tr as withSpanSync,qr as writeBundleDecision,$n as writeRootGitignoreForNewRepo,un as writeSkillManagement,jr as writeStateManifest,$r as writeTargetVersion,Sn as writeTracker};
@@ -1,3 +1,3 @@
1
- import{Go as e}from"./server-lock-iLcBw_q0-D_cD26E0.mjs";import{execFileSync as t}from"node:child_process";import{dirname as n,join as r}from"node:path";import{homedir as i}from"node:os";import{existsSync as a,mkdirSync as o,readFileSync as s,writeFileSync as c}from"node:fs";var l=e();const u=`open-knowledge`;function d(e){try{e()}catch{}}var f=class{backend=`keyring`;constructor(e){this.onKeychainRead=e}async get(e){let{Entry:t}=await import(`@napi-rs/keyring`),n;try{n=new t(u,e).getPassword()}catch(t){return d(()=>this.onKeychainRead?.({kind:`read-error`,host:e,error:t instanceof Error?t.name:`unknown`})),null}if(n==null)return d(()=>this.onKeychainRead?.({kind:`absent`,host:e})),null;try{return JSON.parse(n)}catch{return d(()=>this.onKeychainRead?.({kind:`corrupt-entry`,host:e,error:`corrupt-entry`})),null}}async set(e,t,n,r){let{Entry:i}=await import(`@napi-rs/keyring`),a=new i(u,e),o={login:t,token:n,...r};a.setPassword(JSON.stringify(o))}async clear(e){let{Entry:t}=await import(`@napi-rs/keyring`);try{new t(u,e).deletePassword()}catch{}}},p=class{backend=`file`;authFile;constructor(e){this.authFile=e??r(i(),`.ok`,`auth.yml`)}read(){if(!a(this.authFile))return{};try{return(0,l.parse)(s(this.authFile,`utf-8`))??{}}catch(e){let t=e instanceof Error?e.message:`unknown error`;return process.stderr.write(`[auth] Failed to parse ${this.authFile}: ${t}. Starting with empty credentials.\n`),{}}}write(e){let t=n(this.authFile);a(t)||o(t,{recursive:!0,mode:448}),c(this.authFile,(0,l.stringify)(e),{mode:384})}async get(e){return this.read()[e]??null}async set(e,t,n,r){let i=this.read();i[e]={login:t,token:n,...r},this.write(i)}async clear(e){let t=this.read();delete t[e],this.write(t)}},m=class{backend=`keyring`;constructor(e,t){this.keychain=e,this.file=t}async get(e){let t=await this.keychain.get(e);if(t!=null)return t;let n=await this.file.get(e);if(n==null)return null;try{await this.keychain.set(e,n.login,n.token,{gitProtocol:n.gitProtocol,name:n.name,email:n.email}),await this.file.clear(e),process.stderr.write(`[auth] migrated ${e} credential from ~/.ok/auth.yml to the OS keychain\n`)}catch{}return n}set(e,t,n,r){return this.keychain.set(e,t,n,r)}async clear(e){await this.keychain.clear(e),await this.file.get(e)!=null&&await this.file.clear(e)}};async function h(e,t){try{let{Entry:n}=await import(`@napi-rs/keyring`);return new n(u,`__probe__`),process.stderr.write(`[auth] token storage: OS keychain
1
+ import{Ko as e}from"./server-lock-iLcBw_q0-pnLGEjec.mjs";import{execFileSync as t}from"node:child_process";import{dirname as n,join as r}from"node:path";import{homedir as i}from"node:os";import{existsSync as a,mkdirSync as o,readFileSync as s,writeFileSync as c}from"node:fs";var l=e();const u=`open-knowledge`;function d(e){try{e()}catch{}}var f=class{backend=`keyring`;constructor(e){this.onKeychainRead=e}async get(e){let{Entry:t}=await import(`@napi-rs/keyring`),n;try{n=new t(u,e).getPassword()}catch(t){return d(()=>this.onKeychainRead?.({kind:`read-error`,host:e,error:t instanceof Error?t.name:`unknown`})),null}if(n==null)return d(()=>this.onKeychainRead?.({kind:`absent`,host:e})),null;try{return JSON.parse(n)}catch{return d(()=>this.onKeychainRead?.({kind:`corrupt-entry`,host:e,error:`corrupt-entry`})),null}}async set(e,t,n,r){let{Entry:i}=await import(`@napi-rs/keyring`),a=new i(u,e),o={login:t,token:n,...r};a.setPassword(JSON.stringify(o))}async clear(e){let{Entry:t}=await import(`@napi-rs/keyring`);try{new t(u,e).deletePassword()}catch{}}},p=class{backend=`file`;authFile;constructor(e){this.authFile=e??r(i(),`.ok`,`auth.yml`)}read(){if(!a(this.authFile))return{};try{return(0,l.parse)(s(this.authFile,`utf-8`))??{}}catch(e){let t=e instanceof Error?e.message:`unknown error`;return process.stderr.write(`[auth] Failed to parse ${this.authFile}: ${t}. Starting with empty credentials.\n`),{}}}write(e){let t=n(this.authFile);a(t)||o(t,{recursive:!0,mode:448}),c(this.authFile,(0,l.stringify)(e),{mode:384})}async get(e){return this.read()[e]??null}async set(e,t,n,r){let i=this.read();i[e]={login:t,token:n,...r},this.write(i)}async clear(e){let t=this.read();delete t[e],this.write(t)}},m=class{backend=`keyring`;constructor(e,t){this.keychain=e,this.file=t}async get(e){let t=await this.keychain.get(e);if(t!=null)return t;let n=await this.file.get(e);if(n==null)return null;try{await this.keychain.set(e,n.login,n.token,{gitProtocol:n.gitProtocol,name:n.name,email:n.email}),await this.file.clear(e),process.stderr.write(`[auth] migrated ${e} credential from ~/.ok/auth.yml to the OS keychain\n`)}catch{}return n}set(e,t,n,r){return this.keychain.set(e,t,n,r)}async clear(e){await this.keychain.clear(e),await this.file.get(e)!=null&&await this.file.clear(e)}};async function h(e,t){try{let{Entry:n}=await import(`@napi-rs/keyring`);return new n(u,`__probe__`),process.stderr.write(`[auth] token storage: OS keychain
2
2
  `),d(()=>t?.onBackendSelected?.({backend:`keyring`})),new m(new f(t?.onKeychainRead),new p(e))}catch(n){let r=n instanceof Error?`${n.name}: ${n.message}`:String(n);return process.stderr.write(`[auth] token storage: file (~/.ok/auth.yml) — OS keychain unavailable: ${r}\n`),d(()=>t?.onBackendSelected?.({backend:`file`,reason:r})),new p(e)}}function g(e){let t=null;return function(){if(t)return t;let n=2e3;return t=(async()=>{let t=null,r=new Promise(r=>{t=setTimeout(()=>{process.stderr.write(`[auth] token storage: keyring init exceeded ${n}ms; falling back to file (~/.ok/auth.yml)\n`),r(new p(e))},n)});try{return await Promise.race([h(e),r])}catch{return new p(e)}finally{t!==null&&clearTimeout(t)}})(),t}}function _(e){let t=g(e);return{async get(e){let n=await(await t()).get(e);return n===null?null:{token:n.token}}}}function v(e){let t=g(e);return{backend:`file`,async get(e){return(await t()).get(e)},async set(e,n,r,i){return(await t()).set(e,n,r,i)},async clear(e){return(await t()).clear(e)}}}async function y(e,t){let n=[],r=new p(t);await r.get(e)!=null&&(await r.clear(e),n.push(`file`));let i;try{let{Entry:t}=await import(`@napi-rs/keyring`);new t(u,`__probe__`);let r,a=await new f(e=>{e.kind===`read-error`&&(r=e.error??`read-error`)}).get(e);if(r!==void 0)i=r;else if(a!=null)try{new t(u,e).deletePassword(),n.push(`keychain`)}catch(e){i=e instanceof Error?e.name:`delete-error`}}catch{}return{touched:n,keychainError:i}}const b=[`/opt/homebrew/bin/gh`,`/usr/local/bin/gh`,`/opt/local/bin/gh`,`/snap/bin/gh`,`/usr/bin/gh`],x={encoding:`utf-8`,stdio:[`ignore`,`pipe`,`pipe`],timeout:5e3,windowsHide:!0};function S(e,n={}){let r=n._exec??t,i=n._fileExists??a,o=[`auth`,`token`,...e?[`--hostname`,e]:[]],s=[`gh`,...b.filter(i)];for(let e of s)try{let t=r(e,o,x).toString().trim();if(t.length>0)return{available:!0,token:t}}catch{}return{available:!1}}export{v as a,_ as i,y as n,h as r,S as t};
3
- //# sourceMappingURL=gh-detect-Bc-KSyh6.mjs.map
3
+ //# sourceMappingURL=gh-detect-RYp8nY6_.mjs.map
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{i as e,r as t,t as n}from"./gh-detect-Bc-KSyh6.mjs";import{B as r,H as i,I as a,L as o,O as s,R as c,S as l,T as u,V as d,a as f,d as p,f as m,g as h,i as g,n as _,w as v,z as y}from"./init-Ci768cUc.mjs";import{_ as b,b as x,d as S,f as C,i as w,l as T,m as E,n as D,r as O,t as k,u as A,v as j,y as M}from"./src-BDsw_Ypd.mjs";import{_ as N,a as P,d as F,f as I,g as L,i as R,o as z,r as B,s as V,t as H,u as U,v as W}from"./write-project-skill-Pt6mb0Oq.mjs";import{n as G}from"./loader-CUdbH5wE.mjs";import{n as K}from"./preview-Ty-nKYZm.mjs";import{n as q,t as J}from"./mcp-migrate-event-D0NrGjvc.mjs";export{V as ALL_EDITOR_IDS,U as EDITOR_LABELS,F as EDITOR_TARGETS,I as HOSTS_WITH_USER_SKILL_DIR,_ as LAUNCH_CONFIG_NAME,g as LAUNCH_UI_CHAIN_SENTINEL,f as LAUNCH_UI_CHAIN_V1,A as PATH_SHIM_BEGIN,S as PATH_SHIM_BLOCK_RE,C as PATH_SHIM_END,a as addOkPathsToGitExclude,H as assertProjectPathSafe,L as buildManagedServerEntry,O as buildMcpConfigDeclineEvent,J as buildMcpConfigMigrateEvent,p as classifyExistingMcpEntry,t as createTokenStore,n as detectGh,m as detectInstalledEditors,o as formatTrackedRemediation,c as getExcludedOkPaths,y as getOkArtifactPaths,N as isEntryUpToDate,W as isOwnManagedEntry,G as loadConfig,e as makeLazyProbeTokenStore,b as parseGitHubBlobUrl,j as parseGitHubShareUrl,M as parseGitHubTreeUrl,x as parseGitUrl,E as pathInstallMarkerPath,K as previewContent,r as probeTrackedOkPaths,h as readExistingMcpEntry,d as readSharingMode,i as removeOkPathsFromGitExclude,T as removeOwnMcpEntry,B as removeProjectSkill,P as removeUserGlobalSkillBundle,s as resolveProjectRoot,w as runStop,l as scaffoldLaunchJson,q as truncatePriorEntry,z as userGlobalSkillBundleTargets,D as validateLocalFolderForShare,v as writeEditorMcpConfig,k as writeProjectAiIntegrations,R as writeProjectSkill,u as writeUserMcpConfigs};
1
+ import{i as e,r as t,t as n}from"./gh-detect-RYp8nY6_.mjs";import{B as r,H as i,I as a,L as o,O as s,R as c,S as l,T as u,V as d,a as f,d as p,f as m,g as h,i as g,n as _,w as v,z as y}from"./init-DUT3jX8X.mjs";import{_ as b,b as x,d as S,f as C,i as w,l as T,m as E,n as D,r as O,t as k,u as A,v as j,y as M}from"./src-Btp9Walr.mjs";import{_ as N,a as P,d as F,f as I,g as L,i as R,o as z,r as B,s as V,t as H,u as U,v as W}from"./write-project-skill-DwKyM2bJ.mjs";import{n as G}from"./loader-uMT8FFdY.mjs";import{n as K}from"./preview-en_IHxnY.mjs";import{n as q,t as J}from"./mcp-migrate-event-D0NrGjvc.mjs";export{V as ALL_EDITOR_IDS,U as EDITOR_LABELS,F as EDITOR_TARGETS,I as HOSTS_WITH_USER_SKILL_DIR,_ as LAUNCH_CONFIG_NAME,g as LAUNCH_UI_CHAIN_SENTINEL,f as LAUNCH_UI_CHAIN_V1,A as PATH_SHIM_BEGIN,S as PATH_SHIM_BLOCK_RE,C as PATH_SHIM_END,a as addOkPathsToGitExclude,H as assertProjectPathSafe,L as buildManagedServerEntry,O as buildMcpConfigDeclineEvent,J as buildMcpConfigMigrateEvent,p as classifyExistingMcpEntry,t as createTokenStore,n as detectGh,m as detectInstalledEditors,o as formatTrackedRemediation,c as getExcludedOkPaths,y as getOkArtifactPaths,N as isEntryUpToDate,W as isOwnManagedEntry,G as loadConfig,e as makeLazyProbeTokenStore,b as parseGitHubBlobUrl,j as parseGitHubShareUrl,M as parseGitHubTreeUrl,x as parseGitUrl,E as pathInstallMarkerPath,K as previewContent,r as probeTrackedOkPaths,h as readExistingMcpEntry,d as readSharingMode,i as removeOkPathsFromGitExclude,T as removeOwnMcpEntry,B as removeProjectSkill,P as removeUserGlobalSkillBundle,s as resolveProjectRoot,w as runStop,l as scaffoldLaunchJson,q as truncatePriorEntry,z as userGlobalSkillBundleTargets,D as validateLocalFolderForShare,v as writeEditorMcpConfig,k as writeProjectAiIntegrations,R as writeProjectSkill,u as writeUserMcpConfigs};
@@ -0,0 +1 @@
1
+ import{x as e}from"./init-DUT3jX8X.mjs";export{e as runInit};
@@ -1,4 +1,4 @@
1
- import{a as e,s as t,t as n}from"./chunk-C94x7I9S.mjs";import{Ba as r,Bt as i,Et as a,Va as o,Xi as s,bi as c,bn as l,ja as u,mt as d}from"./server-lock-iLcBw_q0-D_cD26E0.mjs";import{$n as f,Ca as p,D as m,Gn as h,K as g,O as _,Qn as v,Zn as y,cr as b,d as x,ha as S,ia as C,ir as w,ra as T,ut as E,va as D,vn as ee}from"./dist-CD7iLv1c.mjs";import{r as O,t as k}from"./esm-CsQUg9js.mjs";import{t as te}from"./constants-Z9iTGlVY.mjs";import{a as ne,b as re,d as A,g as j,h as ie,i as ae,m as oe,p as M,s as se,t as ce,x as N}from"./write-project-skill-Pt6mb0Oq.mjs";import{t as P}from"./is-object-Cg453afR.mjs";import{i as F,n as le,o as I,r as ue,s as L,t as R}from"./colors-8SzMRIVy.mjs";import{t as de}from"./preview-Ty-nKYZm.mjs";import{createRequire as fe}from"node:module";import{execFileSync as pe}from"node:child_process";import me,{dirname as z,isAbsolute as he,join as B,relative as V,resolve as ge,sep as _e}from"node:path";import H from"node:process";import{fileURLToPath as ve}from"node:url";import{homedir as ye}from"node:os";import{existsSync as U,lstatSync as be,mkdirSync as xe,readFileSync as W,readlinkSync as Se,realpathSync as Ce,statSync as we,writeFileSync as Te}from"node:fs";import{randomUUID as Ee}from"node:crypto";import{inspect as De,stripVTControlCharacters as Oe,styleText as G}from"node:util";import{AsyncLocalStorage as ke,AsyncResource as Ae}from"node:async_hooks";import{createServer as je,request as Me}from"node:http";import*as Ne from"node:readline";import{connect as Pe}from"node:net";const Fe=new Set([`emacs`,`vim`]);function Ie(e){return Fe.has(e)}function Le(){let e=process.env.INQUIRER_KEYBINDINGS;return e?Array.from(new Set(e.toLowerCase().split(/[\s,]+/).filter(Ie))):[]}const Re=(e,t=[])=>e.name===`up`||t.includes(`vim`)&&e.name===`k`||t.includes(`emacs`)&&e.ctrl&&e.name===`p`,ze=(e,t=[])=>e.name===`down`||t.includes(`vim`)&&e.name===`j`||t.includes(`emacs`)&&e.ctrl&&e.name===`n`,Be=e=>e.name===`space`,Ve=e=>e.name===`backspace`,He=e=>`1234567890`.includes(e.name),Ue=e=>e.name===`enter`||e.name===`return`;var We=class extends Error{name=`AbortPromptError`;message=`Prompt was aborted`;constructor(e){super(),this.cause=e?.cause}},Ge=class extends Error{name=`CancelPromptError`;message=`Prompt was canceled`},Ke=class extends Error{name=`ExitPromptError`},qe=class extends Error{name=`HookError`},Je=class extends Error{name=`ValidationError`};const Ye=new ke;function Xe(e){return{rl:e,hooks:[],hooksCleanup:[],hooksEffect:[],index:0,handleChange(){}}}function Ze(e,t){let n=Xe(e);return Ye.run(n,()=>{function e(e){n.handleChange=()=>{n.index=0,e()},n.handleChange()}return t(e)})}function K(){let e=Ye.getStore();if(!e)throw new qe(`[Inquirer] Hook functions can only be called from within a prompt`);return e}function Qe(){return K().rl}function $e(e){return Ae.bind((...t)=>{let n=K(),r=!1,i=n.handleChange;n.handleChange=()=>{r=!0};let a=e(...t);return r&&i(),n.handleChange=i,a})}function et(e){let t=K(),{index:n}=t,r=e({get(){return t.hooks[n]},set(e){t.hooks[n]=e},initialized:n in t.hooks});return t.index++,r}function tt(){K().handleChange()}const nt={queue(e){let t=K(),{index:n}=t;t.hooksEffect.push(()=>{t.hooksCleanup[n]?.();let r=e(Qe());if(r!=null&&typeof r!=`function`)throw new Je(`useEffect return value must be a cleanup function or nothing.`);t.hooksCleanup[n]=r})},run(){let e=K();$e(()=>{e.hooksEffect.forEach(e=>{e()}),e.hooksEffect.length=0})()},clearAll(){let e=K();e.hooksCleanup.forEach(e=>{e?.()}),e.hooksEffect.length=0,e.hooksCleanup.length=0}};function rt(e){return typeof e==`function`}function q(e){return et(t=>{let n=Ae.bind(function(e){t.get()!==e&&(t.set(e),tt())});if(t.initialized)return[t.get(),n];let r=rt(e)?e():e;return t.set(r),[r,n]})}function it(e,t){et(n=>{let r=n.get();(!Array.isArray(r)||t.some((e,t)=>!Object.is(e,r[t])))&&nt.queue(e),n.set(t)})}function at(){return H.platform.startsWith(`win`)?!!H.env.CI||!!H.env.WT_SESSION||!!H.env.TERMINUS_SUBLIME||H.env.ConEmuTask===`{cmd::Cmder}`||H.env.TERM_PROGRAM===`Terminus-Sublime`||H.env.TERM_PROGRAM===`vscode`||H.env.TERM===`xterm-256color`||H.env.TERM===`alacritty`||H.env.TERMINAL_EMULATOR===`JetBrains-JediTerm`:H.env.TERM!==`linux`}const ot={circleQuestionMark:`(?)`,questionMarkPrefix:`(?)`,square:`█`,squareDarkShade:`▓`,squareMediumShade:`▒`,squareLightShade:`░`,squareTop:`▀`,squareBottom:`▄`,squareLeft:`▌`,squareRight:`▐`,squareCenter:`■`,bullet:`●`,dot:`․`,ellipsis:`…`,pointerSmall:`›`,triangleUp:`▲`,triangleUpSmall:`▴`,triangleDown:`▼`,triangleDownSmall:`▾`,triangleLeftSmall:`◂`,triangleRightSmall:`▸`,home:`⌂`,heart:`♥`,musicNote:`♪`,musicNoteBeamed:`♫`,arrowUp:`↑`,arrowDown:`↓`,arrowLeft:`←`,arrowRight:`→`,arrowLeftRight:`↔`,arrowUpDown:`↕`,almostEqual:`≈`,notEqual:`≠`,lessOrEqual:`≤`,greaterOrEqual:`≥`,identical:`≡`,infinity:`∞`,subscriptZero:`₀`,subscriptOne:`₁`,subscriptTwo:`₂`,subscriptThree:`₃`,subscriptFour:`₄`,subscriptFive:`₅`,subscriptSix:`₆`,subscriptSeven:`₇`,subscriptEight:`₈`,subscriptNine:`₉`,oneHalf:`½`,oneThird:`⅓`,oneQuarter:`¼`,oneFifth:`⅕`,oneSixth:`⅙`,oneEighth:`⅛`,twoThirds:`⅔`,twoFifths:`⅖`,threeQuarters:`¾`,threeFifths:`⅗`,threeEighths:`⅜`,fourFifths:`⅘`,fiveSixths:`⅚`,fiveEighths:`⅝`,sevenEighths:`⅞`,line:`─`,lineBold:`━`,lineDouble:`═`,lineDashed0:`┄`,lineDashed1:`┅`,lineDashed2:`┈`,lineDashed3:`┉`,lineDashed4:`╌`,lineDashed5:`╍`,lineDashed6:`╴`,lineDashed7:`╶`,lineDashed8:`╸`,lineDashed9:`╺`,lineDashed10:`╼`,lineDashed11:`╾`,lineDashed12:`−`,lineDashed13:`–`,lineDashed14:`‐`,lineDashed15:`⁃`,lineVertical:`│`,lineVerticalBold:`┃`,lineVerticalDouble:`║`,lineVerticalDashed0:`┆`,lineVerticalDashed1:`┇`,lineVerticalDashed2:`┊`,lineVerticalDashed3:`┋`,lineVerticalDashed4:`╎`,lineVerticalDashed5:`╏`,lineVerticalDashed6:`╵`,lineVerticalDashed7:`╷`,lineVerticalDashed8:`╹`,lineVerticalDashed9:`╻`,lineVerticalDashed10:`╽`,lineVerticalDashed11:`╿`,lineDownLeft:`┐`,lineDownLeftArc:`╮`,lineDownBoldLeftBold:`┓`,lineDownBoldLeft:`┒`,lineDownLeftBold:`┑`,lineDownDoubleLeftDouble:`╗`,lineDownDoubleLeft:`╖`,lineDownLeftDouble:`╕`,lineDownRight:`┌`,lineDownRightArc:`╭`,lineDownBoldRightBold:`┏`,lineDownBoldRight:`┎`,lineDownRightBold:`┍`,lineDownDoubleRightDouble:`╔`,lineDownDoubleRight:`╓`,lineDownRightDouble:`╒`,lineUpLeft:`┘`,lineUpLeftArc:`╯`,lineUpBoldLeftBold:`┛`,lineUpBoldLeft:`┚`,lineUpLeftBold:`┙`,lineUpDoubleLeftDouble:`╝`,lineUpDoubleLeft:`╜`,lineUpLeftDouble:`╛`,lineUpRight:`└`,lineUpRightArc:`╰`,lineUpBoldRightBold:`┗`,lineUpBoldRight:`┖`,lineUpRightBold:`┕`,lineUpDoubleRightDouble:`╚`,lineUpDoubleRight:`╙`,lineUpRightDouble:`╘`,lineUpDownLeft:`┤`,lineUpBoldDownBoldLeftBold:`┫`,lineUpBoldDownBoldLeft:`┨`,lineUpDownLeftBold:`┥`,lineUpBoldDownLeftBold:`┩`,lineUpDownBoldLeftBold:`┪`,lineUpDownBoldLeft:`┧`,lineUpBoldDownLeft:`┦`,lineUpDoubleDownDoubleLeftDouble:`╣`,lineUpDoubleDownDoubleLeft:`╢`,lineUpDownLeftDouble:`╡`,lineUpDownRight:`├`,lineUpBoldDownBoldRightBold:`┣`,lineUpBoldDownBoldRight:`┠`,lineUpDownRightBold:`┝`,lineUpBoldDownRightBold:`┡`,lineUpDownBoldRightBold:`┢`,lineUpDownBoldRight:`┟`,lineUpBoldDownRight:`┞`,lineUpDoubleDownDoubleRightDouble:`╠`,lineUpDoubleDownDoubleRight:`╟`,lineUpDownRightDouble:`╞`,lineDownLeftRight:`┬`,lineDownBoldLeftBoldRightBold:`┳`,lineDownLeftBoldRightBold:`┯`,lineDownBoldLeftRight:`┰`,lineDownBoldLeftBoldRight:`┱`,lineDownBoldLeftRightBold:`┲`,lineDownLeftRightBold:`┮`,lineDownLeftBoldRight:`┭`,lineDownDoubleLeftDoubleRightDouble:`╦`,lineDownDoubleLeftRight:`╥`,lineDownLeftDoubleRightDouble:`╤`,lineUpLeftRight:`┴`,lineUpBoldLeftBoldRightBold:`┻`,lineUpLeftBoldRightBold:`┷`,lineUpBoldLeftRight:`┸`,lineUpBoldLeftBoldRight:`┹`,lineUpBoldLeftRightBold:`┺`,lineUpLeftRightBold:`┶`,lineUpLeftBoldRight:`┵`,lineUpDoubleLeftDoubleRightDouble:`╩`,lineUpDoubleLeftRight:`╨`,lineUpLeftDoubleRightDouble:`╧`,lineUpDownLeftRight:`┼`,lineUpBoldDownBoldLeftBoldRightBold:`╋`,lineUpDownBoldLeftBoldRightBold:`╈`,lineUpBoldDownLeftBoldRightBold:`╇`,lineUpBoldDownBoldLeftRightBold:`╊`,lineUpBoldDownBoldLeftBoldRight:`╉`,lineUpBoldDownLeftRight:`╀`,lineUpDownBoldLeftRight:`╁`,lineUpDownLeftBoldRight:`┽`,lineUpDownLeftRightBold:`┾`,lineUpBoldDownBoldLeftRight:`╂`,lineUpDownLeftBoldRightBold:`┿`,lineUpBoldDownLeftBoldRight:`╃`,lineUpBoldDownLeftRightBold:`╄`,lineUpDownBoldLeftBoldRight:`╅`,lineUpDownBoldLeftRightBold:`╆`,lineUpDoubleDownDoubleLeftDoubleRightDouble:`╬`,lineUpDoubleDownDoubleLeftRight:`╫`,lineUpDownLeftDoubleRightDouble:`╪`,lineCross:`╳`,lineBackslash:`╲`,lineSlash:`╱`},st={tick:`✔`,info:`ℹ`,warning:`⚠`,cross:`✘`,squareSmall:`◻`,squareSmallFilled:`◼`,circle:`◯`,circleFilled:`◉`,circleDotted:`◌`,circleDouble:`◎`,circleCircle:`ⓞ`,circleCross:`ⓧ`,circlePipe:`Ⓘ`,radioOn:`◉`,radioOff:`◯`,checkboxOn:`☒`,checkboxOff:`☐`,checkboxCircleOn:`ⓧ`,checkboxCircleOff:`Ⓘ`,pointer:`❯`,triangleUpOutline:`△`,triangleLeft:`◀`,triangleRight:`▶`,lozenge:`◆`,lozengeOutline:`◇`,hamburger:`☰`,smiley:`㋡`,mustache:`෴`,star:`★`,play:`▶`,nodejs:`⬢`,oneSeventh:`⅐`,oneNinth:`⅑`,oneTenth:`⅒`},ct={tick:`√`,info:`i`,warning:`‼`,cross:`×`,squareSmall:`□`,squareSmallFilled:`■`,circle:`( )`,circleFilled:`(*)`,circleDotted:`( )`,circleDouble:`( )`,circleCircle:`(○)`,circleCross:`(×)`,circlePipe:`(│)`,radioOn:`(*)`,radioOff:`( )`,checkboxOn:`[×]`,checkboxOff:`[ ]`,checkboxCircleOn:`(×)`,checkboxCircleOff:`( )`,pointer:`>`,triangleUpOutline:`∆`,triangleLeft:`◄`,triangleRight:`►`,lozenge:`♦`,lozengeOutline:`◊`,hamburger:`≡`,smiley:`☺`,mustache:`┌─┐`,star:`✶`,play:`►`,nodejs:`♦`,oneSeventh:`1/7`,oneNinth:`1/9`,oneTenth:`1/10`},lt={...ot,...st},ut={...ot,...ct},dt=at()?lt:ut;Object.entries(st);const ft={prefix:{idle:G(`blue`,`?`),done:G(`green`,dt.tick)},spinner:{interval:80,frames:[`⠋`,`⠙`,`⠹`,`⠸`,`⠼`,`⠴`,`⠦`,`⠧`,`⠇`,`⠏`].map(e=>G(`yellow`,e))},keybindings:[],style:{answer:e=>G(`cyan`,e),message:e=>G(`bold`,e),error:e=>G(`red`,`> ${e}`),defaultAnswer:e=>G(`dim`,`(${e})`),help:e=>G(`dim`,e),highlight:e=>G(`cyan`,e),key:e=>G(`cyan`,G(`bold`,`<${e}>`))}};function pt(){return{...ft,keybindings:Le()}}function mt(e){if(typeof e!=`object`||!e)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function ht(...e){let t={};for(let n of e)for(let[e,r]of Object.entries(n)){let n=t[e];t[e]=mt(n)&&mt(r)?ht(n,r):r}return t}function gt(...e){return ht(pt(),...e.filter(e=>e!=null))}function _t({status:e=`idle`,theme:t}){let[n,r]=q(!1),[i,a]=q(0),{prefix:o,spinner:s}=gt(t);return it(()=>{if(e===`loading`){let e,t=-1,n=setTimeout(()=>{r(!0),e=setInterval(()=>{t+=1,a(t%s.frames.length)},s.interval)},300);return()=>{clearTimeout(n),clearInterval(e)}}else r(!1)},[e]),n?s.frames[i]:typeof o==`string`?o:o[e===`loading`?`idle`:e]??o.idle}function vt(e,t){return et(n=>{let r=n.get();if(!r||r.dependencies.length!==t.length||r.dependencies.some((e,n)=>e!==t[n])){let r=e();return n.set({value:r,dependencies:t}),r}return r.value})}function yt(e){return q({current:e})[0]}function bt(e){let t=yt(e);t.current=e,it(e=>{let n=!1,r=$e((r,i)=>{n||t.current(i,e)});return e.input.on(`keypress`,r),()=>{n=!0,e.input.removeListener(`keypress`,r)}},[])}var xt=n(((t,n)=>{n.exports=i;function r(t){let n={defaultWidth:0,output:process.stdout,tty:e(`tty`)};return t?(Object.keys(n).forEach(function(e){t[e]||(t[e]=n[e])}),t):n}function i(e){let t=r(e);if(t.output.getWindowSize)return t.output.getWindowSize()[0]||t.defaultWidth;if(t.tty.getWindowSize)return t.tty.getWindowSize()[1]||t.defaultWidth;if(t.output.columns)return t.output.columns;if(process.env.CLI_WIDTH){let e=parseInt(process.env.CLI_WIDTH,10);if(!isNaN(e)&&e!==0)return e}return t.defaultWidth}}));const St=(()=>{let e=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;return t=>{let n=0;for(e.lastIndex=0;e.test(t);)n+=1;return t.length-n}})(),Ct=e=>e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510,wt=e=>e===8987||e===9001||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12771||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=19903||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e>=131072&&e<=196605||e>=196608&&e<=262141,Tt=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y,Et=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,Dt=/(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}]){1,1000}/uy,Ot=/\t{1,1000}/y,kt=/[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/uy,At=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,jt=/\p{M}+/gu,Mt={limit:1/0,ellipsis:``},Nt=(e,t={},n={})=>{let r=t.limit??1/0,i=t.ellipsis??``,a=t?.ellipsisWidth??(i?Nt(i,Mt,n).width:0),o=n.controlWidth??0,s=n.tabWidth??8,c=n.emojiWidth??2,l=n.regularWidth??1,u=n.wideWidth??2,d=[[At,l],[Tt,0],[Et,o],[Ot,s],[kt,c],[Dt,u]],f=0,p=0,m=e.length,h=0,g=!1,_=m,v=Math.max(0,r-a),y=0,b=0,x=0,S=0;outer:for(;;){if(b>y||p>=m&&p>f){let t=e.slice(y,b)||e.slice(f,p);h=0;for(let e of t.replaceAll(jt,``)){let t=e.codePointAt(0)||0;if(S=Ct(t)?2:wt(t)?u:l,x+S>v&&(_=Math.min(_,Math.max(y,f)+h)),x+S>r){g=!0;break outer}h+=e.length,x+=S}y=b=0}if(p>=m)break outer;for(let t=0,n=d.length;t<n;t++){let[n,i]=d[t];if(n.lastIndex=p,n.test(e)){if(h=n===Dt?St(e.slice(p,n.lastIndex)):n===kt?1:n.lastIndex-p,S=h*i,x+S>v&&(_=Math.min(_,p+Math.floor((v-x)/i))),x+S>r){g=!0;break outer}x+=S,y=f,b=p,p=f=n.lastIndex;continue outer}}p+=1}return{width:g?v:x,index:g?_:m,truncated:g,ellipsed:g&&r>=a}},Pt={limit:1/0,ellipsis:``,ellipsisWidth:0},J=(e,t={})=>Nt(e,Pt,t).width,Ft=`]8;;`,It=RegExp(`(?:\\[(?<code>\\d+)m|\\${Ft}(?<uri>.*))`,`y`),Lt=e=>{if(e>=30&&e<=37||e>=90&&e<=97)return 39;if(e>=40&&e<=47||e>=100&&e<=107)return 49;if(e===1||e===2)return 22;if(e===3)return 23;if(e===4)return 24;if(e===7)return 27;if(e===8)return 28;if(e===9)return 29;if(e===0)return 0},Rt=e=>`[${e}m`,zt=e=>`${Ft}${e}`,Bt=(e,t,n)=>{let r=t[Symbol.iterator](),i=!1,a=!1,o=e.at(-1),s=o===void 0?0:J(o),c=r.next(),l=r.next(),u=0;for(;!c.done;){let o=c.value,d=J(o);s+d<=n?e[e.length-1]+=o:(e.push(o),s=0),(o===`\x1B`||o===`›`)&&(i=!0,a=t.startsWith(Ft,u+1)),i?a?o===`\x07`&&(i=!1,a=!1):o===`m`&&(i=!1):(s+=d,s===n&&!l.done&&(e.push(``),s=0)),c=l,l=r.next(),u+=o.length}o=e.at(-1),!s&&o!==void 0&&o.length&&e.length>1&&(e[e.length-2]+=e.pop())},Vt=e=>{let t=e.split(` `),n=t.length;for(;n&&!J(t[n-1]);)n--;return n===t.length?e:t.slice(0,n).join(` `)+t.slice(n).join(``)},Ht=(e,t,n={})=>{if(n.trim!==!1&&e.trim()===``)return``;let r=``,i,a,o=e.split(` `),s=[``],c=0;for(let e=0;e<o.length;e++){let r=o[e];if(n.trim!==!1){let e=s.at(-1)??``,t=e.trimStart();e.length!==t.length&&(s[s.length-1]=t,c=J(t))}e!==0&&(c>=t&&(n.wordWrap===!1||n.trim===!1)&&(s.push(``),c=0),(c||n.trim===!1)&&(s[s.length-1]+=` `,c++));let i=J(r);if(n.hard&&i>t){let e=t-c,n=1+Math.floor((i-e-1)/t);Math.floor((i-1)/t)<n&&s.push(``),Bt(s,r,t),c=J(s.at(-1)??``);continue}if(c+i>t&&c&&i){if(n.wordWrap===!1&&c<t){Bt(s,r,t),c=J(s.at(-1)??``);continue}s.push(``),c=0}if(c+i>t&&n.wordWrap===!1){Bt(s,r,t),c=J(s.at(-1)??``);continue}s[s.length-1]+=r,c+=i}n.trim!==!1&&(s=s.map(e=>Vt(e)));let l=s.join(`
1
+ import{a as e,s as t,t as n}from"./chunk-C94x7I9S.mjs";import{Ba as r,Bt as i,Et as a,Va as o,Xi as s,bi as c,bn as l,ja as u,mt as d}from"./server-lock-iLcBw_q0-pnLGEjec.mjs";import{$n as f,Ca as p,D as m,Gn as h,K as g,O as _,Qn as v,Zn as y,cr as b,d as x,ha as S,ia as C,ir as w,ra as T,ut as E,va as D,vn as ee}from"./dist-BvK2GLh6.mjs";import{r as O,t as k}from"./esm-CsQUg9js.mjs";import{t as te}from"./constants-CSnkwjht.mjs";import{a as ne,b as re,d as A,g as j,h as ie,i as ae,m as oe,p as M,s as se,t as ce,x as N}from"./write-project-skill-DwKyM2bJ.mjs";import{t as P}from"./is-object-Cg453afR.mjs";import{i as F,n as le,o as I,r as ue,s as L,t as R}from"./colors-8SzMRIVy.mjs";import{t as de}from"./preview-en_IHxnY.mjs";import{createRequire as fe}from"node:module";import{execFileSync as pe}from"node:child_process";import me,{dirname as z,isAbsolute as he,join as B,relative as V,resolve as ge,sep as _e}from"node:path";import H from"node:process";import{fileURLToPath as ve}from"node:url";import{homedir as ye}from"node:os";import{existsSync as U,lstatSync as be,mkdirSync as xe,readFileSync as W,readlinkSync as Se,realpathSync as Ce,statSync as we,writeFileSync as Te}from"node:fs";import{randomUUID as Ee}from"node:crypto";import{inspect as De,stripVTControlCharacters as Oe,styleText as G}from"node:util";import{AsyncLocalStorage as ke,AsyncResource as Ae}from"node:async_hooks";import{createServer as je,request as Me}from"node:http";import*as Ne from"node:readline";import{connect as Pe}from"node:net";const Fe=new Set([`emacs`,`vim`]);function Ie(e){return Fe.has(e)}function Le(){let e=process.env.INQUIRER_KEYBINDINGS;return e?Array.from(new Set(e.toLowerCase().split(/[\s,]+/).filter(Ie))):[]}const Re=(e,t=[])=>e.name===`up`||t.includes(`vim`)&&e.name===`k`||t.includes(`emacs`)&&e.ctrl&&e.name===`p`,ze=(e,t=[])=>e.name===`down`||t.includes(`vim`)&&e.name===`j`||t.includes(`emacs`)&&e.ctrl&&e.name===`n`,Be=e=>e.name===`space`,Ve=e=>e.name===`backspace`,He=e=>`1234567890`.includes(e.name),Ue=e=>e.name===`enter`||e.name===`return`;var We=class extends Error{name=`AbortPromptError`;message=`Prompt was aborted`;constructor(e){super(),this.cause=e?.cause}},Ge=class extends Error{name=`CancelPromptError`;message=`Prompt was canceled`},Ke=class extends Error{name=`ExitPromptError`},qe=class extends Error{name=`HookError`},Je=class extends Error{name=`ValidationError`};const Ye=new ke;function Xe(e){return{rl:e,hooks:[],hooksCleanup:[],hooksEffect:[],index:0,handleChange(){}}}function Ze(e,t){let n=Xe(e);return Ye.run(n,()=>{function e(e){n.handleChange=()=>{n.index=0,e()},n.handleChange()}return t(e)})}function K(){let e=Ye.getStore();if(!e)throw new qe(`[Inquirer] Hook functions can only be called from within a prompt`);return e}function Qe(){return K().rl}function $e(e){return Ae.bind((...t)=>{let n=K(),r=!1,i=n.handleChange;n.handleChange=()=>{r=!0};let a=e(...t);return r&&i(),n.handleChange=i,a})}function et(e){let t=K(),{index:n}=t,r=e({get(){return t.hooks[n]},set(e){t.hooks[n]=e},initialized:n in t.hooks});return t.index++,r}function tt(){K().handleChange()}const nt={queue(e){let t=K(),{index:n}=t;t.hooksEffect.push(()=>{t.hooksCleanup[n]?.();let r=e(Qe());if(r!=null&&typeof r!=`function`)throw new Je(`useEffect return value must be a cleanup function or nothing.`);t.hooksCleanup[n]=r})},run(){let e=K();$e(()=>{e.hooksEffect.forEach(e=>{e()}),e.hooksEffect.length=0})()},clearAll(){let e=K();e.hooksCleanup.forEach(e=>{e?.()}),e.hooksEffect.length=0,e.hooksCleanup.length=0}};function rt(e){return typeof e==`function`}function q(e){return et(t=>{let n=Ae.bind(function(e){t.get()!==e&&(t.set(e),tt())});if(t.initialized)return[t.get(),n];let r=rt(e)?e():e;return t.set(r),[r,n]})}function it(e,t){et(n=>{let r=n.get();(!Array.isArray(r)||t.some((e,t)=>!Object.is(e,r[t])))&&nt.queue(e),n.set(t)})}function at(){return H.platform.startsWith(`win`)?!!H.env.CI||!!H.env.WT_SESSION||!!H.env.TERMINUS_SUBLIME||H.env.ConEmuTask===`{cmd::Cmder}`||H.env.TERM_PROGRAM===`Terminus-Sublime`||H.env.TERM_PROGRAM===`vscode`||H.env.TERM===`xterm-256color`||H.env.TERM===`alacritty`||H.env.TERMINAL_EMULATOR===`JetBrains-JediTerm`:H.env.TERM!==`linux`}const ot={circleQuestionMark:`(?)`,questionMarkPrefix:`(?)`,square:`█`,squareDarkShade:`▓`,squareMediumShade:`▒`,squareLightShade:`░`,squareTop:`▀`,squareBottom:`▄`,squareLeft:`▌`,squareRight:`▐`,squareCenter:`■`,bullet:`●`,dot:`․`,ellipsis:`…`,pointerSmall:`›`,triangleUp:`▲`,triangleUpSmall:`▴`,triangleDown:`▼`,triangleDownSmall:`▾`,triangleLeftSmall:`◂`,triangleRightSmall:`▸`,home:`⌂`,heart:`♥`,musicNote:`♪`,musicNoteBeamed:`♫`,arrowUp:`↑`,arrowDown:`↓`,arrowLeft:`←`,arrowRight:`→`,arrowLeftRight:`↔`,arrowUpDown:`↕`,almostEqual:`≈`,notEqual:`≠`,lessOrEqual:`≤`,greaterOrEqual:`≥`,identical:`≡`,infinity:`∞`,subscriptZero:`₀`,subscriptOne:`₁`,subscriptTwo:`₂`,subscriptThree:`₃`,subscriptFour:`₄`,subscriptFive:`₅`,subscriptSix:`₆`,subscriptSeven:`₇`,subscriptEight:`₈`,subscriptNine:`₉`,oneHalf:`½`,oneThird:`⅓`,oneQuarter:`¼`,oneFifth:`⅕`,oneSixth:`⅙`,oneEighth:`⅛`,twoThirds:`⅔`,twoFifths:`⅖`,threeQuarters:`¾`,threeFifths:`⅗`,threeEighths:`⅜`,fourFifths:`⅘`,fiveSixths:`⅚`,fiveEighths:`⅝`,sevenEighths:`⅞`,line:`─`,lineBold:`━`,lineDouble:`═`,lineDashed0:`┄`,lineDashed1:`┅`,lineDashed2:`┈`,lineDashed3:`┉`,lineDashed4:`╌`,lineDashed5:`╍`,lineDashed6:`╴`,lineDashed7:`╶`,lineDashed8:`╸`,lineDashed9:`╺`,lineDashed10:`╼`,lineDashed11:`╾`,lineDashed12:`−`,lineDashed13:`–`,lineDashed14:`‐`,lineDashed15:`⁃`,lineVertical:`│`,lineVerticalBold:`┃`,lineVerticalDouble:`║`,lineVerticalDashed0:`┆`,lineVerticalDashed1:`┇`,lineVerticalDashed2:`┊`,lineVerticalDashed3:`┋`,lineVerticalDashed4:`╎`,lineVerticalDashed5:`╏`,lineVerticalDashed6:`╵`,lineVerticalDashed7:`╷`,lineVerticalDashed8:`╹`,lineVerticalDashed9:`╻`,lineVerticalDashed10:`╽`,lineVerticalDashed11:`╿`,lineDownLeft:`┐`,lineDownLeftArc:`╮`,lineDownBoldLeftBold:`┓`,lineDownBoldLeft:`┒`,lineDownLeftBold:`┑`,lineDownDoubleLeftDouble:`╗`,lineDownDoubleLeft:`╖`,lineDownLeftDouble:`╕`,lineDownRight:`┌`,lineDownRightArc:`╭`,lineDownBoldRightBold:`┏`,lineDownBoldRight:`┎`,lineDownRightBold:`┍`,lineDownDoubleRightDouble:`╔`,lineDownDoubleRight:`╓`,lineDownRightDouble:`╒`,lineUpLeft:`┘`,lineUpLeftArc:`╯`,lineUpBoldLeftBold:`┛`,lineUpBoldLeft:`┚`,lineUpLeftBold:`┙`,lineUpDoubleLeftDouble:`╝`,lineUpDoubleLeft:`╜`,lineUpLeftDouble:`╛`,lineUpRight:`└`,lineUpRightArc:`╰`,lineUpBoldRightBold:`┗`,lineUpBoldRight:`┖`,lineUpRightBold:`┕`,lineUpDoubleRightDouble:`╚`,lineUpDoubleRight:`╙`,lineUpRightDouble:`╘`,lineUpDownLeft:`┤`,lineUpBoldDownBoldLeftBold:`┫`,lineUpBoldDownBoldLeft:`┨`,lineUpDownLeftBold:`┥`,lineUpBoldDownLeftBold:`┩`,lineUpDownBoldLeftBold:`┪`,lineUpDownBoldLeft:`┧`,lineUpBoldDownLeft:`┦`,lineUpDoubleDownDoubleLeftDouble:`╣`,lineUpDoubleDownDoubleLeft:`╢`,lineUpDownLeftDouble:`╡`,lineUpDownRight:`├`,lineUpBoldDownBoldRightBold:`┣`,lineUpBoldDownBoldRight:`┠`,lineUpDownRightBold:`┝`,lineUpBoldDownRightBold:`┡`,lineUpDownBoldRightBold:`┢`,lineUpDownBoldRight:`┟`,lineUpBoldDownRight:`┞`,lineUpDoubleDownDoubleRightDouble:`╠`,lineUpDoubleDownDoubleRight:`╟`,lineUpDownRightDouble:`╞`,lineDownLeftRight:`┬`,lineDownBoldLeftBoldRightBold:`┳`,lineDownLeftBoldRightBold:`┯`,lineDownBoldLeftRight:`┰`,lineDownBoldLeftBoldRight:`┱`,lineDownBoldLeftRightBold:`┲`,lineDownLeftRightBold:`┮`,lineDownLeftBoldRight:`┭`,lineDownDoubleLeftDoubleRightDouble:`╦`,lineDownDoubleLeftRight:`╥`,lineDownLeftDoubleRightDouble:`╤`,lineUpLeftRight:`┴`,lineUpBoldLeftBoldRightBold:`┻`,lineUpLeftBoldRightBold:`┷`,lineUpBoldLeftRight:`┸`,lineUpBoldLeftBoldRight:`┹`,lineUpBoldLeftRightBold:`┺`,lineUpLeftRightBold:`┶`,lineUpLeftBoldRight:`┵`,lineUpDoubleLeftDoubleRightDouble:`╩`,lineUpDoubleLeftRight:`╨`,lineUpLeftDoubleRightDouble:`╧`,lineUpDownLeftRight:`┼`,lineUpBoldDownBoldLeftBoldRightBold:`╋`,lineUpDownBoldLeftBoldRightBold:`╈`,lineUpBoldDownLeftBoldRightBold:`╇`,lineUpBoldDownBoldLeftRightBold:`╊`,lineUpBoldDownBoldLeftBoldRight:`╉`,lineUpBoldDownLeftRight:`╀`,lineUpDownBoldLeftRight:`╁`,lineUpDownLeftBoldRight:`┽`,lineUpDownLeftRightBold:`┾`,lineUpBoldDownBoldLeftRight:`╂`,lineUpDownLeftBoldRightBold:`┿`,lineUpBoldDownLeftBoldRight:`╃`,lineUpBoldDownLeftRightBold:`╄`,lineUpDownBoldLeftBoldRight:`╅`,lineUpDownBoldLeftRightBold:`╆`,lineUpDoubleDownDoubleLeftDoubleRightDouble:`╬`,lineUpDoubleDownDoubleLeftRight:`╫`,lineUpDownLeftDoubleRightDouble:`╪`,lineCross:`╳`,lineBackslash:`╲`,lineSlash:`╱`},st={tick:`✔`,info:`ℹ`,warning:`⚠`,cross:`✘`,squareSmall:`◻`,squareSmallFilled:`◼`,circle:`◯`,circleFilled:`◉`,circleDotted:`◌`,circleDouble:`◎`,circleCircle:`ⓞ`,circleCross:`ⓧ`,circlePipe:`Ⓘ`,radioOn:`◉`,radioOff:`◯`,checkboxOn:`☒`,checkboxOff:`☐`,checkboxCircleOn:`ⓧ`,checkboxCircleOff:`Ⓘ`,pointer:`❯`,triangleUpOutline:`△`,triangleLeft:`◀`,triangleRight:`▶`,lozenge:`◆`,lozengeOutline:`◇`,hamburger:`☰`,smiley:`㋡`,mustache:`෴`,star:`★`,play:`▶`,nodejs:`⬢`,oneSeventh:`⅐`,oneNinth:`⅑`,oneTenth:`⅒`},ct={tick:`√`,info:`i`,warning:`‼`,cross:`×`,squareSmall:`□`,squareSmallFilled:`■`,circle:`( )`,circleFilled:`(*)`,circleDotted:`( )`,circleDouble:`( )`,circleCircle:`(○)`,circleCross:`(×)`,circlePipe:`(│)`,radioOn:`(*)`,radioOff:`( )`,checkboxOn:`[×]`,checkboxOff:`[ ]`,checkboxCircleOn:`(×)`,checkboxCircleOff:`( )`,pointer:`>`,triangleUpOutline:`∆`,triangleLeft:`◄`,triangleRight:`►`,lozenge:`♦`,lozengeOutline:`◊`,hamburger:`≡`,smiley:`☺`,mustache:`┌─┐`,star:`✶`,play:`►`,nodejs:`♦`,oneSeventh:`1/7`,oneNinth:`1/9`,oneTenth:`1/10`},lt={...ot,...st},ut={...ot,...ct},dt=at()?lt:ut;Object.entries(st);const ft={prefix:{idle:G(`blue`,`?`),done:G(`green`,dt.tick)},spinner:{interval:80,frames:[`⠋`,`⠙`,`⠹`,`⠸`,`⠼`,`⠴`,`⠦`,`⠧`,`⠇`,`⠏`].map(e=>G(`yellow`,e))},keybindings:[],style:{answer:e=>G(`cyan`,e),message:e=>G(`bold`,e),error:e=>G(`red`,`> ${e}`),defaultAnswer:e=>G(`dim`,`(${e})`),help:e=>G(`dim`,e),highlight:e=>G(`cyan`,e),key:e=>G(`cyan`,G(`bold`,`<${e}>`))}};function pt(){return{...ft,keybindings:Le()}}function mt(e){if(typeof e!=`object`||!e)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function ht(...e){let t={};for(let n of e)for(let[e,r]of Object.entries(n)){let n=t[e];t[e]=mt(n)&&mt(r)?ht(n,r):r}return t}function gt(...e){return ht(pt(),...e.filter(e=>e!=null))}function _t({status:e=`idle`,theme:t}){let[n,r]=q(!1),[i,a]=q(0),{prefix:o,spinner:s}=gt(t);return it(()=>{if(e===`loading`){let e,t=-1,n=setTimeout(()=>{r(!0),e=setInterval(()=>{t+=1,a(t%s.frames.length)},s.interval)},300);return()=>{clearTimeout(n),clearInterval(e)}}else r(!1)},[e]),n?s.frames[i]:typeof o==`string`?o:o[e===`loading`?`idle`:e]??o.idle}function vt(e,t){return et(n=>{let r=n.get();if(!r||r.dependencies.length!==t.length||r.dependencies.some((e,n)=>e!==t[n])){let r=e();return n.set({value:r,dependencies:t}),r}return r.value})}function yt(e){return q({current:e})[0]}function bt(e){let t=yt(e);t.current=e,it(e=>{let n=!1,r=$e((r,i)=>{n||t.current(i,e)});return e.input.on(`keypress`,r),()=>{n=!0,e.input.removeListener(`keypress`,r)}},[])}var xt=n(((t,n)=>{n.exports=i;function r(t){let n={defaultWidth:0,output:process.stdout,tty:e(`tty`)};return t?(Object.keys(n).forEach(function(e){t[e]||(t[e]=n[e])}),t):n}function i(e){let t=r(e);if(t.output.getWindowSize)return t.output.getWindowSize()[0]||t.defaultWidth;if(t.tty.getWindowSize)return t.tty.getWindowSize()[1]||t.defaultWidth;if(t.output.columns)return t.output.columns;if(process.env.CLI_WIDTH){let e=parseInt(process.env.CLI_WIDTH,10);if(!isNaN(e)&&e!==0)return e}return t.defaultWidth}}));const St=(()=>{let e=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;return t=>{let n=0;for(e.lastIndex=0;e.test(t);)n+=1;return t.length-n}})(),Ct=e=>e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510,wt=e=>e===8987||e===9001||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12771||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=19903||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e>=131072&&e<=196605||e>=196608&&e<=262141,Tt=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y,Et=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,Dt=/(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}]){1,1000}/uy,Ot=/\t{1,1000}/y,kt=/[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/uy,At=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,jt=/\p{M}+/gu,Mt={limit:1/0,ellipsis:``},Nt=(e,t={},n={})=>{let r=t.limit??1/0,i=t.ellipsis??``,a=t?.ellipsisWidth??(i?Nt(i,Mt,n).width:0),o=n.controlWidth??0,s=n.tabWidth??8,c=n.emojiWidth??2,l=n.regularWidth??1,u=n.wideWidth??2,d=[[At,l],[Tt,0],[Et,o],[Ot,s],[kt,c],[Dt,u]],f=0,p=0,m=e.length,h=0,g=!1,_=m,v=Math.max(0,r-a),y=0,b=0,x=0,S=0;outer:for(;;){if(b>y||p>=m&&p>f){let t=e.slice(y,b)||e.slice(f,p);h=0;for(let e of t.replaceAll(jt,``)){let t=e.codePointAt(0)||0;if(S=Ct(t)?2:wt(t)?u:l,x+S>v&&(_=Math.min(_,Math.max(y,f)+h)),x+S>r){g=!0;break outer}h+=e.length,x+=S}y=b=0}if(p>=m)break outer;for(let t=0,n=d.length;t<n;t++){let[n,i]=d[t];if(n.lastIndex=p,n.test(e)){if(h=n===Dt?St(e.slice(p,n.lastIndex)):n===kt?1:n.lastIndex-p,S=h*i,x+S>v&&(_=Math.min(_,p+Math.floor((v-x)/i))),x+S>r){g=!0;break outer}x+=S,y=f,b=p,p=f=n.lastIndex;continue outer}}p+=1}return{width:g?v:x,index:g?_:m,truncated:g,ellipsed:g&&r>=a}},Pt={limit:1/0,ellipsis:``,ellipsisWidth:0},J=(e,t={})=>Nt(e,Pt,t).width,Ft=`]8;;`,It=RegExp(`(?:\\[(?<code>\\d+)m|\\${Ft}(?<uri>.*))`,`y`),Lt=e=>{if(e>=30&&e<=37||e>=90&&e<=97)return 39;if(e>=40&&e<=47||e>=100&&e<=107)return 49;if(e===1||e===2)return 22;if(e===3)return 23;if(e===4)return 24;if(e===7)return 27;if(e===8)return 28;if(e===9)return 29;if(e===0)return 0},Rt=e=>`[${e}m`,zt=e=>`${Ft}${e}`,Bt=(e,t,n)=>{let r=t[Symbol.iterator](),i=!1,a=!1,o=e.at(-1),s=o===void 0?0:J(o),c=r.next(),l=r.next(),u=0;for(;!c.done;){let o=c.value,d=J(o);s+d<=n?e[e.length-1]+=o:(e.push(o),s=0),(o===`\x1B`||o===`›`)&&(i=!0,a=t.startsWith(Ft,u+1)),i?a?o===`\x07`&&(i=!1,a=!1):o===`m`&&(i=!1):(s+=d,s===n&&!l.done&&(e.push(``),s=0)),c=l,l=r.next(),u+=o.length}o=e.at(-1),!s&&o!==void 0&&o.length&&e.length>1&&(e[e.length-2]+=e.pop())},Vt=e=>{let t=e.split(` `),n=t.length;for(;n&&!J(t[n-1]);)n--;return n===t.length?e:t.slice(0,n).join(` `)+t.slice(n).join(``)},Ht=(e,t,n={})=>{if(n.trim!==!1&&e.trim()===``)return``;let r=``,i,a,o=e.split(` `),s=[``],c=0;for(let e=0;e<o.length;e++){let r=o[e];if(n.trim!==!1){let e=s.at(-1)??``,t=e.trimStart();e.length!==t.length&&(s[s.length-1]=t,c=J(t))}e!==0&&(c>=t&&(n.wordWrap===!1||n.trim===!1)&&(s.push(``),c=0),(c||n.trim===!1)&&(s[s.length-1]+=` `,c++));let i=J(r);if(n.hard&&i>t){let e=t-c,n=1+Math.floor((i-e-1)/t);Math.floor((i-1)/t)<n&&s.push(``),Bt(s,r,t),c=J(s.at(-1)??``);continue}if(c+i>t&&c&&i){if(n.wordWrap===!1&&c<t){Bt(s,r,t),c=J(s.at(-1)??``);continue}s.push(``),c=0}if(c+i>t&&n.wordWrap===!1){Bt(s,r,t),c=J(s.at(-1)??``);continue}s[s.length-1]+=r,c+=i}n.trim!==!1&&(s=s.map(e=>Vt(e)));let l=s.join(`
2
2
  `),u=!1;for(let e=0;e<l.length;e++){let t=l[e];if(r+=t,u)u=!1;else if(u=t>=`\ud800`&&t<=`\udbff`,u)continue;if(t===`\x1B`||t===`›`){It.lastIndex=e+1;let t=It.exec(l)?.groups;if(t?.code!==void 0){let e=Number.parseFloat(t.code);i=e===39?void 0:e}else t?.uri!==void 0&&(a=t.uri.length===0?void 0:t.uri)}if(l[e+1]===`
3
3
  `){a&&(r+=zt(``));let e=i?Lt(i):void 0;i&&e&&(r+=Rt(e))}else t===`
4
4
  `&&(i&&Lt(i)&&(r+=Rt(i)),a&&(r+=zt(a)))}return r},Ut=/\r?\n/;function Wt(e,t,n){return String(e).normalize().split(Ut).map(e=>Ht(e,t,n)).join(`
@@ -628,7 +628,7 @@ export default function okBridge(pi: {
628
628
  });
629
629
  }
630
630
  `}function bi(e,t){let n=V(t,e);return n.length>0&&!n.startsWith(`..`)&&!he(n)}const xi=e=>{try{let t=pe(`git`,[`rev-parse`,`--show-toplevel`],{cwd:e,encoding:`utf8`,stdio:[`ignore`,`pipe`,`ignore`]}).trim();return t.length>0?t:null}catch{return null}};function Si(e,t={}){let n=t.homeDir??ye(),r=t.gitTopLevel??xi,i=ge(e),a;try{a=Ce(i)}catch{a=i}let o=a,s=0;for(;s<30&&!(o===n||o===`/`||o===``);){if(b(o))return{projectRoot:o,defaultContentDir:`.`,ancestorPromoted:o!==a,gitRootPromoted:!1};let e=z(o);if(e===o)break;o=e,s+=1}let c=r(a);return c!==null&&bi(c,n)?c===a?{projectRoot:i,defaultContentDir:`.`,ancestorPromoted:!1,gitRootPromoted:!1}:{projectRoot:c,defaultContentDir:`.`,ancestorPromoted:!1,gitRootPromoted:!0}:{projectRoot:i,defaultContentDir:`.`,ancestorPromoted:!1,gitRootPromoted:!1}}function Ci(e){let t=e&&typeof e==`object`&&`code`in e?e.code:void 0;return t===`MODULE_NOT_FOUND`||t===`ERR_MODULE_NOT_FOUND`}function $(e,t){if(!process.env.OK_DEBUG_NATIVE)return;let n=t instanceof Error?t.message:String(t);process.stderr.write(`[ok] native-config ${e}: ${n}\n`)}const wi=[`native`,`index.js`];function Ti(e={}){let t=e.moduleUrl??import.meta.url,n=e.requireModule??fe(t);try{return n(B(z(ve(t)),...wi))}catch(e){Ci(e)||$(`bundled loader failed to load`,e)}try{return n(`@inkeep/open-knowledge-native-config`)}catch(e){return Ci(e)||$(`workspace addon failed to load`,e),null}}function Ei(){let e=Ti();return e&&typeof e.resolveSymlinkWritePath==`function`?e:null}function Di(e){let t=e,n=new Set;for(;;){let r;try{r=be(t).isSymbolicLink()}catch(n){return n.code===`ENOENT`?{readPath:t,writePath:t}:{readPath:null,writePath:e}}if(!r)return{readPath:t,writePath:t};if(n.has(t))return{readPath:null,writePath:e};n.add(t);let i;try{i=Se(t)}catch(t){return $(`readlinkSync threw during symlink walk`,t),{readPath:null,writePath:e}}t=he(i)?i:B(z(t),i)}}let Oi;function ki(){return Oi===void 0&&(Oi=Ei()),Oi}function Ai(e,t=ki){let n=t();if(n)try{let t=n.resolveSymlinkWritePath(e);return{readPath:t.readPath??null,writePath:t.writePath}}catch(e){$(`resolveSymlinkWritePath threw`,e)}return Di(e)}function ji(){let e=Ti();return e&&typeof e.parseTomlToJson==`function`?e:null}function Mi(e){try{let t=e.parseTomlToJson(`probe = 1`);return typeof t==`string`&&t.includes(`probe`)}catch(e){return $(`addon loaded but probe failed`,e),!1}}function Ni(e){if(!P(e))throw Error(`TOML root is not a table`);return e}function Pi(e){return{backend:`native`,parseToObject(t){return Ni(JSON.parse(e.parseTomlToJson(t)))},upsertEntry(t,n,r){let i=e.upsertMcpServer(t,n,JSON.stringify(r));return{text:i.text,existed:i.existed}},removeEntry(t,n){let r=e.removeMcpServer(t,n);return{text:r.text,existed:r.existed}}}}function Fi(){return{backend:`fallback`,parseToObject(e){return Ni(ii(e))}}}function Ii(e=ji){let t=e();return t&&Mi(t)?Pi(t):Fi()}let Li=null;function Ri(){return Li===null&&(Li=Ii()),Li}function zi(e,t,n,r,i){let a=`urn:uuid:${Ee()}`;if(e.headersSent||e.writableEnded||e.destroyed){console.error(`[ok ui] emitProblem called after headers sent — suppressed`,{type:n,status:t,instance:a});return}let o={type:n,title:r,status:t,instance:a,...i===void 0?{}:{detail:i}},s=l.safeParse(o);if(!s.success){console.error(`[ok ui] emitProblem produced an invalid ProblemDetails body:`,{issues:s.error.issues,originalStatus:t,body:o}),e.writeHead(500,{"Content-Type":`application/problem+json`,"X-Content-Type-Options":`nosniff`,"Cache-Control":`no-store`}),e.end(JSON.stringify({type:`urn:ok:error:internal-server-error`,title:`Internal server error.`,status:500,instance:a}));return}e.writeHead(t,{"Content-Type":`application/problem+json`,"X-Content-Type-Options":`nosniff`,"Cache-Control":`no-store`}),e.end(JSON.stringify(o))}const Bi=1e4;function Vi(e,t){let n=e.socket?.remoteAddress;if(n!==void 0&&!w(n))return zi(t,403,`urn:ok:error:loopback-required`,`Request must originate from a loopback address.`),!0;if(!f(e.headers.host))return zi(t,403,`urn:ok:error:host-not-allowed`,`Host header is not in the loopback allowlist.`),!0;let r=e.headers.origin;return r!==void 0&&!v(r)?(zi(t,403,`urn:ok:error:invalid-origin`,`Origin header is not in the loopback allowlist.`),!0):!1}const Hi=3e4;function Ui(e,t){let n=e.socket?.remoteAddress;if(n!==void 0&&!w(n)||!f(e.headers.host))return t.destroy(),!0;let r=e.headers.origin;return typeof r==`string`&&!v(r)?(t.destroy(),!0):!1}function Wi(e,t,n,r,i,a){a.add(t),t.once(`close`,()=>a.delete(t));let o=Pe({host:r,port:i,timeout:Bi});a.add(o),o.once(`close`,()=>a.delete(o));let s=!1,c=n=>{if(!s){if(s=!0,n!==void 0){let t=n.err;console.warn(JSON.stringify({event:n.event,upstreamHost:r,upstreamPort:i,url:e.url,code:t instanceof Error?t.code:void 0,message:t instanceof Error?t.message:void 0}))}try{o.destroy()}catch{}try{t.destroy()}catch{}}};o.once(`connect`,()=>{o.setTimeout(0);let a=[`${e.method??`GET`} ${e.url??`/`} HTTP/1.1`,`host: ${r}:${i}`];for(let[t,n]of Object.entries(e.headers))if(t.toLowerCase()!==`host`&&n!==void 0)if(Array.isArray(n))for(let e of n)a.push(`${t}: ${e}`);else a.push(`${t}: ${n}`);try{o.write(`${a.join(`\r
631
- `)}\r\n\r\n`),n.length>0&&o.write(n)}catch(e){c({event:`proxy-upgrade-handshake-write-failed`,err:e});return}o.on(`data`,e=>{t.writable&&t.write(e)}),t.on(`data`,e=>{o.writable&&o.write(e)})}),o.once(`timeout`,()=>{c({event:`proxy-upgrade-upstream-connect-timeout`})}),o.on(`error`,e=>c({event:`proxy-upgrade-upstream-error`,err:e})),t.on(`error`,e=>c({event:`proxy-upgrade-client-error`,err:e})),o.once(`close`,()=>c()),t.once(`close`,()=>c())}const Gi=[`connection`,`keep-alive`,`proxy-authenticate`,`proxy-authorization`,`te`,`trailer`,`transfer-encoding`,`upgrade`,`cookie`,`set-cookie`];async function Ki(e){let t=e.upstreamTimeoutMs??Bi,n=new Set,r=je((n,r)=>{Vi(n,r)||Ji(n,r,e.upstreamHost,e.upstreamPort,t)});r.on(`upgrade`,(t,r,i)=>{Ui(t,r)||Wi(t,r,i,e.upstreamHost,e.upstreamPort,n)}),await new Promise((t,n)=>{let i=e=>n(e);r.once(`error`,i),r.listen(e.listenPort,e.host,()=>{r.off(`error`,i),t()})});let i=r.address();return{httpServer:r,port:typeof i==`object`&&i?i.port:e.listenPort,close:()=>new Promise(e=>{for(let e of n)try{e.destroy()}catch{}n.clear(),r.close(()=>e()),r.closeIdleConnections()})}}function qi(e,t,n){Ji(e,t,n.upstreamHost,n.upstreamPort,n.upstreamTimeoutMs??Bi)}function Ji(e,t,n,r,i){let a={...e.headers};delete a.host;for(let e of Gi)delete a[e];e.setTimeout(Hi,()=>{if(t.headersSent)try{t.end()}catch{}else try{zi(t,408,`urn:ok:error:request-timeout`,`Proxy request exceeded the per-request deadline.`,`Slow-loris-class: client did not finish within ${Hi/1e3}s.`)}catch{}try{e.socket?.destroy()}catch{}});let o=Me({host:n,port:r,method:e.method,path:e.url,headers:{...a,host:`${n}:${r}`}},e=>{let n={...e.headers};for(let e of Gi)delete n[e];t.writeHead(e.statusCode??502,n),e.pipe(t),e.once(`error`,()=>{try{t.end()}catch{}})});i>0&&o.setTimeout(i,()=>{if(!t.headersSent)zi(t,504,`urn:ok:error:gateway-timeout`,`Upstream did not respond before the gateway deadline.`,`Upstream timeout: ${i/1e3}s elapsed without a response.`);else try{t.end()}catch{}o.destroy()}),o.on(`error`,()=>{if(!t.headersSent)zi(t,502,`urn:ok:error:collab-server-not-running`,`Collab server is unreachable.`,`Upstream connection failed or dropped before a response was received.`);else try{t.end()}catch{}}),e.on(`error`,()=>{o.destroy()}),e.pipe(o)}const Yi=39847,Xi=39848;async function Zi(e){await Promise.all(e.map(e=>new Promise(t=>{e.close(()=>t())})))}async function Qi(e){let{existsSync:t}=await import(`node:fs`),{createServer:n}=await import(`node:http`),{resolve:i}=await import(`node:path`),{acquireUiLock:a,clearArmedPaneTarget:s,createAssetServeMiddleware:l,createContentFilter:f,readArmedPaneTarget:p,readServerLock:m,releaseUiLock:h,updateUiLockPort:g}=await import(`./dist-D0fMk7yr.mjs`),{default:_}=await import(`./build-gfyDk62R.mjs`),{resolveContentDir:v,resolveLockDir:y}=await import(`./dist-D0fMk7yr.mjs`),b=v(e.config,e.cwd),x=y(e.cwd);a(x,{port:0,worktreeRoot:e.cwd});let S=import.meta.dirname??new URL(`.`,import.meta.url).pathname,C=[i(S,`public`),i(S,`../../app/dist`),i(S,`../../../app/dist`)],w=e.assetDir??C.find(e=>t(e)),T=w?_(w,{single:!0,gzip:!0,etag:!0,dev:!0,extensions:[]}):null,E=t(b)?l({contentFilter:f({projectDir:e.cwd,contentDir:b}),contentSirv:_(b,{dotfiles:!1,dev:!0,extensions:[]}),inlineExtensions:o,assetExtensions:u,blocklistExtensions:r}):null,D=e.port,ee=null,O=(e,t)=>{let n=e.url?.split(`?`)[0];if(e.method===`GET`&&(n===`/`||n===``)){let e=p(x);if(e&&!/[\r\n]/.test(e)){s(x),t.statusCode=302,t.setHeader(`Location`,`/${e}`),t.setHeader(`Cache-Control`,`no-store`),t.end();return}}if((n===`/`||n===``)&&(e.url=`/index.html`),!(n?.startsWith(`/api/`)&&Vi(e,t))){if(n===`/api/config`&&e.method===`DELETE`){s(x),t.setHeader(`Cache-Control`,`no-store`),t.statusCode=204,t.end();return}if(n===`/api/config`&&(e.method===`GET`||e.method===`HEAD`)){ee?.();let n=m(x),r=e.headers.host??`localhost:${D}`,i=n&&n.port>0?`ws://${r}/collab`:null,a=p(x),o=JSON.stringify({collabUrl:i,previewUrl:null,port:D,paneTarget:a});t.setHeader(`Content-Type`,`application/json`),t.setHeader(`Cache-Control`,`no-store`),t.setHeader(`X-Content-Type-Options`,`nosniff`),t.statusCode=200,e.method===`HEAD`?t.end():t.end(o);return}if(n?.startsWith(`/api/`)){ee?.();let r=m(x);if(!r||r.port<=0){zi(t,503,`urn:ok:error:collab-server-not-running`,"Collab server not running. Start `ok start` or run `ok status`.",`Path: ${n}`);return}qi(e,t,{upstreamHost:d,upstreamPort:r.port});return}if(T&&n?.startsWith(`/assets/`)){T(e,t,()=>{E?E(e,t,()=>$i(t)):$i(t)});return}if(E){E(e,t,()=>{T?T(e,t):$i(t)});return}if(T){T(e,t);return}$i(t)}},k=new Set,te=(e,t,n)=>{if(Ui(e,t))return;let r=e.url?.split(`?`)[0]??``;if(r!==`/collab`&&!r.startsWith(`/collab/`)){t.destroy();return}let i=m(x);if(!i||i.port<=0){console.warn(JSON.stringify({event:`ok-ui-upgrade-no-collab-lock`,url:r,reason:"server.lock missing or port unbound — is `ok start` running?"})),t.destroy();return}Wi(e,t,n,d,i.port,k)},ne=()=>{for(let e of k)try{e.destroy()}catch{}k.clear()},re=e.host===void 0?[`::1`,`127.0.0.1`]:[e.host],A=[],j=e.port,ie=e=>e instanceof Error&&e.code===`EADDRINUSE`,ae=async()=>{await Promise.all(A.splice(0).map(e=>new Promise(t=>{try{e.close(()=>t())}catch{t()}})))},oe=async e=>{j=e;for(let e of re){let t=n(O);t.on(`upgrade`,te),A.push(t),await new Promise((n,r)=>{let i=e=>r(e);t.once(`error`,i),t.listen(j,e,()=>{t.off(`error`,i);let e=t.address();typeof e==`object`&&e&&(j=e.port),n()})})}};try{try{await oe(e.port)}catch(t){if(e.fallbackToKernel===!0&&ie(t))await ae(),await oe(0);else throw t}}catch(e){await ae();try{h(x)}catch{}throw e}let M=j;D=M,g(x,M);let se=e.scheduler??c,ce=e.safetyNetMs??432e5,N=null,P=!1,F=!1,le=()=>{P||(P=!0,N!==null&&(se.clearTimeout(N),N=null))},I=()=>{if(le(),!F){F=!0;try{h(x)}catch{}}},ue=()=>{P||ce<=0||(N!==null&&(se.clearTimeout(N),N=null),N=se.setTimeout(()=>{N=null,console.warn(`[ui] safety-net (${ce}ms) reached — shutting down (D-025 backstop)`);try{e.onSafetyNet?.()}catch{}ne();for(let e of A)try{e.close()}catch{}I()},ce))},L=()=>{P||ce<=0||ue()};return ee=L,ue(),{httpServers:A,port:M,release:I,detachSafetyNet:le,nudgeSafetyNet:L,drainUpgradeSockets:ne}}function $i(e){e.headersSent||e.writableEnded||e.destroyed||(e.setHeader(`X-Content-Type-Options`,`nosniff`),e.setHeader(`Cache-Control`,`no-store`),e.statusCode=404,e.end())}function ea(e,t){if(e!==void 0){let t=Number.parseInt(e,10);if(Number.isNaN(t)||t<0||t>65535)throw Error(`Invalid --port value '${e}'`);return{port:t,fallbackToKernel:!1}}if(t!==void 0&&t!==``){let e=Number.parseInt(t,10);if(Number.isNaN(e)||e<0||e>65535)throw Error(`Invalid PORT env value '${t}'`);return{port:e,fallbackToKernel:!1}}return{port:Yi,fallbackToKernel:!0}}async function ta(e){let t=e.readLock??(async()=>{let{readUiLock:t}=await import(`./dist-D0fMk7yr.mjs`);return t(e.lockDir)}),n=await t();if(!n)throw Error(`UI lock collision reported but the lock disappeared before handling — retry acquiring.`);if(n.port===e.requestedPort&&n.port>0)return{mode:`already-running`,port:n.port};let r=n.port;if(r===0){let n=Date.now()+(e.pollDeadlineMs??2e3),i=e.pollIntervalMs??100;for(;Date.now()<n;){await new Promise(e=>{setTimeout(e,i)});let e=await t();if(e&&e.port>0){r=e.port;break}}if(r===0)throw Error("UI did not bind within 2s; run `ok clean`");if(r===e.requestedPort)return{mode:`already-running`,port:r}}return{mode:`proxy`,handle:await Ki({listenPort:e.requestedPort,host:e.host,upstreamHost:`localhost`,upstreamPort:r}),upstreamPort:r}}function na(e){return new k(`ui`).description(`Serve the OpenKnowledge React editor UI`).option(`-p, --port <port>`,`UI port (default: $PORT env or ${Yi}, kernel-allocated fallback if busy)`).option(`-H, --host <host>`,"UI host. Default: two-socket loopback bind (`[::1]` + `127.0.0.1`) so cross-family collisions fail loud. Pass an explicit host (e.g. `127.0.0.1`, `0.0.0.0`) to bind a single socket on that host.").action(async t=>{let{dim:n}=await import(`./colors-CmkIIbww.mjs`),{UiLockCollisionError:r}=await import(`./dist-D0fMk7yr.mjs`),{resolveLockDir:i}=await import(`./dist-D0fMk7yr.mjs`),a=e(),o=t.host,s;try{s=ea(t.port,process.env.PORT)}catch(e){console.error(e instanceof Error?e.message:String(e)),process.exitCode=1;return}let c=s.port;try{let e=await Qi({config:a,cwd:process.cwd(),port:c,fallbackToKernel:s.fallbackToKernel,host:o}),t=o===void 0||o===`::`||o===`0.0.0.0`?`localhost`:o;console.log(`${n(`[ui]`)} listening on http://${t}:${e.port}`);let r=!1,i=t=>{if(r)return;r=!0,console.log(n(`\n[ui] Shutting down (${t})`)),e.detachSafetyNet();let i=()=>{try{e.release()}finally{process.exit(process.exitCode??0)}};e.drainUpgradeSockets(),Zi(e.httpServers).then(i,i),setTimeout(i,2e3).unref()};process.once(`SIGINT`,()=>i(`SIGINT`)),process.once(`SIGTERM`,()=>i(`SIGTERM`));return}catch(e){if(!(e instanceof r))throw e;let t=i(process.cwd()),a=o??`localhost`,s;try{s=await ta({requestedPort:c,host:a,lockDir:t})}catch(e){console.error(e instanceof Error?e.message:String(e)),process.exit(1)}if(s.mode===`already-running`){if(console.log(`UI already running at http://${a}:${s.port}`),ra(process)){await new Promise(e=>{let t=t=>{console.log(n(`\n[ui-keepalive] Shutting down (${t})`)),e()};process.once(`SIGINT`,()=>t(`SIGINT`)),process.once(`SIGTERM`,()=>t(`SIGTERM`))});return}process.exit(0)}console.log(`UI running at http://${a}:${s.upstreamPort}; acting as HTTP proxy on port ${s.handle.port}`);let l=!1,u=e=>{l||(l=!0,console.log(n(`\n[ui-proxy] Shutting down (${e})`)),s.handle.close().finally(()=>process.exit(process.exitCode??0)),setTimeout(()=>process.exit(process.exitCode??0),2e3).unref())};process.once(`SIGINT`,()=>u(`SIGINT`)),process.once(`SIGTERM`,()=>u(`SIGTERM`))}})}function ra(e){let t=e.stdout.isTTY===!0,n=typeof e.env.PORT==`string`&&e.env.PORT!==``;return!t||n}const ia={allowTrailingComma:!0,disallowComments:!1};function aa(e,t){return e.error===1&&e.offset===0&&t.charCodeAt(0)===65279}function oa(e){let t=[],n=pr(e,t,ia);return t.some(t=>!aa(t,e))||!n||n.type!==`object`?null:n}function sa(e,t){let n=0;for(let r of e.children??[]){let e=r.children?.[0];e!==void 0&&mr(e)===t&&(n+=1)}return n}function ca(e,t){S(e,`${JSON.stringify(t,null,2)}\n`)}function la(e,t){let n=mi(t);S(e,n.endsWith(`
631
+ `)}\r\n\r\n`),n.length>0&&o.write(n)}catch(e){c({event:`proxy-upgrade-handshake-write-failed`,err:e});return}o.on(`data`,e=>{t.writable&&t.write(e)}),t.on(`data`,e=>{o.writable&&o.write(e)})}),o.once(`timeout`,()=>{c({event:`proxy-upgrade-upstream-connect-timeout`})}),o.on(`error`,e=>c({event:`proxy-upgrade-upstream-error`,err:e})),t.on(`error`,e=>c({event:`proxy-upgrade-client-error`,err:e})),o.once(`close`,()=>c()),t.once(`close`,()=>c())}const Gi=[`connection`,`keep-alive`,`proxy-authenticate`,`proxy-authorization`,`te`,`trailer`,`transfer-encoding`,`upgrade`,`cookie`,`set-cookie`];async function Ki(e){let t=e.upstreamTimeoutMs??Bi,n=new Set,r=je((n,r)=>{Vi(n,r)||Ji(n,r,e.upstreamHost,e.upstreamPort,t)});r.on(`upgrade`,(t,r,i)=>{Ui(t,r)||Wi(t,r,i,e.upstreamHost,e.upstreamPort,n)}),await new Promise((t,n)=>{let i=e=>n(e);r.once(`error`,i),r.listen(e.listenPort,e.host,()=>{r.off(`error`,i),t()})});let i=r.address();return{httpServer:r,port:typeof i==`object`&&i?i.port:e.listenPort,close:()=>new Promise(e=>{for(let e of n)try{e.destroy()}catch{}n.clear(),r.close(()=>e()),r.closeIdleConnections()})}}function qi(e,t,n){Ji(e,t,n.upstreamHost,n.upstreamPort,n.upstreamTimeoutMs??Bi)}function Ji(e,t,n,r,i){let a={...e.headers};delete a.host;for(let e of Gi)delete a[e];e.setTimeout(Hi,()=>{if(t.headersSent)try{t.end()}catch{}else try{zi(t,408,`urn:ok:error:request-timeout`,`Proxy request exceeded the per-request deadline.`,`Slow-loris-class: client did not finish within ${Hi/1e3}s.`)}catch{}try{e.socket?.destroy()}catch{}});let o=Me({host:n,port:r,method:e.method,path:e.url,headers:{...a,host:`${n}:${r}`}},e=>{let n={...e.headers};for(let e of Gi)delete n[e];t.writeHead(e.statusCode??502,n),e.pipe(t),e.once(`error`,()=>{try{t.end()}catch{}})});i>0&&o.setTimeout(i,()=>{if(!t.headersSent)zi(t,504,`urn:ok:error:gateway-timeout`,`Upstream did not respond before the gateway deadline.`,`Upstream timeout: ${i/1e3}s elapsed without a response.`);else try{t.end()}catch{}o.destroy()}),o.on(`error`,()=>{if(!t.headersSent)zi(t,502,`urn:ok:error:collab-server-not-running`,`Collab server is unreachable.`,`Upstream connection failed or dropped before a response was received.`);else try{t.end()}catch{}}),e.on(`error`,()=>{o.destroy()}),e.pipe(o)}const Yi=39847,Xi=39848;async function Zi(e){await Promise.all(e.map(e=>new Promise(t=>{e.close(()=>t())})))}async function Qi(e){let{existsSync:t}=await import(`node:fs`),{createServer:n}=await import(`node:http`),{resolve:i}=await import(`node:path`),{acquireUiLock:a,clearArmedPaneTarget:s,createAssetServeMiddleware:l,createContentFilter:f,readArmedPaneTarget:p,readServerLock:m,releaseUiLock:h,updateUiLockPort:g}=await import(`./dist-CDpjGDM9.mjs`),{default:_}=await import(`./build-gfyDk62R.mjs`),{resolveContentDir:v,resolveLockDir:y}=await import(`./dist-CDpjGDM9.mjs`),b=v(e.config,e.cwd),x=y(e.cwd);a(x,{port:0,worktreeRoot:e.cwd});let S=import.meta.dirname??new URL(`.`,import.meta.url).pathname,C=[i(S,`public`),i(S,`../../app/dist`),i(S,`../../../app/dist`)],w=e.assetDir??C.find(e=>t(e)),T=w?_(w,{single:!0,gzip:!0,etag:!0,dev:!0,extensions:[]}):null,E=t(b)?l({contentFilter:f({projectDir:e.cwd,contentDir:b}),contentSirv:_(b,{dotfiles:!1,dev:!0,extensions:[]}),inlineExtensions:o,assetExtensions:u,blocklistExtensions:r}):null,D=e.port,ee=null,O=(e,t)=>{let n=e.url?.split(`?`)[0];if(e.method===`GET`&&(n===`/`||n===``)){let e=p(x);if(e&&!/[\r\n]/.test(e)){s(x),t.statusCode=302,t.setHeader(`Location`,`/${e}`),t.setHeader(`Cache-Control`,`no-store`),t.end();return}}if((n===`/`||n===``)&&(e.url=`/index.html`),!(n?.startsWith(`/api/`)&&Vi(e,t))){if(n===`/api/config`&&e.method===`DELETE`){s(x),t.setHeader(`Cache-Control`,`no-store`),t.statusCode=204,t.end();return}if(n===`/api/config`&&(e.method===`GET`||e.method===`HEAD`)){ee?.();let n=m(x),r=e.headers.host??`localhost:${D}`,i=n&&n.port>0?`ws://${r}/collab`:null,a=p(x),o=JSON.stringify({collabUrl:i,previewUrl:null,port:D,paneTarget:a});t.setHeader(`Content-Type`,`application/json`),t.setHeader(`Cache-Control`,`no-store`),t.setHeader(`X-Content-Type-Options`,`nosniff`),t.statusCode=200,e.method===`HEAD`?t.end():t.end(o);return}if(n?.startsWith(`/api/`)){ee?.();let r=m(x);if(!r||r.port<=0){zi(t,503,`urn:ok:error:collab-server-not-running`,"Collab server not running. Start `ok start` or run `ok status`.",`Path: ${n}`);return}qi(e,t,{upstreamHost:d,upstreamPort:r.port});return}if(T&&n?.startsWith(`/assets/`)){T(e,t,()=>{E?E(e,t,()=>$i(t)):$i(t)});return}if(E){E(e,t,()=>{T?T(e,t):$i(t)});return}if(T){T(e,t);return}$i(t)}},k=new Set,te=(e,t,n)=>{if(Ui(e,t))return;let r=e.url?.split(`?`)[0]??``;if(r!==`/collab`&&!r.startsWith(`/collab/`)){t.destroy();return}let i=m(x);if(!i||i.port<=0){console.warn(JSON.stringify({event:`ok-ui-upgrade-no-collab-lock`,url:r,reason:"server.lock missing or port unbound — is `ok start` running?"})),t.destroy();return}Wi(e,t,n,d,i.port,k)},ne=()=>{for(let e of k)try{e.destroy()}catch{}k.clear()},re=e.host===void 0?[`::1`,`127.0.0.1`]:[e.host],A=[],j=e.port,ie=e=>e instanceof Error&&e.code===`EADDRINUSE`,ae=async()=>{await Promise.all(A.splice(0).map(e=>new Promise(t=>{try{e.close(()=>t())}catch{t()}})))},oe=async e=>{j=e;for(let e of re){let t=n(O);t.on(`upgrade`,te),A.push(t),await new Promise((n,r)=>{let i=e=>r(e);t.once(`error`,i),t.listen(j,e,()=>{t.off(`error`,i);let e=t.address();typeof e==`object`&&e&&(j=e.port),n()})})}};try{try{await oe(e.port)}catch(t){if(e.fallbackToKernel===!0&&ie(t))await ae(),await oe(0);else throw t}}catch(e){await ae();try{h(x)}catch{}throw e}let M=j;D=M,g(x,M);let se=e.scheduler??c,ce=e.safetyNetMs??432e5,N=null,P=!1,F=!1,le=()=>{P||(P=!0,N!==null&&(se.clearTimeout(N),N=null))},I=()=>{if(le(),!F){F=!0;try{h(x)}catch{}}},ue=()=>{P||ce<=0||(N!==null&&(se.clearTimeout(N),N=null),N=se.setTimeout(()=>{N=null,console.warn(`[ui] safety-net (${ce}ms) reached — shutting down (D-025 backstop)`);try{e.onSafetyNet?.()}catch{}ne();for(let e of A)try{e.close()}catch{}I()},ce))},L=()=>{P||ce<=0||ue()};return ee=L,ue(),{httpServers:A,port:M,release:I,detachSafetyNet:le,nudgeSafetyNet:L,drainUpgradeSockets:ne}}function $i(e){e.headersSent||e.writableEnded||e.destroyed||(e.setHeader(`X-Content-Type-Options`,`nosniff`),e.setHeader(`Cache-Control`,`no-store`),e.statusCode=404,e.end())}function ea(e,t){if(e!==void 0){let t=Number.parseInt(e,10);if(Number.isNaN(t)||t<0||t>65535)throw Error(`Invalid --port value '${e}'`);return{port:t,fallbackToKernel:!1}}if(t!==void 0&&t!==``){let e=Number.parseInt(t,10);if(Number.isNaN(e)||e<0||e>65535)throw Error(`Invalid PORT env value '${t}'`);return{port:e,fallbackToKernel:!1}}return{port:Yi,fallbackToKernel:!0}}async function ta(e){let t=e.readLock??(async()=>{let{readUiLock:t}=await import(`./dist-CDpjGDM9.mjs`);return t(e.lockDir)}),n=await t();if(!n)throw Error(`UI lock collision reported but the lock disappeared before handling — retry acquiring.`);if(n.port===e.requestedPort&&n.port>0)return{mode:`already-running`,port:n.port};let r=n.port;if(r===0){let n=Date.now()+(e.pollDeadlineMs??2e3),i=e.pollIntervalMs??100;for(;Date.now()<n;){await new Promise(e=>{setTimeout(e,i)});let e=await t();if(e&&e.port>0){r=e.port;break}}if(r===0)throw Error("UI did not bind within 2s; run `ok clean`");if(r===e.requestedPort)return{mode:`already-running`,port:r}}return{mode:`proxy`,handle:await Ki({listenPort:e.requestedPort,host:e.host,upstreamHost:`localhost`,upstreamPort:r}),upstreamPort:r}}function na(e){return new k(`ui`).description(`Serve the OpenKnowledge React editor UI`).option(`-p, --port <port>`,`UI port (default: $PORT env or ${Yi}, kernel-allocated fallback if busy)`).option(`-H, --host <host>`,"UI host. Default: two-socket loopback bind (`[::1]` + `127.0.0.1`) so cross-family collisions fail loud. Pass an explicit host (e.g. `127.0.0.1`, `0.0.0.0`) to bind a single socket on that host.").action(async t=>{let{dim:n}=await import(`./colors-CmkIIbww.mjs`),{UiLockCollisionError:r}=await import(`./dist-CDpjGDM9.mjs`),{resolveLockDir:i}=await import(`./dist-CDpjGDM9.mjs`),a=e(),o=t.host,s;try{s=ea(t.port,process.env.PORT)}catch(e){console.error(e instanceof Error?e.message:String(e)),process.exitCode=1;return}let c=s.port;try{let e=await Qi({config:a,cwd:process.cwd(),port:c,fallbackToKernel:s.fallbackToKernel,host:o}),t=o===void 0||o===`::`||o===`0.0.0.0`?`localhost`:o;console.log(`${n(`[ui]`)} listening on http://${t}:${e.port}`);let r=!1,i=t=>{if(r)return;r=!0,console.log(n(`\n[ui] Shutting down (${t})`)),e.detachSafetyNet();let i=()=>{try{e.release()}finally{process.exit(process.exitCode??0)}};e.drainUpgradeSockets(),Zi(e.httpServers).then(i,i),setTimeout(i,2e3).unref()};process.once(`SIGINT`,()=>i(`SIGINT`)),process.once(`SIGTERM`,()=>i(`SIGTERM`));return}catch(e){if(!(e instanceof r))throw e;let t=i(process.cwd()),a=o??`localhost`,s;try{s=await ta({requestedPort:c,host:a,lockDir:t})}catch(e){console.error(e instanceof Error?e.message:String(e)),process.exit(1)}if(s.mode===`already-running`){if(console.log(`UI already running at http://${a}:${s.port}`),ra(process)){await new Promise(e=>{let t=t=>{console.log(n(`\n[ui-keepalive] Shutting down (${t})`)),e()};process.once(`SIGINT`,()=>t(`SIGINT`)),process.once(`SIGTERM`,()=>t(`SIGTERM`))});return}process.exit(0)}console.log(`UI running at http://${a}:${s.upstreamPort}; acting as HTTP proxy on port ${s.handle.port}`);let l=!1,u=e=>{l||(l=!0,console.log(n(`\n[ui-proxy] Shutting down (${e})`)),s.handle.close().finally(()=>process.exit(process.exitCode??0)),setTimeout(()=>process.exit(process.exitCode??0),2e3).unref())};process.once(`SIGINT`,()=>u(`SIGINT`)),process.once(`SIGTERM`,()=>u(`SIGTERM`))}})}function ra(e){let t=e.stdout.isTTY===!0,n=typeof e.env.PORT==`string`&&e.env.PORT!==``;return!t||n}const ia={allowTrailingComma:!0,disallowComments:!1};function aa(e,t){return e.error===1&&e.offset===0&&t.charCodeAt(0)===65279}function oa(e){let t=[],n=pr(e,t,ia);return t.some(t=>!aa(t,e))||!n||n.type!==`object`?null:n}function sa(e,t){let n=0;for(let r of e.children??[]){let e=r.children?.[0];e!==void 0&&mr(e)===t&&(n+=1)}return n}function ca(e,t){S(e,`${JSON.stringify(t,null,2)}\n`)}function la(e,t){let n=mi(t);S(e,n.endsWith(`
632
632
  `)?n:`${n}\n`)}const ua=10*1024*1024;function da(e,t){if(e===t)return!0;if(Array.isArray(e)||Array.isArray(t))return!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length?!1:e.every((e,n)=>da(e,t[n]));if(P(e)&&P(t)){let n=Object.keys(e);return n.length===Object.keys(t).length?n.every(n=>Object.hasOwn(t,n)&&da(e[n],t[n])):!1}return!1}function fa(e){for(let t of e.split(`
633
633
  `)){let e=t.trimStart();if(!(e.length===0||e.length===t.length))return t.charCodeAt(0)===9?{insertSpaces:!1,tabSize:1}:{insertSpaces:!0,tabSize:t.length-e.length}}return{insertSpaces:!0,tabSize:2}}function pa(e,t,n){return t===void 0?[e,n]:[e,t,n]}function ma(e,t,n,r){let i={[n]:r};return{[e]:t===void 0?i:{[t]:i}}}function ha(e,t,n){let r=e[t];return n===void 0?r:P(r)?r[n]:void 0}function ga(e,t,n,r,i){if(!U(e))return ca(e,ma(t,i,n,r)),{kind:`written`};let a;try{a=W(e,`utf-8`)}catch(e){return $(`json config read failed`,e),{kind:`declined`,reason:`unparseable`}}if(a.trim()===``)return ca(e,ma(t,i,n,r)),{kind:`written`};if(Buffer.byteLength(a,`utf-8`)>ua)return{kind:`declined`,reason:`oversize`};let o=oa(a);if(!o)return{kind:`declined`,reason:`unparseable`};if(sa(o,t)>1)return{kind:`declined`,reason:`duplicate-container`};let s=ha(mr(o),t,i),c=P(s)?s[n]:void 0,l=c!==void 0;if(l&&da(c,r))return{kind:`overwritten`};let u=a.charCodeAt(0)===65279,d=u?a.slice(1):a,f=d.includes(`\r
634
634
  `)?`\r
@@ -681,6 +681,6 @@ UIPORT="\${PORT:-${Xi}}"
681
681
  unset PORT
682
682
  exec node "${re()}" start --ui-port "$UIPORT"`,i=t.platformName??process.platform,a=t.mode===`dev`?{name:ka,runtimeExecutable:`/bin/sh`,runtimeArgs:[`-l`,`-c`,r()],port:Xi,autoPort:!0}:i===`win32`?{name:ka,runtimeExecutable:`powershell`,runtimeArgs:[`-NoProfile`,`-NonInteractive`,`-Command`,Pa],port:Xi,autoPort:!0}:{name:ka,runtimeExecutable:`/bin/sh`,runtimeArgs:[`-l`,`-c`,Ma],port:Xi,autoPort:!0};try{if(ce(n,e),!U(n))return xe(z(n),{recursive:!0}),Te(n,`${JSON.stringify({version:Oa,configurations:[a]},null,2)}\n`,`utf-8`),{action:`created`,configPath:n};let t=W(n,`utf-8`).trim(),r=t?JSON.parse(t):{};if(!P(r))return{action:`failed`,configPath:n,error:`launch.json root is not an object`};let i=Array.isArray(r.configurations)?r.configurations:[],o=i.findIndex(e=>P(e)&&e.name===`open-knowledge-ui`);o>=0?i[o]=a:i.push(a);let s={...r,version:r.version??Oa,configurations:i};return Te(n,`${JSON.stringify(s,null,2)}\n`,`utf-8`),{action:o>=0?`merged`:`created`,configPath:n}}catch(e){return{action:`failed`,configPath:n,error:e instanceof Error?e.message:String(e)}}}function Ia(e,t,n){try{return U(e.detectPath?.(t,n)??z(e.configPath(t,n)))}catch{return!1}}function La(e,t,n,r,i){let a=e.serverName(t),o;try{o=i??e.configPath(t,r)}catch(t){return{editorId:e.id,label:e.label,action:`failed`,configPath:``,serverName:a,error:t instanceof Error?t.message:String(t)}}let s=!n.skipAvailabilityCheck||e.offerOnlyWhenDetected===!0;if(!i&&s&&!Ia(e,t,r))return{editorId:e.id,label:e.label,action:`skipped-missing`,configPath:o,serverName:a};if(i!==void 0)try{ce(o,t)}catch(t){return{editorId:e.id,label:e.label,action:`failed`,configPath:o,serverName:a,error:t instanceof Error?t.message:String(t),configScope:`project`}}if(e.format===`file`)return za(e,o,a,n,{isProjectScope:i!==void 0});let c;try{c=e.buildEntry(t,n)}catch(t){return{editorId:e.id,label:e.label,action:`failed`,configPath:o,serverName:a,error:t instanceof Error?t.message:String(t),...i===void 0?{}:{configScope:`project`}}}try{xe(z(o),{recursive:!0})}catch(t){return{editorId:e.id,label:e.label,action:`failed`,configPath:o,serverName:a,error:t instanceof Error?t.message:String(t),...i===void 0?{}:{configScope:`project`}}}let l={action:`written`},u;try{D(`${o}.lock`,()=>{let t=Ai(o).writePath;if(xe(z(t),{recursive:!0}),e.format===`toml`){let n=_a(Ri(),t,e.topLevelKey,a,c);l.action=n.kind,n.kind===`declined`&&(l.declineReason=n.reason);return}let n=ga(t,e.topLevelKey,a,c,e.serverMapSubKey);l.action=n.kind,n.kind===`declined`&&(l.declineReason=n.reason)},{onWarn:(e,t)=>process.stderr.write(`[ok] ${e} ${JSON.stringify(t)}\n`)})}catch(e){u=e instanceof Error?e:Error(String(e))}return u?{editorId:e.id,label:e.label,action:`failed`,configPath:o,serverName:a,error:u.message,...i===void 0?{}:{configScope:`project`}}:l.action===`declined`?{editorId:e.id,label:e.label,action:`declined`,configPath:o,serverName:a,declineReason:l.declineReason,...i===void 0?{}:{configScope:`project`}}:{editorId:e.id,label:e.label,action:l.action,configPath:o,serverName:a,...i===void 0?{}:{configScope:`project`}}}const Ra={pi:yi};function za(e,t,n,r,i){let a=i.isProjectScope?{configScope:`project`}:{},o=r=>({editorId:e.id,label:e.label,action:`failed`,configPath:t,serverName:n,error:r instanceof Error?r.message:String(r),...a}),s=Ra[e.id];if(!s)return o(Error(`No managed-file builder registered for editor "${e.id}" (format: 'file' targets need a MANAGED_FILE_BUILDERS entry).`));let c;try{c=s(r)}catch(e){return o(e)}try{xe(z(t),{recursive:!0})}catch(e){return o(e)}let l={action:`written`};try{D(`${t}.lock`,()=>{let e=null;try{e=W(t,`utf-8`)}catch{e=null}if(e===c){l.action=`overwritten`;return}S(t,c,e===null?void 0:{mode:br(t)}),l.action=e===null?`written`:`overwritten`},{onWarn:(e,t)=>process.stderr.write(`[ok] ${e} ${JSON.stringify(t)}\n`)})}catch(e){return o(e)}return{editorId:e.id,label:e.label,action:l.action,configPath:t,serverName:n,...a}}function Ba(e,t){let n=e.projectConfigPath?.(t);if(!(!n||!U(n)))return{editorId:e.id,label:e.label,path:n}}async function Va(e){let t=N(e.editors).filter(e=>e.scope===`global`),n={mode:`published`,skipAvailabilityCheck:!0};return t.map(t=>La(t,``,n,e.home))}function Ha(e,t,n,r){let i=Wa(e,t,n,r);return i.kind===`present`?i.entry:null}function Ua(e,t,n,r){let i=ha(e,t,r);if(!P(i))return{kind:`no-entry`};let a=i[n];return P(a)?{kind:`present`,entry:a}:{kind:`no-entry`}}function Wa(e,t,n,r){let i;try{i=r??e.configPath(t,n)}catch{return{kind:`absent`}}if(!U(i))return{kind:`absent`};try{if(we(i).size>ua)return{kind:`decline`,reason:`oversize`}}catch{return{kind:`decline`,reason:`unparseable`}}let a;try{a=W(i,`utf-8`)}catch{return{kind:`decline`,reason:`unparseable`}}if(a.trim()===``)return{kind:`absent`};if(e.format===`file`)return{kind:`present`,entry:vi(a)};let o=e.serverName(t);if(e.format===`toml`){let t;try{t=Ri().parseToObject(a)}catch{return{kind:`decline`,reason:`unparseable`}}return Ua(t,e.topLevelKey,o,e.serverMapSubKey)}let s=oa(a);return s?sa(s,e.topLevelKey)>1?{kind:`decline`,reason:`duplicate-container`}:Ua(mr(s),e.topLevelKey,o,e.serverMapSubKey):{kind:`decline`,reason:`unparseable`}}async function Ga(e={}){let t=ge(e.cwd??process.cwd()),n=Si(t,{homeDir:e.home}),r=n.projectRoot,i=!U(B(r,`.ok`)),a=n.gitRootPromoted?V(r,t):void 0,o=e.contentDir===void 0?n.defaultContentDir:Ea(e.contentDir,r,t);n.ancestorPromoted?console.log(`[ok] Opened existing project at ${r}`):n.gitRootPromoted&&i&&o===`.`&&process.stderr.write(`${L(`[ok] Content scope promoted to the git repo root: ${r}`)}\n Ran in ${a}/, but .ok/ lives at the git root (one .ok/ per git repo),\n so the whole repo is now the content scope. To narrow it, re-run with\n \`ok init --content-dir .\`, or set content.dir: ${a} in .ok/config.yml.\n`);let s={mode:e.devMcp?`dev`:`published`},c=await ee(r),l;try{l=h(r,{contentDir:o})}catch(t){let i=A.claude.configPath(r,e.home);return{projectRoot:r,contentCreated:[],contentUpdated:[],contentSkipped:[],editors:[],projectSkills:[],legacyProjectConfigs:[],didGitInit:c.didInit,rootGitignoreCreated:!1,gitRootPromoted:n.gitRootPromoted,promotedFromDir:a,contentDirRequested:e.contentDir,contentScaffoldFailed:!0,mcpAction:`failed`,mcpPath:i,mcpError:`Content scaffolding failed: ${t instanceof Error?t.message:String(t)}`,sharing:{kind:`no-exclude`,reason:`no-git`,localOnlyRequested:!1}}}let u=l.created.includes(te),d=!1;if(c.didInit)try{d=C(r)===`created`}catch(e){console.warn(`[ok] Skipping .gitignore seed at ${r}: ${e instanceof Error?e.message:String(e)}`)}let f=await xa({scope:e.scope,mcp:e.mcp,isTTY:e.isTTY,promptFn:e.promptFn}),p=e.editors??Za(r,e.home),m=e.editors??se.filter(e=>A[e].projectConfigPath!==void 0),g=N(p),_=N(m),v=e.mcp===!1||f===null,b=Array.from(new Map([...g,...v?[]:_].map(e=>[e.id,e])).values()),S=g.filter(t=>Ia(t,r,e.home)),w=[],D=[],O=new Set;for(let t of b){if(v){let n=``;try{n=t.configPath(r,e.home)}catch{}w.push({editorId:t.id,label:t.label,action:`skipped-flag`,configPath:n,serverName:t.serverName(r)});continue}if(va(f)&&g.includes(t)&&t.scope===`global`&&w.push(La(t,r,s,e.home)),ya(f)&&_.includes(t)&&t.projectConfigPath){let n=t.projectConfigPath(r),i=La(t,r,s,e.home,n);w.push(i),(i.action===`written`||i.action===`overwritten`)&&O.add(n)}}let k=new Set;for(let e of _){let t=e.projectSkillPath?.(r);!t||k.has(t)||(k.add(t),D.push(ae(e,r)))}let re=!v&&f!==null&&ya(f)?_.filter(e=>!e.projectConfigPath).map(e=>e.label):void 0,j=v?[]:S.map(e=>Ba(e,r)).filter(e=>e!==void 0).filter(e=>!O.has(e.path)),ie=S.some(e=>e.id===`claude`)&&!v?Fa(r,s):void 0,oe=e.installUserSkill??y,M=e.home??ye(),ce=Ta(e.skills),P=!1,F=!1,le=!1,I=!1;for(let t of E){let n=ce.has(t);if(await T(M,x[t],n).catch(()=>{}),n){P=!0;let n=await oe({home:e.home,bundleId:t,force:!0});n===`installed`?F=!0:n===`failed`?le=!0:I=!0}else try{ne(M,t)}catch{}}let ue=le?`failed`:F?`installed`:P&&I?`skip-current`:`declined`,R=v?`skipped-flag`:`skipped-missing`,de=w.find(e=>e.editorId===`claude`)??w[0]??{action:R,configPath:A.claude.configPath(r,e.home)},fe=await Ka({projectRoot:r,desiredMode:await Ca({sharing:e.sharing,projectRoot:r,isTTY:e.isTTY,promptFn:e.sharingPromptFn}),explicitFlag:e.sharing});return{projectRoot:r,contentCreated:l.created,contentUpdated:l.updated,contentSkipped:l.skipped,editors:w,projectSkills:D,legacyProjectConfigs:j,launchJson:ie,skillInstall:ue,didGitInit:c.didInit,rootGitignoreCreated:d,gitRootPromoted:n.gitRootPromoted,promotedFromDir:a,contentDir:u?o:void 0,contentDirRequested:e.contentDir,contentScaffoldFailed:!1,mcpAction:de.action,mcpPath:de.configPath,mcpError:`error`in de?de.error:void 0,projectScopeUnsupportedLabels:re,sharing:fe}}async function Ka(e){let{projectRoot:t,desiredMode:n,explicitFlag:r}=e,i=kn(t);if(i===`no-git`)return{kind:`no-exclude`,reason:`no-git`,localOnlyRequested:r===`local-only`};let a=En(t);if(n===`local-only`){let e=Dn(t,a);if(e.kind===`refused-tracked`){let t=e;return{kind:`refused-tracked`,tracked:t.tracked,remediation:t.remediation}}return e.kind===`no-exclude`?{kind:`no-exclude`,reason:e.reason,localOnlyRequested:r===`local-only`}:qa(t,e,`add`)}if(i===`shared`)return{kind:`applied`,mode:`shared`,action:`noop`,appended:[],alreadyPresent:[],removed:[]};let o=On(t,a);return o.kind===`no-exclude`?{kind:`no-exclude`,reason:o.reason,localOnlyRequested:!1}:qa(t,o,`remove`)}function qa(e,t,n){let r=kn(e);return n===`add`?{kind:`applied`,mode:r,action:t.appended.length>0?`added`:`noop`,appended:t.appended,alreadyPresent:t.alreadyPresent,removed:[]}:{kind:`applied`,mode:r,action:`removed`,appended:[],alreadyPresent:[],removed:t.removed}}function Ja(e){switch(e){case`oversize`:return`config too large to edit safely`;case`duplicate-container`:return`duplicate server block`;case`no-native-writer`:return`no format-preserving writer available`;default:return`config not readable`}}function Ya(e,t){let n=[],r=e.editors.some(e=>e.action===`written`||e.action===`overwritten`),i=e.editors.some(e=>e.action===`failed`)||e.projectSkills.some(e=>e.action===`failed`),a=e.editors.length>0&&e.editors.every(e=>e.action===`skipped-flag`),o=e.editors.length>0&&e.editors.every(e=>e.action===`skipped-missing`),s=e=>{let n=e.configPath.startsWith(t)?V(t,e.configPath):e.configPath;switch(e.action){case`created`:return` app preview server ${n} configured for Claude Code Desktop embedded browser`;case`merged`:return` app preview server ${n} updated for Claude Code Desktop embedded browser`;case`failed`:return` app preview server ${n} FAILED: ${e.error}`}};e.didGitInit&&n.push(`Initialized git repo at ${t}/.git/ (default branch: main)`),e.rootGitignoreCreated&&n.push(`Seeded .gitignore at ${t}/.gitignore (.DS_Store)`);let c=B(t,`.ok`);if(e.contentCreated.length>0||e.contentUpdated.length>0?(n.push(R(`Content scaffolded at ${c}/`)),e.contentCreated.length>0&&n.push(` Created: ${e.contentCreated.join(`, `)}`),e.contentUpdated.length>0&&n.push(` Updated: ${e.contentUpdated.join(`, `)}`)):n.push(R(`Content already present at ${c}/`)),e.contentSkipped.length>0&&n.push(` Skipped (already exist): ${e.contentSkipped.join(`, `)}`),n.push(``),e.mcpError&&e.editors.length===0)n.push(`Warning: ${e.mcpError}`);else if(e.editors.length===0)if(n.push(R(`MCP server configuration:`)),e.mcpAction===`skipped-flag`)n.push(` MCP config not written — use without --no-mcp to configure editors`);else if(e.projectScopeUnsupportedLabels&&e.projectScopeUnsupportedLabels.length>0){let t=e.projectScopeUnsupportedLabels.join(`, `),r=e.projectScopeUnsupportedLabels.length===1?`does`:`do`;n.push(` ${t} ${r} not support project-level config; skipped`)}else n.push(` No supported editor config directories detected; skipped MCP registration`);else if(a)n.push(`MCP config not written — use without --no-mcp to configure editors`);else if(o)n.push(R(`MCP server configuration:`)),n.push(` No supported editor config directories detected; skipped MCP registration`);else{n.push(R(`MCP server configuration:`));for(let r of e.editors){let i=r.configPath.startsWith(t)?V(t,r.configPath):r.configPath.replace(/^\/Users\/[^/]+/,`~`),a=r.serverName===`open-knowledge`?``:` (${r.serverName})`,o=r.configScope===`project`?` (project)`:``,c=`${r.label}${o}`,l=` `.repeat(Math.max(1,20-c.length)),u=r.editorId===`claude-desktop`&&(r.action===`written`||r.action===`overwritten`)?` — quit and relaunch Claude Desktop to activate`:``;switch(r.action){case`written`:n.push(` ${c}${l}${i} ${I(`registered`)}${a}${u}`);break;case`overwritten`:n.push(` ${c}${l}${i} ${I(`updated`)}${a}${u}`);break;case`skipped-missing`:n.push(` ${c}${l}${i} config root missing; skipped`);break;case`failed`:n.push(` ${c}${l}${i} ${ue(`FAILED`)}: ${r.error}`);break;case`declined`:n.push(` ${c}${l}${i} left unchanged (${Ja(r.declineReason)})`);break;case`skipped-flag`:break;default:r.action}r.editorId===`claude`&&e.launchJson&&n.push(s(e.launchJson))}if(e.projectScopeUnsupportedLabels&&e.projectScopeUnsupportedLabels.length>0){let t=e.projectScopeUnsupportedLabels.join(`, `),r=e.projectScopeUnsupportedLabels.length===1?`does`:`do`;n.push(` ${t} ${r} not support project-level config; skipped`)}}if(e.projectSkills.length>0){n.push(``),n.push(R(`Project-local skills:`));for(let r of e.projectSkills){let e=`${r.label} (project)`,i=` `.repeat(Math.max(1,20-e.length)),a=r.path?V(t,r.path):``;switch(r.action){case`written`:n.push(` ${e}${i}${a} ${I(`installed`)}`);break;case`overwritten`:n.push(` ${e}${i}${a} ${I(`updated`)}`);break;case`skipped-unsupported`:n.push(` ${e}${i}no known project skill surface; skipped`);break;case`failed`:n.push(` ${e}${i}${a} ${ue(`FAILED`)}: ${r.error}`);break}}}if(i&&(n.push(``),n.push(`For failed editors, add the MCP server entry or project skill manually. See:`),n.push(` https://github.com/inkeep/open-knowledge#mcp-setup`)),e.legacyProjectConfigs.length>0){n.push(``),n.push(`Project MCP configs found:`);for(let r of e.legacyProjectConfigs)n.push(` ${r.label} ${V(t,r.path)}`);n.push(` These project-local files may override the global config. Remove them if you want fully user-scoped MCP setup in this project.`)}if(e.skillInstall)switch(n.push(``),n.push(R(`User-global skill:`)),e.skillInstall){case`installed`:n.push(` open-knowledge ${I(`installed to detected agent hosts`)} via \`npx skills\``);break;case`skip-current`:n.push(` open-knowledge ${I(`already installed at current version`)}`);break;case`declined`:n.push(` open-knowledge ${le(`skipped (opted out via --no-skills)`)}`);break;case`failed`:n.push(` ${L(`open-knowledge install failed — MCP still configured; run manually:`)}`),n.push(` ${L(` npx skills@~1.5.0 add <bundled-path> --agent '*' -g -y --copy`)}`);break}if(e.contentDirRequested!==void 0&&e.contentDir===void 0&&!e.contentScaffoldFailed?(n.push(``),n.push(L(`⚠ --content-dir ${e.contentDirRequested} ignored — .ok/config.yml already exists`)),n.push(` Edit .ok/config.yml → content.dir directly to change the content scope.`)):e.contentDir!==void 0&&e.contentDir!==`.`?(n.push(``),n.push(`Content scope set to ${e.contentDir}/ (content.dir in .ok/config.yml).`)):e.gitRootPromoted&&e.contentDir===`.`&&e.contentDirRequested===void 0&&(n.push(``),n.push(L(`⚠ Content scope promoted to the git repo root`)),n.push(` .ok/ was initialized at ${t} because it contains a .git folder (one .ok/ per git repo),`),n.push(` not the sub-folder you ran \`ok init\` in${e.promotedFromDir?` (${e.promotedFromDir})`:``}. The whole repo is now the content scope.`),e.promotedFromDir&&(n.push(" To scope to just that sub-folder, re-run `ok init --content-dir .` from there, or set"),n.push(` content.dir: ${e.promotedFromDir} in .ok/config.yml.`))),e.preview?(n.push(``),n.push(de(e.preview,t))):e.previewWarning&&(n.push(``),n.push(`Content preview unavailable: ${e.previewWarning}`)),n.push(``),n.push(...eo(e.sharing,t)),r){let t=new Set,r=e.editors.filter(e=>e.action===`written`||e.action===`overwritten`).filter(e=>!t.has(e.editorId)&&t.add(e.editorId)).map(e=>e.label);n.push(``),n.push(`${I(`✓`)} ${R(`Next steps:`)}`),n.push(` 1. Open your editor (${F(r.join(` / `))})`),n.push(` 2. Approve the MCP server when prompted`),n.push(` 3. (Optional) scaffold the starter knowledge-base structure:`),n.push(` - ${F(`ok seed`)} — empty repo, Karpathy 3-layer`),n.push(` - ${F(`mcp__open-knowledge__discover`)} — existing repo, extract conventions`),n.push(` 4. Use the MCP workflow tools as you build the wiki:`),n.push(` - ${F(`mcp__open-knowledge__ingest`)} — capture an external source`),n.push(` - ${F(`mcp__open-knowledge__research`)} — gather sources and write findings`),n.push(` - ${F(`mcp__open-knowledge__consolidate`)} — promote research to canonical articles`)}return n.join(`
683
683
  `)}function Xa(e,t){return{projectRoot:e.projectRoot,gitRootPromoted:e.gitRootPromoted,promotedFromDir:e.promotedFromDir??null,contentDir:t.contentDir,contentDirRequested:e.contentDirRequested??null,contentDirApplied:e.contentDir!==void 0,contentFileCount:t.contentFileCount,previewError:e.previewWarning??null,didGitInit:e.didGitInit,mcpAction:e.mcpAction,editors:e.editors.map(e=>({editorId:e.editorId,label:e.label,action:e.action,configPath:e.configPath,scope:e.configScope===`project`?`project`:`user`}))}}function Za(e,t){let n=[];for(let r of se)Ia(A[r],e,t)&&n.push(r);return n}function Qa(){let e={log:console.log,info:console.info,debug:console.debug},t=(...e)=>{process.stderr.write(`${e.map(e=>typeof e==`string`?e:De(e)).join(` `)}\n`)};return console.log=t,console.info=t,console.debug=t,()=>{console.log=e.log,console.info=e.info,console.debug=e.debug}}function $a(){return new k(`init`).description(`Scaffold .ok/ in the current directory and register the MCP server for your editor(s)`).option(`--mcp`,`Register the MCP server for selected editors (default: true)`,!0).option(`--no-mcp`,`Scaffold the .ok/ directory but do not touch MCP config`).option(`--dev-mcp`,`Register a local dev MCP entry using node + packages/cli/dist/cli.mjs with debug logging`).option(`--content-dir <dir>`,`Limit content to <dir> instead of the whole project. <dir> is interpreted relative to your current directory (e.g. "." = the folder you run the command in), then saved to .ok/config.yml as content.dir.`).option(`--json`,`Emit a structured JSON summary to stdout (diagnostics stay on stderr)`).option(`--skills <ids>`,`Install only the named user-global skill bundles (comma list: discovery,write-skill)`).option(`--no-skills`,`Do not install any user-global skill bundles`).addOption(new O(`--scope <scope>`,`Write MCP config at user level, project level, or both`).choices([`user`,`project`,`both`])).addOption(new O(`--shared`,`Commit OK config alongside content (the default for fresh repos)`).conflicts(`localOnly`)).addOption(new O(`--local-only`,`Keep OK config out of git via .git/info/exclude (per-clone, not committed)`).conflicts(`shared`)).action(async e=>{let t=process.cwd(),n=e.shared?`shared`:e.localOnly?`local-only`:void 0,r=e.json?Qa():null;try{let r;try{r=await Ga({cwd:t,mcp:e.mcp,devMcp:e.devMcp,scope:e.scope,sharing:n,contentDir:e.contentDir,skills:e.skills})}catch(e){if(e instanceof wa){process.stderr.write(`${e.message}\n`),process.exitCode=64;return}if(e instanceof m||e instanceof _){process.stderr.write(`${e.message}\n`),process.exitCode=78;return}if(e instanceof g){process.stderr.write(`open-knowledge could not initialize a git repo for this project. Re-run, or run 'git init' yourself in the project folder.
684
- `),e.stderr&&process.stderr.write(`${e.stderr.trim()}\n`),process.exitCode=1;return}throw e}let i=r.contentDir??`.`,a=null,{loadConfig:o}=await import(`./loader-Hx3ppSIp.mjs`),{resolveContentDir:s}=await import(`./dist-D0fMk7yr.mjs`),c;try{c=o(r.projectRoot).config,i=c.content.dir}catch(e){r.previewWarning=e instanceof Error?e.message:String(e)}if(c)try{let{previewContent:e}=await import(`./preview-CmJ-n5_k.mjs`),t=s(c,r.projectRoot);r.preview=e({projectDir:r.projectRoot,contentDir:t}),a=r.preview.totalCount}catch(e){r.previewWarning=e instanceof Error?e.message:String(e)}e.json?process.stdout.write(`${JSON.stringify(Xa(r,{contentDir:i,contentFileCount:a}),null,2)}\n`):process.stdout.write(`${Ya(r,r.projectRoot)}\n`),(r.editors.some(e=>e.action===`failed`)||r.mcpAction===`failed`)&&(process.exitCode=1)}finally{r?.()}})}function eo(e,t){let n=[];switch(e.kind){case`applied`:return n.push(R(`Sharing mode:`)),e.mode===`local-only`?e.action===`added`?n.push(` ${I(`local-only`)} — appended ${e.appended.length} path(s) to ${R(`${t}/.git/info/exclude`)} (per-clone, not committed).`):e.action===`noop`&&e.alreadyPresent.length>0?n.push(` ${I(`local-only`)} — already excluded; nothing to do.`):n.push(` ${I(`local-only`)}`):e.action===`removed`?n.push(` ${I(`shared`)} — removed OK paths from ${R(`${t}/.git/info/exclude`)}; commit the files to share with teammates.`):n.push(` ${I(`shared`)} — OK config will be committed alongside content.`),n;case`refused-tracked`:n.push(L(`Sharing mode: switch to local-only deferred`));for(let t of e.remediation.split(`
684
+ `),e.stderr&&process.stderr.write(`${e.stderr.trim()}\n`),process.exitCode=1;return}throw e}let i=r.contentDir??`.`,a=null,{loadConfig:o}=await import(`./loader-CU2qWOz4.mjs`),{resolveContentDir:s}=await import(`./dist-CDpjGDM9.mjs`),c;try{c=o(r.projectRoot).config,i=c.content.dir}catch(e){r.previewWarning=e instanceof Error?e.message:String(e)}if(c)try{let{previewContent:e}=await import(`./preview-D6u_pKXX.mjs`),t=s(c,r.projectRoot);r.preview=e({projectDir:r.projectRoot,contentDir:t}),a=r.preview.totalCount}catch(e){r.previewWarning=e instanceof Error?e.message:String(e)}e.json?process.stdout.write(`${JSON.stringify(Xa(r,{contentDir:i,contentFileCount:a}),null,2)}\n`):process.stdout.write(`${Ya(r,r.projectRoot)}\n`),(r.editors.some(e=>e.action===`failed`)||r.mcpAction===`failed`)&&(process.exitCode=1)}finally{r?.()}})}function eo(e,t){let n=[];switch(e.kind){case`applied`:return n.push(R(`Sharing mode:`)),e.mode===`local-only`?e.action===`added`?n.push(` ${I(`local-only`)} — appended ${e.appended.length} path(s) to ${R(`${t}/.git/info/exclude`)} (per-clone, not committed).`):e.action===`noop`&&e.alreadyPresent.length>0?n.push(` ${I(`local-only`)} — already excluded; nothing to do.`):n.push(` ${I(`local-only`)}`):e.action===`removed`?n.push(` ${I(`shared`)} — removed OK paths from ${R(`${t}/.git/info/exclude`)}; commit the files to share with teammates.`):n.push(` ${I(`shared`)} — OK config will be committed alongside content.`),n;case`refused-tracked`:n.push(L(`Sharing mode: switch to local-only deferred`));for(let t of e.remediation.split(`
685
685
  `))n.push(t.length>0?` ${t}`:``);return n.push(` Re-run ${F(`ok config-sharing unshare`)} after resolving to complete the switch.`),n;case`no-exclude`:if(e.localOnlyRequested)n.push(L(`Sharing mode: --local-only requested but no git repo found — option ignored`)),n.push(` Run ${F(`git init`)} (or open this folder via OK Desktop, which can scaffold a repo) and then ${F(`ok config-sharing unshare`)}.`);else if(e.reason===`no-git`)return[];else n.push(L(`Sharing mode unavailable: ${e.reason}.`));return n}}export{kr as A,jn as B,pa as C,Ri as D,na as E,pr as F,bt as G,On as H,Dn as I,q as J,_t as K,Mn as L,yr as M,xr as N,Si as O,mr as P,An as R,Fa as S,Va as T,Tn as U,kn as V,fn as W,Ue as Y,Ta as _,Ma as a,Ca as b,Ra as c,Wa as d,Za as f,Ha as g,$a as h,ja as i,br as j,_i as k,Ka as l,eo as m,ka as n,Na as o,Ya as p,gt as q,Aa as r,Pa as s,wa as t,Xa as u,xa as v,La as w,Ga as x,Ea as y,En as z};
686
- //# sourceMappingURL=init-Ci768cUc.mjs.map
686
+ //# sourceMappingURL=init-DUT3jX8X.mjs.map
@@ -0,0 +1 @@
1
+ import{n as e}from"./loader-uMT8FFdY.mjs";export{e as loadConfig};
@@ -1,4 +1,4 @@
1
- import{Go as e,Xa as t,Za as n,eo as r}from"./server-lock-iLcBw_q0-D_cD26E0.mjs";import{_ as i,_a as a,ga as o}from"./dist-CD7iLv1c.mjs";import{t as s}from"./constants-Z9iTGlVY.mjs";import{t as c}from"./is-object-Cg453afR.mjs";import{resolve as l}from"node:path";import{existsSync as u,readFileSync as d}from"node:fs";import{realpath as f}from"node:fs/promises";async function p(e){let t=l(e);try{return await f(t)}catch(e){if(e.code!==`ENOENT`){let n=e instanceof Error?e.message:String(e);console.warn(`[normalize-cwd] realpath failed for ${t}: ${n}`)}return t}}var m=e();function h(e,t){let n={...e};for(let r of Object.keys(t)){let i=e[r],a=t[r];c(a)&&c(i)?n[r]=h(i,a):a!==void 0&&(n[r]=a)}return n}function g(e){if(!u(e))return{value:null,path:e,source:null,doc:null};let t;try{t=d(e,`utf-8`)}catch(t){return console.warn(`[config] Failed to read ${e}: ${t instanceof Error?t.message:t}`),{value:null,path:e,source:null,doc:null}}let n=(0,m.parseDocument)(t);if(n.errors.length>0)return console.warn(`[config] Failed to parse ${e}: ${n.errors.map(e=>e.message).join(`; `)}`),{value:null,path:e,source:t,doc:null};let r=n.toJSON();return c(r)?{value:r,path:e,source:t,doc:n}:{value:null,path:e,source:t,doc:n}}function _(e,t){return e.map(e=>{let n=e.path.map(e=>typeof e==`symbol`?String(e):e),i={path:n,message:e.message,issueCode:e.code};if(t.doc!==null&&t.source!==null){let e=r({file:t.path,source:t.source,doc:t.doc,path:n});if(e!==void 0)return{...i,source:e}}return i})}function v(e){let r=e??process.cwd(),c=[],u=a(`user`,r),d=o({absPath:u}),f={};d.valid&&d.source!==void 0?(f=h(f,d.value),c.push(u)):d.valid;let p=l(r,`.ok`,s),m=g(p);if(m.value!==null){let e=t({value:m.value,file:m.path,source:m.source,doc:m.doc});if(e.length>0)throw Error(e.map(n).join(`
1
+ import{Ko as e,Xa as t,Za as n,to as r}from"./server-lock-iLcBw_q0-pnLGEjec.mjs";import{_ as i,_a as a,ga as o}from"./dist-BvK2GLh6.mjs";import{t as s}from"./constants-CSnkwjht.mjs";import{t as c}from"./is-object-Cg453afR.mjs";import{resolve as l}from"node:path";import{existsSync as u,readFileSync as d}from"node:fs";import{realpath as f}from"node:fs/promises";async function p(e){let t=l(e);try{return await f(t)}catch(e){if(e.code!==`ENOENT`){let n=e instanceof Error?e.message:String(e);console.warn(`[normalize-cwd] realpath failed for ${t}: ${n}`)}return t}}var m=e();function h(e,t){let n={...e};for(let r of Object.keys(t)){let i=e[r],a=t[r];c(a)&&c(i)?n[r]=h(i,a):a!==void 0&&(n[r]=a)}return n}function g(e){if(!u(e))return{value:null,path:e,source:null,doc:null};let t;try{t=d(e,`utf-8`)}catch(t){return console.warn(`[config] Failed to read ${e}: ${t instanceof Error?t.message:t}`),{value:null,path:e,source:null,doc:null}}let n=(0,m.parseDocument)(t);if(n.errors.length>0)return console.warn(`[config] Failed to parse ${e}: ${n.errors.map(e=>e.message).join(`; `)}`),{value:null,path:e,source:t,doc:null};let r=n.toJSON();return c(r)?{value:r,path:e,source:t,doc:n}:{value:null,path:e,source:t,doc:n}}function _(e,t){return e.map(e=>{let n=e.path.map(e=>typeof e==`symbol`?String(e):e),i={path:n,message:e.message,issueCode:e.code};if(t.doc!==null&&t.source!==null){let e=r({file:t.path,source:t.source,doc:t.doc,path:n});if(e!==void 0)return{...i,source:e}}return i})}function v(e){let r=e??process.cwd(),c=[],u=a(`user`,r),d=o({absPath:u}),f={};d.valid&&d.source!==void 0?(f=h(f,d.value),c.push(u)):d.valid;let p=l(r,`.ok`,s),m=g(p);if(m.value!==null){let e=t({value:m.value,file:m.path,source:m.source,doc:m.doc});if(e.length>0)throw Error(e.map(n).join(`
2
2
 
3
3
  `));f=h(f,m.value),c.push(p)}let v=i.safeParse(f);if(!v.success){let e={code:`SCHEMA_INVALID`,issues:_(v.error.issues,m)};throw Error(n(e))}return{config:v.data,sources:c}}function y(e){let t=e.cacheMs??1e3,n=e.loadConfigFn??v,r=new Map,i=new Map,a=p(e.startupCwd);return async o=>{let s=await p(o??e.startupCwd),c=Date.now(),l=r.get(s);if(l&&l.expiresAt>c)return l.config;let u=i.get(s);if(u)return await u;let d=(async()=>{if(s===await a)return r.set(s,{config:e.startupConfig,expiresAt:Date.now()+t}),e.startupConfig;let i=n(s).config;return r.set(s,{config:i,expiresAt:Date.now()+t}),i})();i.set(s,d);try{return await d}finally{i.delete(s)}}}export{v as n,y as t};
4
- //# sourceMappingURL=loader-CUdbH5wE.mjs.map
4
+ //# sourceMappingURL=loader-uMT8FFdY.mjs.map
@@ -0,0 +1 @@
1
+ import{n as e,t}from"./preview-en_IHxnY.mjs";export{t as formatPreviewBlock,e as previewContent};
@@ -1,3 +1,3 @@
1
- import{Yt as e}from"./dist-CD7iLv1c.mjs";import"./constants-Z9iTGlVY.mjs";import{join as t,relative as n}from"node:path";import{existsSync as r,lstatSync as i,readdirSync as a,realpathSync as o,statSync as s}from"node:fs";function c(r){let{projectDir:c,contentDir:l,sampleCap:u=5}=r,d=[],f=[];try{i(l)}catch(e){return{totalCount:0,sample:[],contentDir:l,warnings:[`cannot access content directory ${l}: ${e instanceof Error?e.message:String(e)}`]}}let p;try{p=e({projectDir:c,contentDir:l})}catch(e){return{totalCount:0,sample:[],contentDir:l,warnings:[e instanceof Error?e.message:String(e)]}}function m(e){let r;try{r=a(e,{withFileTypes:!0})}catch(t){let r=t instanceof Error?t.message:String(t);d.push(`could not read directory ${n(l,e)||`.`}: ${r}`);return}for(let i of r){let r=t(e,i.name);if(i.isSymbolicLink()){let e;try{e=o(r)}catch(e){let t=e.code;t===`ENOENT`||t===`ELOOP`?d.push(`broken or cyclic symlink: ${n(l,r)}`):d.push(`cannot resolve symlink ${n(l,r)}: ${t??`unknown error`}`);continue}let t;try{t=s(e)}catch{continue}if(t.isDirectory()){let e=n(l,r);if(p.isDirExcluded(e))continue;m(r)}else if(t.isFile()){let e=n(l,r);if(p.isExcluded(e))continue;f.push(e)}}else if(i.isDirectory()){let e=n(l,r);if(p.isDirExcluded(e))continue;m(r)}else if(i.isFile()){let e=n(l,r);if(p.isExcluded(e))continue;f.push(e)}}}return m(l),{totalCount:f.length,sample:f.slice(0,u),contentDir:l,warnings:d}}function l(e,i){let a=[],o=n(i,e.contentDir),s=o===``?`./`:`./${o}`;if(a.push(`Content:`),a.push(` Found ${e.totalCount} markdown files in ${s}`),e.sample.length>0){let t=e.sample.join(`, `),n=e.totalCount>e.sample.length?`, …`:``;a.push(` Sample: ${t}${n}`)}if(e.warnings.length>0)for(let t of e.warnings)a.push(` Warning: ${t}`);return a.push(``),r(t(i,`.ok`,`config.yml`))?(a.push(` To adjust scope, add patterns to .okignore at the project root.`),a.push(` To change the content root, edit .ok/config.yml → content.dir.`)):a.push(" Run `open-knowledge init` to scaffold config + .okignore."),a.push(``),a.push(` Re-check anytime: open-knowledge preview`),a.join(`
1
+ import{Yt as e}from"./dist-BvK2GLh6.mjs";import"./constants-CSnkwjht.mjs";import{join as t,relative as n}from"node:path";import{existsSync as r,lstatSync as i,readdirSync as a,realpathSync as o,statSync as s}from"node:fs";function c(r){let{projectDir:c,contentDir:l,sampleCap:u=5}=r,d=[],f=[];try{i(l)}catch(e){return{totalCount:0,sample:[],contentDir:l,warnings:[`cannot access content directory ${l}: ${e instanceof Error?e.message:String(e)}`]}}let p;try{p=e({projectDir:c,contentDir:l})}catch(e){return{totalCount:0,sample:[],contentDir:l,warnings:[e instanceof Error?e.message:String(e)]}}function m(e){let r;try{r=a(e,{withFileTypes:!0})}catch(t){let r=t instanceof Error?t.message:String(t);d.push(`could not read directory ${n(l,e)||`.`}: ${r}`);return}for(let i of r){let r=t(e,i.name);if(i.isSymbolicLink()){let e;try{e=o(r)}catch(e){let t=e.code;t===`ENOENT`||t===`ELOOP`?d.push(`broken or cyclic symlink: ${n(l,r)}`):d.push(`cannot resolve symlink ${n(l,r)}: ${t??`unknown error`}`);continue}let t;try{t=s(e)}catch{continue}if(t.isDirectory()){let e=n(l,r);if(p.isDirExcluded(e))continue;m(r)}else if(t.isFile()){let e=n(l,r);if(p.isExcluded(e))continue;f.push(e)}}else if(i.isDirectory()){let e=n(l,r);if(p.isDirExcluded(e))continue;m(r)}else if(i.isFile()){let e=n(l,r);if(p.isExcluded(e))continue;f.push(e)}}}return m(l),{totalCount:f.length,sample:f.slice(0,u),contentDir:l,warnings:d}}function l(e,i){let a=[],o=n(i,e.contentDir),s=o===``?`./`:`./${o}`;if(a.push(`Content:`),a.push(` Found ${e.totalCount} markdown files in ${s}`),e.sample.length>0){let t=e.sample.join(`, `),n=e.totalCount>e.sample.length?`, …`:``;a.push(` Sample: ${t}${n}`)}if(e.warnings.length>0)for(let t of e.warnings)a.push(` Warning: ${t}`);return a.push(``),r(t(i,`.ok`,`config.yml`))?(a.push(` To adjust scope, add patterns to .okignore at the project root.`),a.push(` To change the content root, edit .ok/config.yml → content.dir.`)):a.push(" Run `open-knowledge init` to scaffold config + .okignore."),a.push(``),a.push(` Re-check anytime: open-knowledge preview`),a.join(`
2
2
  `)}export{c as n,l as t};
3
- //# sourceMappingURL=preview-Ty-nKYZm.mjs.map
3
+ //# sourceMappingURL=preview-en_IHxnY.mjs.map
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ActivityPanelDiffView-Oap1F4vk.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{Dn as a,n as o,r as s}from"./DocumentContext-be-baGUX.js";import{n as c,r as l}from"./dist-CQw2y-s3.js";import{a as u,i as d,it as f}from"./dist-w6PaZv_P.js";import{t as p,u as m}from"./button-cneJOVxD.js";import{B as h,vt as g}from"./CodeMirrorPropInput-CPDk-5JJ.js";import{t as _}from"./chevron-down-BvNcCN1f.js";import{t as v}from"./chevron-right-DSNnH-Vb.js";import{i as y}from"./prop-types-CclpOdFN.js";import{t as b}from"./loader-circle-B7Gv_Djz.js";import{c as x,i as S,r as C,t as w}from"./agent-presence-bhQkrJzF.js";import{n as T}from"./dist-CHtJ0hxO.js";import{i as E,n as D,t as O}from"./tooltip-BKaRnpkE.js";import{a as k,c as A,i as j,o as M,s as N,t as ee}from"./dialog-CsCS3R9S.js";import{t as P}from"./dist-B0fhyoQg.js";import{o as F}from"./navigation-targets-C138S-Ad.js";import{o as te}from"./documents-events-DDeQH5lL.js";var ne=m(`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`}]]),I=i(),L=e(n(),1),re=500,R=64;async function ie(e){let t=`/api/agent-activity?agentId=${encodeURIComponent(e)}`,n=await fetch(t),r;try{r=await n.json()}catch(e){throw new h(`Could not parse /api/agent-activity response.`,{cause:e,status:n.status})}if(!n.ok){let e=f.safeParse(r);throw e.success?Error(e.data.title):new h(`/api/agent-activity returned a non-RFC-9457 error response.`,{cause:e.error,status:n.status})}let i=d.safeParse(r);if(!i.success)throw new h(`/api/agent-activity returned a body that did not match AgentActivitySuccessSchema.`,{cause:i.error,status:n.status});return i.data}async function ae(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 h(`Could not parse /api/agent-burst-diff response.`,{cause:e,status:i.status})}if(!i.ok){let e=f.safeParse(a);throw e.success?Error(e.data.title):new h(`/api/agent-burst-diff returned a non-RFC-9457 error response.`,{cause:e.error,status:i.status})}let o=u.safeParse(a);if(!o.success)throw new h(`/api/agent-burst-diff returned a body that did not match AgentBurstDiffSuccessSchema.`,{cause:o.error,status:i.status});return o.data.diff}function oe(e){let t=(0,I.c)(23),{systemProvider:n}=o(),[r,i]=(0,L.useState)(null),[a,s]=(0,L.useState)(`idle`),[c,l]=(0,L.useState)(null),u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=new S(R),t[0]=u):u=t[0];let d=(0,L.useRef)(u),f=(0,L.useRef)(0),p;t[1]===n?p=t[2]:(p=e=>{let t=f.current+=1;s(`loading`),l(null),ie(e).then(r=>{if(f.current!==t)return;let a=ce(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=te(n=>{n.includes(`session-activity`)&&(t&&clearTimeout(t),t=setTimeout(()=>{t=null,m(e)},re))});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,L.useEffect)(h,g);let _,v;t[8]!==e||t[9]!==n?(_=()=>{if(!e||!n)return;let t=()=>{if(!n.awareness)return;let t=ce(n,e);i(e=>!e||se(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,L.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 ae(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 C=x,w;return t[17]!==r||t[18]!==c||t[19]!==b||t[20]!==C||t[21]!==a?(w={data:r,status:a,error:c,reload:C,fetchBurstDiff:b},t[17]=r,t[18]=c,t[19]=b,t[20]=C,t[21]=a,t[22]=w):w=t[22],w}function se(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function ce(e,t){let n=new Set;if(!e)return n;let r=e.awareness;if(!w(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 z=r(),le=(0,L.lazy)(async()=>({default:(await t(()=>import(`./ActivityPanelDiffView-Oap1F4vk.js`),__vite__mapDeps([0,1,2,3,4]),import.meta.url)).ActivityPanelDiffView}));function ue(e,t){let n=Math.max(0,t-e);if(n<6e4){let e=Math.round(n/1e3);return P._({id:`pbwTg6`,values:{seconds:e}})}if(n<36e5){let e=Math.round(n/6e4);return P._({id:`_rP3HI`,values:{minutes:e}})}return new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function de(e){let t=(0,I.c)(42),{burst:n,docName:r,fetchBurstDiff:i}=e,{_:a}=l(),[o,s]=(0,L.useState)(!1),[u,d]=(0,L.useState)(null),[f,p]=(0,L.useState)(null),[m,h]=(0,L.useState)(!1),[g,y]=(0,L.useState)(B),b,x;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(b=()=>{let e=setInterval(()=>y(Date.now()),3e4);return()=>clearInterval(e)},x=[],t[0]=b,t[1]=x):(b=t[0],x=t[1]),(0,L.useEffect)(b,x);let S;t[2]!==n.stackIndex||t[3]!==u||t[4]!==r||t[5]!==o||t[6]!==i||t[7]!==m?(S=()=>{let e=!o;s(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]=S):S=t[8];let C=S,w=n.stackIndex+1,T;t[9]!==a||t[10]!==w||t[11]!==o?(T=a(o?{id:`-i7ik4`,values:{burstNumber:w}}:{id:`EeRZnZ`,values:{burstNumber:w}}),t[9]=a,t[10]=w,t[11]=o,t[12]=T):T=t[12];let E;t[13]===o?E=t[14]:(E=o?(0,z.jsx)(_,{className:`size-3 shrink-0`,"aria-hidden":`true`}):(0,z.jsx)(v,{className:`size-3 shrink-0`,"aria-hidden":`true`}),t[13]=o,t[14]=E);let D;t[15]!==n.ts||t[16]!==g?(D=ue(n.ts,g),t[15]=n.ts,t[16]=g,t[17]=D):D=t[17];let O;t[18]===D?O=t[19]:(O=(0,z.jsx)(`span`,{className:`font-mono`,children:D}),t[18]=D,t[19]=O);let k;t[20]===n.additions?k=t[21]:(k=(0,z.jsxs)(`span`,{className:`text-green-600 dark:text-green-400`,children:[`+`,n.additions]}),t[20]=n.additions,t[21]=k);let A;t[22]===n.deletions?A=t[23]:(A=(0,z.jsxs)(`span`,{className:`text-red-600 dark:text-red-400`,children:[`−`,n.deletions]}),t[22]=n.deletions,t[23]=A);let j;t[24]!==k||t[25]!==A?(j=(0,z.jsxs)(`span`,{className:`ml-auto font-mono`,children:[k,` `,A]}),t[24]=k,t[25]=A,t[26]=j):j=t[26];let M;t[27]!==o||t[28]!==j||t[29]!==T||t[30]!==E||t[31]!==O||t[32]!==C?(M=(0,z.jsxs)(`button`,{type:`button`,onClick:C,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":T,children:[E,O,j]}),t[27]=o,t[28]=j,t[29]=T,t[30]=E,t[31]=O,t[32]=C,t[33]=M):M=t[33];let N;t[34]!==u||t[35]!==o||t[36]!==f||t[37]!==m?(N=o?(0,z.jsx)(`div`,{className:`bg-muted/20`,children:m?(0,z.jsx)(`div`,{className:`px-4 py-2 text-xs text-muted-foreground italic`,children:(0,z.jsx)(c,{id:`38foVZ`})}):f?(0,z.jsx)(`div`,{className:`px-4 py-2 text-xs text-destructive`,children:(0,z.jsx)(c,{id:`pmKdif`,values:{loadError:f}})}):u===null?(0,z.jsx)(`div`,{className:`px-4 py-2 text-xs text-muted-foreground italic`,children:(0,z.jsx)(c,{id:`iNFKkm`})}):(0,z.jsx)(L.Suspense,{fallback:(0,z.jsx)(`div`,{className:`px-4 py-2 text-xs text-muted-foreground italic`,children:(0,z.jsx)(c,{id:`38foVZ`})}),children:(0,z.jsx)(le,{diff:u})})}):null,t[34]=u,t[35]=o,t[36]=f,t[37]=m,t[38]=N):N=t[38];let ee;return t[39]!==M||t[40]!==N?(ee=(0,z.jsxs)(`div`,{className:`border-t border-border/50`,children:[M,N]}),t[39]=M,t[40]=N,t[41]=ee):ee=t[41],ee}function B(){return Date.now()}function fe(e,t){let n=Math.max(0,t-e);if(n<6e4){let e=Math.round(n/1e3);return P._({id:`pbwTg6`,values:{seconds:e}})}if(n<36e5){let e=Math.round(n/6e4);return P._({id:`_rP3HI`,values:{minutes:e}})}let r=Math.round(n/36e5);return P._({id:`nYeBmY`,values:{hours:r}})}function V(e){let t=(0,I.c)(118),{file:n,sessionAlive:r,isWriting:i,onNavigate:a,onUndoLast:o,onUndoAll:s,fetchBurstDiff:u}=e,{_:d}=l(),{docName:f}=n,[m,h]=(0,L.useState)(!1),[g,y]=(0,L.useState)(!1),[b,S]=(0,L.useState)(!1),[C,w]=(0,L.useState)(me),T,P;if(t[0]===Symbol.for(`react.memo_cache_sentinel`)?(T=()=>{let e=setInterval(()=>w(Date.now()),3e4);return()=>clearInterval(e)},P=[],t[0]=T,t[1]=P):(T=t[0],P=t[1]),(0,L.useEffect)(T,P),n.bursts.length===0)return null;let F=!r||n.bursts.length===0||b,te=n.bursts.length,re;t[2]!==d||t[3]!==n.bursts.length||t[4]!==r?(re=r?n.bursts.length===0?d({id:`2fkdnR`}):null:d({id:`NzFvyK`}),t[2]=d,t[3]=n.bursts.length,t[4]=r,t[5]=re):re=t[5];let R=re,ie;t[6]!==F||t[7]!==n.docName||t[8]!==o?(ie=e=>{e.stopPropagation(),!F&&(S(!0),Promise.resolve(o(n.docName)).finally(()=>S(!1)))},t[6]=F,t[7]=n.docName,t[8]=o,t[9]=ie):ie=t[9];let ae=ie,oe;t[10]===F?oe=t[11]:(oe=e=>{e.stopPropagation(),!F&&y(!0)},t[10]=F,t[11]=oe);let se=oe,ce;t[12]!==F||t[13]!==n.docName||t[14]!==s?(ce=()=>{y(!1),!F&&(S(!0),Promise.resolve(s(n.docName)).finally(()=>S(!1)))},t[12]=F,t[13]=n.docName,t[14]=s,t[15]=ce):ce=t[15];let le=ce,ue;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(ue=()=>h(pe),t[16]=ue):ue=t[16];let B;t[17]!==d||t[18]!==f||t[19]!==m?(B=d(m?{id:`rVgSRB`,values:{docName:f}}:{id:`tW_yvQ`,values:{docName:f}}),t[17]=d,t[18]=f,t[19]=m,t[20]=B):B=t[20];let V;t[21]===m?V=t[22]:(V=m?(0,z.jsx)(_,{className:`size-4`,"aria-hidden":`true`}):(0,z.jsx)(v,{className:`size-4`,"aria-hidden":`true`}),t[21]=m,t[22]=V);let H;t[23]!==m||t[24]!==B||t[25]!==V?(H=(0,z.jsx)(`button`,{type:`button`,onClick:ue,className:`flex size-5 shrink-0 items-center justify-center rounded hover:bg-muted`,"aria-expanded":m,"aria-label":B,"data-testid":`activity-panel-file-row-carrot`,children:V}),t[23]=m,t[24]=B,t[25]=V,t[26]=H):H=t[26];let U;t[27]!==n.docName||t[28]!==a?(U=()=>a(n.docName),t[27]=n.docName,t[28]=a,t[29]=U):U=t[29];let W;t[30]!==d||t[31]!==f?(W=d({id:`QcpeeE`,values:{docName:f}}),t[30]=d,t[31]=f,t[32]=W):W=t[32];let G;t[33]!==n.docName||t[34]!==U||t[35]!==W?(G=(0,z.jsx)(`button`,{type:`button`,onClick:U,className:`min-w-0 flex-1 truncate text-left text-foreground hover:underline focus-visible:outline-ring`,"aria-label":W,"data-testid":`activity-panel-file-row-filename`,title:n.docName,children:n.docName}),t[33]=n.docName,t[34]=U,t[35]=W,t[36]=G):G=t[36];let K;t[37]!==d||t[38]!==f?(K=d({id:`m4v3XT`,values:{docName:f}}),t[37]=d,t[38]=f,t[39]=K):K=t[39];let he;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(he=(0,z.jsx)(x,{className:`size-3.5`,"aria-hidden":`true`}),t[40]=he):he=t[40];let q;t[41]!==F||t[42]!==ae||t[43]!==K?(q=(0,z.jsx)(E,{asChild:!0,children:(0,z.jsx)(p,{type:`button`,variant:`ghost`,size:`icon`,className:`size-6 shrink-0`,onClick:ae,disabled:F,"aria-label":K,"data-testid":`activity-panel-undo-last`,children:he})}),t[41]=F,t[42]=ae,t[43]=K,t[44]=q):q=t[44];let J;t[45]!==d||t[46]!==R?(J=R??d({id:`ArBWJf`}),t[45]=d,t[46]=R,t[47]=J):J=t[47];let Y;t[48]===J?Y=t[49]:(Y=(0,z.jsx)(D,{side:`bottom`,children:J}),t[48]=J,t[49]=Y);let X;t[50]!==q||t[51]!==Y?(X=(0,z.jsxs)(O,{children:[q,Y]}),t[50]=q,t[51]=Y,t[52]=X):X=t[52];let Z;t[53]!==d||t[54]!==f?(Z=d({id:`J2MgzQ`,values:{docName:f}}),t[53]=d,t[54]=f,t[55]=Z):Z=t[55];let ge;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(ge=(0,z.jsx)(ne,{className:`size-3.5`,"aria-hidden":`true`}),t[56]=ge):ge=t[56];let Q;t[57]!==F||t[58]!==se||t[59]!==Z?(Q=(0,z.jsx)(E,{asChild:!0,children:(0,z.jsx)(p,{type:`button`,variant:`ghost`,size:`icon`,className:`size-6 shrink-0`,onClick:se,disabled:F,"aria-label":Z,"data-testid":`activity-panel-undo-all`,children:ge})}),t[57]=F,t[58]=se,t[59]=Z,t[60]=Q):Q=t[60];let $;t[61]!==d||t[62]!==R?($=R??d({id:`mNY1G6`}),t[61]=d,t[62]=R,t[63]=$):$=t[63];let _e;t[64]===$?_e=t[65]:(_e=(0,z.jsx)(D,{side:`bottom`,children:$}),t[64]=$,t[65]=_e);let ve;t[66]!==Q||t[67]!==_e?(ve=(0,z.jsxs)(O,{children:[Q,_e]}),t[66]=Q,t[67]=_e,t[68]=ve):ve=t[68];let ye;t[69]===n.additionsTotal?ye=t[70]:(ye=(0,z.jsxs)(`span`,{className:`text-green-600 dark:text-green-400`,children:[`+`,n.additionsTotal]}),t[69]=n.additionsTotal,t[70]=ye);let be;t[71]===n.deletionsTotal?be=t[72]:(be=(0,z.jsxs)(`span`,{className:`text-red-600 dark:text-red-400`,children:[`−`,n.deletionsTotal]}),t[71]=n.deletionsTotal,t[72]=be);let xe;t[73]!==ye||t[74]!==be?(xe=(0,z.jsxs)(`span`,{className:`shrink-0 font-mono text-xs`,children:[ye,` `,be]}),t[73]=ye,t[74]=be,t[75]=xe):xe=t[75];let Se;t[76]!==n.lastTs||t[77]!==C?(Se=fe(n.lastTs,C),t[76]=n.lastTs,t[77]=C,t[78]=Se):Se=t[78];let Ce;t[79]===Se?Ce=t[80]:(Ce=(0,z.jsx)(`span`,{className:`shrink-0 font-mono text-[11px] text-muted-foreground`,children:Se}),t[79]=Se,t[80]=Ce);let we;t[81]===i?we=t[82]:(we=i?(0,z.jsx)(`span`,{className:`shrink-0 text-[11px] text-primary animate-pulse`,role:`status`,children:(0,z.jsx)(c,{id:`6q0rnH`})}):null,t[81]=i,t[82]=we);let Te;t[83]!==H||t[84]!==G||t[85]!==X||t[86]!==ve||t[87]!==xe||t[88]!==Ce||t[89]!==we?(Te=(0,z.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2 text-sm`,children:[H,G,X,ve,xe,Ce,we]}),t[83]=H,t[84]=G,t[85]=X,t[86]=ve,t[87]=xe,t[88]=Ce,t[89]=we,t[90]=Te):Te=t[90];let Ee;t[91]!==m||t[92]!==u||t[93]!==n.bursts||t[94]!==n.docName?(Ee=m?(0,z.jsx)(`div`,{children:n.bursts.map(e=>(0,z.jsx)(de,{burst:e,docName:n.docName,fetchBurstDiff:u},`${n.docName}:${e.stackIndex}`))}):null,t[91]=m,t[92]=u,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,z.jsx)(A,{children:(0,z.jsx)(c,{id:`SEYWYq`})}),t[96]=De):De=t[96];let Oe;t[97]!==te||t[98]!==f?(Oe={docName:f,burstCount:te},t[97]=te,t[98]=f,t[99]=Oe):Oe=t[99];let ke;t[100]===Symbol.for(`react.memo_cache_sentinel`)?(ke={0:(0,z.jsx)(`span`,{className:`font-mono text-foreground`})},t[100]=ke):ke=t[100];let Ae;t[101]===Oe?Ae=t[102]:(Ae=(0,z.jsxs)(N,{children:[De,(0,z.jsx)(k,{children:(0,z.jsx)(c,{id:`ZBYKxv`,values:Oe,components:ke})})]}),t[101]=Oe,t[102]=Ae);let je;t[103]===Symbol.for(`react.memo_cache_sentinel`)?(je=()=>y(!1),t[103]=je):je=t[103];let Me;t[104]===Symbol.for(`react.memo_cache_sentinel`)?(Me=(0,z.jsx)(p,{type:`button`,variant:`outline`,onClick:je,"data-testid":`activity-panel-undo-all-cancel`,children:(0,z.jsx)(c,{id:`dEgA5A`})}),t[104]=Me):Me=t[104];let Ne;t[105]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=(0,z.jsx)(c,{id:`MWrUEd`}),t[105]=Ne):Ne=t[105];let Pe;t[106]===le?Pe=t[107]:(Pe=(0,z.jsxs)(M,{children:[Me,(0,z.jsx)(p,{type:`button`,variant:`destructive`,onClick:le,"data-testid":`activity-panel-undo-all-confirm`,children:Ne})]}),t[106]=le,t[107]=Pe);let Fe;t[108]!==Ae||t[109]!==Pe?(Fe=(0,z.jsxs)(j,{className:`sm:max-w-md`,children:[Ae,Pe]}),t[108]=Ae,t[109]=Pe,t[110]=Fe):Fe=t[110];let Ie;t[111]!==g||t[112]!==Fe?(Ie=(0,z.jsx)(ee,{open:g,onOpenChange:y,children:Fe}),t[111]=g,t[112]=Fe,t[113]=Ie):Ie=t[113];let Le;return t[114]!==Te||t[115]!==Ee||t[116]!==Ie?(Le=(0,z.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 pe(e){return!e}function me(){return Date.now()}async function H(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 U(e){return`#/${e.split(`/`).map(e=>encodeURIComponent(e)).join(`/`)}`}function W(e){typeof window>`u`||(window.location.hash=U(e))}function G(){let e=(0,I.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,z.jsx)(b,{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,z.jsxs)(`div`,{className:`flex h-full items-center justify-center p-6 text-muted-foreground`,role:`status`,"aria-busy":`true`,children:[t,(0,z.jsx)(`span`,{className:`text-sm`,children:(0,z.jsx)(c,{id:`ONPvOb`})})]}),e[1]=n):n=e[1],n}function K(e){let t=(0,I.c)(10),{error:n,onRetry:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,z.jsx)(a,{className:`size-6 text-destructive`,"aria-hidden":`true`}),t[0]=i):i=t[0];let o;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,z.jsx)(`p`,{className:`text-sm font-medium`,children:(0,z.jsx)(c,{id:`DhLHEb`})}),t[1]=o):o=t[1];let s;t[2]===n?s=t[3]:(s=(0,z.jsxs)(`div`,{className:`space-y-1`,children:[o,(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:n})]}),t[2]=n,t[3]=s);let l;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,z.jsx)(c,{id:`6gRgw8`}),t[4]=l):l=t[4];let u;t[5]===r?u=t[6]:(u=(0,z.jsx)(p,{type:`button`,variant:`outline`,size:`sm`,onClick:r,children:l}),t[5]=r,t[6]=u);let d;return t[7]!==s||t[8]!==u?(d=(0,z.jsxs)(`div`,{className:`flex flex-col items-center gap-3 p-6 text-center`,role:`alert`,"data-testid":`activity-panel-error`,children:[i,s,u]}),t[7]=s,t[8]=u,t[9]=d):d=t[9],d}function he(){let e=(0,I.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,z.jsx)(`div`,{className:`flex h-full items-center justify-center p-6 text-muted-foreground`,"data-testid":`activity-panel-empty`,children:(0,z.jsx)(`p`,{className:`text-sm italic`,children:(0,z.jsx)(c,{id:`iuTKci`})})}),e[0]=t):t=e[0],t}function q(e){let t=(0,I.c)(12),{onExit:n,showBackButton:r}=e,{_:i}=l(),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,z.jsx)(J,{onClick:n}):null,t[2]=n,t[3]=r,t[4]=o):o=t[4];let s;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,z.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:(0,z.jsx)(c,{id:`kYL1lH`})}),t[5]=s):s=t[5];let u;t[6]===o?u=t[7]:(u=(0,z.jsxs)(`div`,{className:`flex shrink-0 flex-row items-center gap-2 border-b border-border px-3 py-2`,children:[o,s]}),t[6]=o,t[7]=u);let d;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,z.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-6 text-muted-foreground`,children:(0,z.jsx)(`p`,{className:`text-center text-sm italic`,children:(0,z.jsx)(c,{id:`D_WKe_`})})}),t[8]=d):d=t[8];let f;return t[9]!==a||t[10]!==u?(f=(0,z.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 J(e){let t=(0,I.c)(9),{onClick:n}=e,{_:r}=l(),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,z.jsx)(g,{}),t[2]=a):a=t[2];let o;t[3]!==n||t[4]!==i?(o=(0,z.jsx)(E,{asChild:!0,children:(0,z.jsx)(p,{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 s;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,z.jsx)(D,{side:`bottom`,children:(0,z.jsx)(c,{id:`ogAuyr`})}),t[6]=s):s=t[6];let u;return t[7]===o?u=t[8]:(u=(0,z.jsxs)(O,{children:[o,s]}),t[7]=o,t[8]=u),u}function Y(e){let t=(0,I.c)(9),{lastTs:n}=e,[r]=(0,L.useState)(X),i;t[0]!==n||t[1]!==r?(i=n?Z(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,z.jsx)(`span`,{className:`font-medium`,children:(0,z.jsx)(c,{id:`LCUy_N`})}),t[3]=o):o=t[3];let s;t[4]===a?s=t[5]:(s=a?(0,z.jsxs)(`span`,{children:[` · `,a]}):null,t[4]=a,t[5]=s);let l;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,z.jsx)(`div`,{className:`mt-1 opacity-80`,children:(0,z.jsx)(c,{id:`GK-IRZ`})}),t[6]=l):l=t[6];let u;return t[7]===s?u=t[8]:(u=(0,z.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,s,l]}),t[7]=s,t[8]=u),u}function X(){return Date.now()}function Z(e){let t=Math.max(0,e);if(t<6e4){let e=Math.round(t/1e3);return P._({id:`pbwTg6`,values:{seconds:e}})}if(t<36e5){let e=Math.round(t/6e4);return P._({id:`_rP3HI`,values:{minutes:e}})}let n=Math.round(t/36e5);return P._({id:`nYeBmY`,values:{hours:n}})}function ge(e){let t=(0,I.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,z.jsx)(C,{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,z.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 Q(e){let t=(0,I.c)(26),{data:n,status:r,error:i,reload:a,fetchBurstDiff:o,onExit:s,onNavigate:u,onUndoLast:d,onUndoAll:f,showBackButton:p}=e,{_:m}=l(),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]!==s||t[3]!==p?(v=p?(0,z.jsx)(J,{onClick:s}):null,t[2]=s,t[3]=p,t[4]=v):v=t[4];let y;t[5]!==n||t[6]!==g||t[7]!==h?(y=n?.agent?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(ge,{agent:n.agent}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:n.agent.displayName}),(0,z.jsxs)(`p`,{className:`truncate text-xs text-muted-foreground`,children:[n.sessionAlive?(0,z.jsx)(c,{id:`F6pfE9`}):h===null?(0,z.jsx)(c,{id:`PMyJ9C`}):(0,z.jsx)(c,{id:`237hSL`}),n.files.length>0?(0,z.jsxs)(z.Fragment,{children:[` · `,(0,z.jsx)(c,{id:`u3BOHd`,values:{fileCount:g}})]}):null]})]})]}):(0,z.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,z.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:(0,z.jsx)(c,{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,z.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,z.jsx)(`div`,{className:`flex-1 overflow-y-auto`,"data-testid":`activity-panel-body`,children:r===`loading`&&n===null?(0,z.jsx)(G,{}):r===`error`&&i?(0,z.jsx)(K,{error:i,onRetry:a}):n===null?(0,z.jsx)(he,{}):(0,z.jsxs)(z.Fragment,{children:[!n.sessionAlive&&h!==null?(0,z.jsx)(Y,{lastTs:h}):null,n.files.length===0?(0,z.jsx)(he,{}):n.files.map(e=>(0,z.jsx)(V,{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,z.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 $(e){let t=(0,I.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,{_:a}=l(),{docPanelAgentId:c,closeActivityPanel:u}=o(),{openTargetTransition:d}=s(),{pageMeta:f}=y(),{data:p,status:m,error:h,reload:g,fetchBurstDiff:_}=oe(c);if(c===null){let e;return t[2]!==u||t[3]!==i?(e=(0,z.jsx)(q,{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(F({kind:`doc`,target:e,docName:e},f)),W(e)},t[5]=d,t[6]=f,t[7]=v):v=t[7];let b=v,x;t[8]!==a||t[9]!==p||t[10]!==c||t[11]!==g?(x=async e=>{try{await H({connectionId:c,docName:e,scope:`last`,agentName:p?.agent?.displayName}),g()}catch(e){let t=e,n=t instanceof Error?t.message:String(t);T.error(a({id:`EqrC_R`,values:{message:n}})),g()}},t[8]=a,t[9]=p,t[10]=c,t[11]=g,t[12]=x):x=t[12];let S=x,C;t[13]!==a||t[14]!==p||t[15]!==c||t[16]!==g?(C=async e=>{try{await H({connectionId:c,docName:e,scope:`file`,agentName:p?.agent?.displayName}),T.success(a({id:`pRc-Im`,values:{docName:e}})),g()}catch(e){let t=e,n=t instanceof Error?t.message:String(t);T.error(a({id:`7KeV5F`,values:{message:n}})),g()}},t[13]=a,t[14]=p,t[15]=c,t[16]=g,t[17]=C):C=t[17];let w=C,E;return t[18]!==u||t[19]!==p||t[20]!==h||t[21]!==_||t[22]!==b||t[23]!==w||t[24]!==S||t[25]!==g||t[26]!==i||t[27]!==m?(E=(0,z.jsx)(Q,{data:p,status:m,error:h,reload:g,fetchBurstDiff:_,onExit:u,onNavigate:b,onUndoLast:S,onUndoAll:w,showBackButton:i}),t[18]=u,t[19]=p,t[20]=h,t[21]=_,t[22]=b,t[23]=w,t[24]=S,t[25]=g,t[26]=i,t[27]=m,t[28]=E):E=t[28],E}export{$ as ActivityModeContent};