@inkeep/open-knowledge 0.30.2 → 0.31.0-beta.1

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 (332) 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 +58 -68
  5. package/dist/constants-hNkAg6Qk.mjs +2 -0
  6. package/dist/index.d.mts +92 -1
  7. package/dist/index.mjs +1 -1
  8. package/dist/init-5nxeHQJi.mjs +1 -0
  9. package/dist/{init-C3-tMyGu.mjs → init-M3As2OOI.mjs} +11 -11
  10. package/dist/{is-object-Cg453afR.mjs → is-object-Cie0xXKD.mjs} +1 -1
  11. package/dist/{launch-json-removal-BLUsKChe.mjs → launch-json-removal-6h3pmbkP.mjs} +2 -2
  12. package/dist/loader-DSMGw3qx.mjs +1 -0
  13. package/dist/{loader-f4c1taQz.mjs → loader-DToPJlMU.mjs} +2 -2
  14. package/dist/{preview-DocBavwZ.mjs → preview-COkYTuKh.mjs} +2 -2
  15. package/dist/preview-De2-yIy7.mjs +1 -0
  16. package/dist/public/assets/ActivityModeContent-C1jtV-hU.js +2 -0
  17. package/dist/public/assets/CodeMirrorPropInput-DiXxMe7E.js +3 -0
  18. package/dist/public/assets/ConsentDialogBody-DUEo7dzd.js +2 -0
  19. package/dist/public/assets/DocumentContext-5toIZ8hA.js +35 -0
  20. package/dist/public/assets/EnableSyncConfirmDialog-BRUoKGlI.js +1 -0
  21. package/dist/public/assets/{GraphPanel-CJcaT4ZV.js → GraphPanel-CAT7ozBx.js} +3 -3
  22. package/dist/public/assets/ManagedArtifactProperties-CGEPiwpI.js +1 -0
  23. package/dist/public/assets/McpConsentDialogBody-DfJ3dXdV.js +1 -0
  24. package/dist/public/assets/{MermaidDocEditor-DBwiC1Iv.js → MermaidDocEditor-Dg8dOZ9W.js} +1 -1
  25. package/dist/public/assets/PropertyPanel-BMHDSIGn.js +2 -0
  26. package/dist/public/assets/ReportBugDialogBody-C_Q3PS3L.js +2 -0
  27. package/dist/public/assets/SettingsDialogBody-CfzWeNyS.js +7 -0
  28. package/dist/public/assets/ShareBranchSwitchDialog-CWwC7UJv.js +1 -0
  29. package/dist/public/assets/ShareReceiveDialog-4FwHQsF4.js +1 -0
  30. package/dist/public/assets/ShareReceiveMissDialog-o0LerOQ_.js +1 -0
  31. package/dist/public/assets/SkillEditorActions-C3Pt-Yag.js +1 -0
  32. package/dist/public/assets/SourceEditor-Bem9oxYY.js +1 -0
  33. package/dist/public/assets/{TerminalPanel-CR5UcwIn.js → TerminalPanel-Dnfkoo0l.js} +3 -3
  34. package/dist/public/assets/{_baseFor-CCfTEsdD.js → _baseFor-VECk3xZB.js} +1 -1
  35. package/dist/public/assets/agent-presence-Dp6Wg18I.js +1 -0
  36. package/dist/public/assets/{arc-lAkd3r-L.js → arc-CxehPN-O.js} +1 -1
  37. package/dist/public/assets/architecture-YZFGNWBL-DsxJN6Kz.js +1 -0
  38. package/dist/public/assets/{architectureDiagram-Q4EWVU46-BRnvRY5Q.js → architectureDiagram-Q4EWVU46-BP3qpyaD.js} +1 -1
  39. package/dist/public/assets/arrow-up-right-Vg7lRNno.js +1 -0
  40. package/dist/public/assets/auth-state-cache-xkP6pnyp.js +11 -0
  41. package/dist/public/assets/{blockDiagram-DXYQGD6D-DK-9tYVp.js → blockDiagram-DXYQGD6D-B5TD8A38.js} +1 -1
  42. package/dist/public/assets/{c4Diagram-AHTNJAMY-lOxwQVJ2.js → c4Diagram-AHTNJAMY-DXobwygF.js} +1 -1
  43. package/dist/public/assets/calendar-DvL8Q5iT.js +1 -0
  44. package/dist/public/assets/channel-DVu0OxhH.js +1 -0
  45. package/dist/public/assets/check-CBLIjSIa.js +1 -0
  46. package/dist/public/assets/checkbox-09LNjybZ.js +1 -0
  47. package/dist/public/assets/chevron-down-D2qF2W9D.js +1 -0
  48. package/dist/public/assets/chevron-left-SSPDkqEW.js +1 -0
  49. package/dist/public/assets/chevron-right-C6588edp.js +1 -0
  50. package/dist/public/assets/{chunk-2KRD3SAO-D1p7fU3I.js → chunk-2KRD3SAO-DDUdr-iX.js} +1 -1
  51. package/dist/public/assets/{chunk-336JU56O-K0-WqSB1.js → chunk-336JU56O-B_KFr_Bs.js} +2 -2
  52. package/dist/public/assets/chunk-426QAEUC-RFGaT71Y.js +1 -0
  53. package/dist/public/assets/{chunk-4BX2VUAB-Ce60rzXr.js → chunk-4BX2VUAB-DRfG-ueY.js} +1 -1
  54. package/dist/public/assets/{chunk-4TB4RGXK-Bcpr4K8K.js → chunk-4TB4RGXK-B0Gnlc8Z.js} +1 -1
  55. package/dist/public/assets/chunk-55IACEB6-DAOIsDKo.js +1 -0
  56. package/dist/public/assets/{chunk-5FUZZQ4R-WUVPPhbh.js → chunk-5FUZZQ4R-CVl_7PAT.js} +1 -1
  57. package/dist/public/assets/{chunk-5PVQY5BW-DSuJYE-B.js → chunk-5PVQY5BW-Cfkq4RiL.js} +1 -1
  58. package/dist/public/assets/{chunk-67CJDMHE-CMHniVm1.js → chunk-67CJDMHE-G9bUyIhz.js} +1 -1
  59. package/dist/public/assets/{chunk-7N4EOEYR-BnaZcLw1.js → chunk-7N4EOEYR-URuUKEXP.js} +1 -1
  60. package/dist/public/assets/{chunk-AA7GKIK3-N9zR7tEI.js → chunk-AA7GKIK3-DRCEQeZY.js} +1 -1
  61. package/dist/public/assets/{chunk-BSJP7CBP-D8qH6A-U.js → chunk-BSJP7CBP-DGKfJILj.js} +1 -1
  62. package/dist/public/assets/{chunk-CIAEETIT-DG1ExqXf.js → chunk-CIAEETIT-C-4SSDk6.js} +1 -1
  63. package/dist/public/assets/{chunk-EDXVE4YY-BJMsRQKs.js → chunk-EDXVE4YY-B7GwVaSD.js} +1 -1
  64. package/dist/public/assets/{chunk-ENJZ2VHE-q2eFK8Oq.js → chunk-ENJZ2VHE-BaPHkOPd.js} +1 -1
  65. package/dist/public/assets/{chunk-FMBD7UC4-BRFfFZUV.js → chunk-FMBD7UC4-Sg4QfR2X.js} +1 -1
  66. package/dist/public/assets/{chunk-FOC6F5B3-DbCYqa4I.js → chunk-FOC6F5B3-D76iMJUf.js} +1 -1
  67. package/dist/public/assets/{chunk-ICPOFSXX-DpFBQyTN.js → chunk-ICPOFSXX-DlM8yc3o.js} +2 -2
  68. package/dist/public/assets/{chunk-K5T4RW27-C5T8nhQn.js → chunk-K5T4RW27-o4pGUO6-.js} +1 -1
  69. package/dist/public/assets/{chunk-KGLVRYIC-DK87tkyy.js → chunk-KGLVRYIC-DlaCM317.js} +1 -1
  70. package/dist/public/assets/{chunk-LIHQZDEY-h3Er4C0s.js → chunk-LIHQZDEY-wt2Qc-rg.js} +1 -1
  71. package/dist/public/assets/{chunk-ORNJ4GCN-BxcDDNpi.js → chunk-ORNJ4GCN-BHgDQV41.js} +1 -1
  72. package/dist/public/assets/{chunk-OYMX7WX6-_s09vzcl.js → chunk-OYMX7WX6-BHQCcMht.js} +1 -1
  73. package/dist/public/assets/chunk-QZHKN3VN-BcpoMdLu.js +1 -0
  74. package/dist/public/assets/{chunk-U2HBQHQK-A9XuAVDt.js → chunk-U2HBQHQK-D4H3Zear.js} +1 -1
  75. package/dist/public/assets/{chunk-X2U36JSP-ByDdWxg2.js → chunk-X2U36JSP-ByMMuCmz.js} +1 -1
  76. package/dist/public/assets/{chunk-XPW4576I-DZebSSCr.js → chunk-XPW4576I-DGAGb6jI.js} +1 -1
  77. package/dist/public/assets/{chunk-YZCP3GAM-BHEVWDS1.js → chunk-YZCP3GAM-CLKcOka4.js} +1 -1
  78. package/dist/public/assets/{chunk-ZZ45TVLE-eIBBBHMO.js → chunk-ZZ45TVLE-nqD2epOe.js} +1 -1
  79. package/dist/public/assets/circle-alert-sOrK-E2e.js +1 -0
  80. package/dist/public/assets/classDiagram-6PBFFD2Q-MnKF6SyF.js +1 -0
  81. package/dist/public/assets/classDiagram-v2-HSJHXN6E-zCakvYeI.js +1 -0
  82. package/dist/public/assets/clipboard-adapter-BscVzpz1.js +1 -0
  83. package/dist/public/assets/clone-C-i8X3vQ.js +1 -0
  84. package/dist/public/assets/collapsible-Cc4bgirL.js +1 -0
  85. package/dist/public/assets/{config-provider-dZze7ypK.js → config-provider-2uXvVEZR.js} +2 -2
  86. package/dist/public/assets/{cose-bilkent-S5V4N54A-wGFgKvnX.js → cose-bilkent-S5V4N54A-B2yzzZk8.js} +1 -1
  87. package/dist/public/assets/createLucideIcon-BPhNPfG7.js +1 -0
  88. package/dist/public/assets/{dagre-B3d6sa-P.js → dagre-BIgQuqiZ.js} +1 -1
  89. package/dist/public/assets/{dagre-KV5264BT-JDUs3Ywf.js → dagre-KV5264BT-D7ZMiRem.js} +1 -1
  90. package/dist/public/assets/{diagram-5BDNPKRD-Dg4G7P9n.js → diagram-5BDNPKRD-BYEpe_ZJ.js} +1 -1
  91. package/dist/public/assets/{diagram-G4DWMVQ6-_btq3fcX.js → diagram-G4DWMVQ6-DxQlpGFr.js} +1 -1
  92. package/dist/public/assets/{diagram-MMDJMWI5-CcvSXwi1.js → diagram-MMDJMWI5-RJKi5ZMs.js} +1 -1
  93. package/dist/public/assets/{diagram-TYMM5635-D22ra0aB.js → diagram-TYMM5635-Cbv6Q-Tj.js} +1 -1
  94. package/dist/public/assets/dialog-CZK_GJbX.js +45 -0
  95. package/dist/public/assets/{dist-Csh9y0a0.js → dist-5OMiBr1O.js} +1 -1
  96. package/dist/public/assets/dist-BhVkC6Rc.js +1 -0
  97. package/dist/public/assets/{dist-C71V3z3d.js → dist-C0zHgAnC.js} +1 -1
  98. package/dist/public/assets/{dist-sRKGD4vA.js → dist-C1stM53P.js} +1 -1
  99. package/dist/public/assets/dist-CCW5cnWo.js +1 -0
  100. package/dist/public/assets/{dist-B_WDz9Fr.js → dist-CD524qWG.js} +1 -1
  101. package/dist/public/assets/{dist-Gaq2suxg.js → dist-CK-u_yUG.js} +1 -1
  102. package/dist/public/assets/dist-CaqI7EF5.js +1 -0
  103. package/dist/public/assets/{dist-COmtpu4e.js → dist-Ctotkt8m.js} +1 -1
  104. package/dist/public/assets/dist-D-nYc0c5.js +1 -0
  105. package/dist/public/assets/{dist-DYyQPSDl.js → dist-DIOoTUYz.js} +1 -1
  106. package/dist/public/assets/{dist-ClYcK7Yq.js → dist-DJkVfTTW.js} +1 -1
  107. package/dist/public/assets/{dist-BzxczcQx.js → dist-DJzR_Ier.js} +1 -1
  108. package/dist/public/assets/{dist-BtuJEC9v.js → dist-DLPICmSw.js} +1 -1
  109. package/dist/public/assets/dist-DlBs2Z86.js +1 -0
  110. package/dist/public/assets/{dist-BxbpSpXO.js → dist-DwYhX11V.js} +1 -1
  111. package/dist/public/assets/dist-K3kyyBcW.js +1 -0
  112. package/dist/public/assets/{dist-Dot7Y1W_.js → dist-V49XHj-a.js} +1 -1
  113. package/dist/public/assets/{dist-DmkgvB1A.js → dist-yzeYbK6D.js} +1 -1
  114. package/dist/public/assets/{doc-hash-Ce3LmfP6.js → doc-hash-B37_BwmO.js} +1 -1
  115. package/dist/public/assets/{documents-events-BzQ1LRmI.js → documents-events-Bf8O52Ha.js} +1 -1
  116. package/dist/public/assets/{erDiagram-SMLLAGMA-Dj8YMxjW.js → erDiagram-SMLLAGMA-BmMOegIt.js} +1 -1
  117. package/dist/public/assets/eye-W_Da58Av.js +1 -0
  118. package/dist/public/assets/file-text-et24uQST.js +1 -0
  119. package/dist/public/assets/{file-tree-adapter-BoRujkp5.js → file-tree-adapter-3d-SPVop.js} +1 -1
  120. package/dist/public/assets/{flatten-ujIQdAhg.js → flatten-CCmz8_dj.js} +1 -1
  121. package/dist/public/assets/{flowDiagram-DWJPFMVM-DDcEWD-q.js → flowDiagram-DWJPFMVM-0LqPtkiA.js} +1 -1
  122. package/dist/public/assets/folder-open-BO3O3WRb.js +1 -0
  123. package/dist/public/assets/{ganttDiagram-T4ZO3ILL-CKgBVe7I.js → ganttDiagram-T4ZO3ILL-DRsSWVHe.js} +1 -1
  124. package/dist/public/assets/git-branch-Bb5seqP3.js +1 -0
  125. package/dist/public/assets/gitGraph-7Q5UKJZL-D_-MQMqR.js +1 -0
  126. package/dist/public/assets/{gitGraphDiagram-UUTBAWPF-5Yvrsclr.js → gitGraphDiagram-UUTBAWPF-BdADm4E0.js} +1 -1
  127. package/dist/public/assets/{graphlib-BKd5zl5M.js → graphlib-Dg3M3E4b.js} +1 -1
  128. package/dist/public/assets/index-Byr-pQd3.css +1 -0
  129. package/dist/public/assets/index-C6gsky75.js +2003 -0
  130. package/dist/public/assets/info-OMHHGYJF-BszLPAsY.js +1 -0
  131. package/dist/public/assets/info-p7xnknfW.js +1 -0
  132. package/dist/public/assets/{infoDiagram-42DDH7IO-DWX2gsFq.js → infoDiagram-42DDH7IO-qvYhaJaR.js} +1 -1
  133. package/dist/public/assets/input-DBQZgTXT.js +1 -0
  134. package/dist/public/assets/{isEmpty-DO9Crefy.js → isEmpty-C5m2-RSe.js} +1 -1
  135. package/dist/public/assets/isSymbol-bbBleIZC.js +1 -0
  136. package/dist/public/assets/{ishikawaDiagram-UXIWVN3A-BRI718L_.js → ishikawaDiagram-UXIWVN3A-CcivmKPd.js} +1 -1
  137. package/dist/public/assets/{journeyDiagram-VCZTEJTY-7vOUzwhV.js → journeyDiagram-VCZTEJTY-ouWVthki.js} +1 -1
  138. package/dist/public/assets/{kanban-definition-6JOO6SKY-DPb75KVR.js → kanban-definition-6JOO6SKY-ZhUMH8F2.js} +1 -1
  139. package/dist/public/assets/{keyboard-shortcuts-B5l045PW.js → keyboard-shortcuts-BxD83XhC.js} +1 -1
  140. package/dist/public/assets/label-BpH34DoN.js +1 -0
  141. package/dist/public/assets/{line-CSmMFPEZ.js → line-So0Nf7v2.js} +1 -1
  142. package/dist/public/assets/{linear-2o-zj9Qh.js → linear-7dqmcJYs.js} +1 -1
  143. package/dist/public/assets/loader-circle-Cu01Ckhe.js +1 -0
  144. package/dist/public/assets/{mermaid-parser.core-Dx4yPDvJ.js → mermaid-parser.core-gjoLdFzV.js} +2 -2
  145. package/dist/public/assets/{mermaid.core-B0jTlahc.js → mermaid.core-DIaQcKcu.js} +3 -3
  146. package/dist/public/assets/{mindmap-definition-QFDTVHPH-CEt4YJY1.js → mindmap-definition-QFDTVHPH-BpktrSi5.js} +1 -1
  147. package/dist/public/assets/miss-dialog-store-DxVemLe3.js +1 -0
  148. package/dist/public/assets/{navigation-targets-XC4PBjfz.js → navigation-targets-DFne-srR.js} +1 -1
  149. package/dist/public/assets/{now-By2-TWwE.js → now-Dslec7Y8.js} +1 -1
  150. package/dist/public/assets/{open-managed-artifact-tab-DA0lLz1S.js → open-managed-artifact-tab-B1BoyKiE.js} +1 -1
  151. package/dist/public/assets/{ordinal-CCfGWVix.js → ordinal-GH4e7Z1z.js} +1 -1
  152. package/dist/public/assets/packet-4T2RLAQJ-Bv1Aae8C.js +1 -0
  153. package/dist/public/assets/panel-HcGnbQ9h.js +1 -0
  154. package/dist/public/assets/pending-receive-nav-store-DCHjTg-k.js +1 -0
  155. package/dist/public/assets/pie-ZZUOXDRM-CWm6tOdZ.js +1 -0
  156. package/dist/public/assets/{pieDiagram-DEJITSTG-DaX8KHz8.js → pieDiagram-DEJITSTG-BPZLf8gB.js} +1 -1
  157. package/dist/public/assets/project-paths-Bg2cu_Xr.js +1 -0
  158. package/dist/public/assets/prop-types-DXfg1BnH.js +1 -0
  159. package/dist/public/assets/{propagation-api-BHhJitgG.js → propagation-api-C0PBUfbG.js} +1 -1
  160. package/dist/public/assets/{quadrantDiagram-34T5L4WZ-DmqJPLei.js → quadrantDiagram-34T5L4WZ-pdw_MogG.js} +1 -1
  161. package/dist/public/assets/radar-PYXPWWZC-BnuozSTl.js +1 -0
  162. package/dist/public/assets/radio-group-CkH5F_ZT.js +1 -0
  163. package/dist/public/assets/{receive-store-BaQla7GO.js → receive-store-vDvyLF_T.js} +2 -2
  164. package/dist/public/assets/{reduce-C_-1aIfA.js → reduce-CmXLDnl6.js} +1 -1
  165. package/dist/public/assets/refresh-cw-C9i-ShKk.js +1 -0
  166. package/dist/public/assets/{requirementDiagram-MS252O5E-D6rjssTu.js → requirementDiagram-MS252O5E-BPFpj55s.js} +1 -1
  167. package/dist/public/assets/{sankeyDiagram-XADWPNL6-DLPqNSxl.js → sankeyDiagram-XADWPNL6-BlIkXMJT.js} +1 -1
  168. package/dist/public/assets/{selection-context-Q-Ojx168.js → selection-context-CaK5JqJX.js} +1 -1
  169. package/dist/public/assets/{sequenceDiagram-FGHM5R23-7YmLLx2D.js → sequenceDiagram-FGHM5R23-DiHLgJYc.js} +1 -1
  170. package/dist/public/assets/skill-actions-z_sZDeWy.js +1 -0
  171. package/dist/public/assets/skills-api-CQ8dGACz.js +1 -0
  172. package/dist/public/assets/{src-DR1IlxwI.js → src-CqaRgyJX.js} +1 -1
  173. package/dist/public/assets/{src-DHOupE17.js → src-D_zlKpkH.js} +1 -1
  174. package/dist/public/assets/{stateDiagram-FHFEXIEX-BcQiMDhd.js → stateDiagram-FHFEXIEX-BvvfLH6H.js} +1 -1
  175. package/dist/public/assets/stateDiagram-v2-QKLJ7IA2-Ddr1j6xz.js +1 -0
  176. package/dist/public/assets/{target-navigation-intent-Bs-B8CMa.js → target-navigation-intent-fp9D_EWj.js} +1 -1
  177. package/dist/public/assets/{telemetry-impl-DGG3JG6S.js → telemetry-impl-DkfWYdsZ.js} +2 -2
  178. package/dist/public/assets/telemetry-startup-B2tAiMsF.js +1 -0
  179. package/dist/public/assets/textarea-BBYgAifm.js +1 -0
  180. package/dist/public/assets/{timeline-definition-GMOUNBTQ-D2PEfPtg.js → timeline-definition-GMOUNBTQ-Cm-_wwCn.js} +1 -1
  181. package/dist/public/assets/toggle-group-B_aSxEq-.js +1 -0
  182. package/dist/public/assets/tooltip-DZYAkZo5.js +1 -0
  183. package/dist/public/assets/trash-2-410fw8eF.js +1 -0
  184. package/dist/public/assets/treeView-SZITEDCU-DKwVPz-3.js +1 -0
  185. package/dist/public/assets/treemap-W4RFUUIX-D4LXGVs_.js +1 -0
  186. package/dist/public/assets/triangle-alert-Bo8gNh02.js +1 -0
  187. package/dist/public/assets/typing-burst-detector-D2Bw0GR2.js +6 -0
  188. package/dist/public/assets/{vennDiagram-DHZGUBPP-C7vJQ4cy.js → vennDiagram-DHZGUBPP-rndTcHCv.js} +1 -1
  189. package/dist/public/assets/wardley-RL74JXVD-BivuXjN1.js +1 -0
  190. package/dist/public/assets/{wardleyDiagram-NUSXRM2D-cZLQAvwn.js → wardleyDiagram-NUSXRM2D-D0g460BL.js} +1 -1
  191. package/dist/public/assets/workspace-paths-DkmFj3_t.js +1 -0
  192. package/dist/public/assets/worktree-store-CLuGV1SL.js +1 -0
  193. package/dist/public/assets/x-BIoRq4ww.js +1 -0
  194. package/dist/public/assets/{xychartDiagram-5P7HB3ND-C7hMSIXA.js → xychartDiagram-5P7HB3ND-DzjJ5eMr.js} +1 -1
  195. package/dist/public/index.html +88 -82
  196. package/dist/{repair-launch-json-DFFNAgt4.mjs → repair-launch-json-B3tCb6mc.mjs} +2 -2
  197. package/dist/{repair-mcp-configs-C_cIyZxQ.mjs → repair-mcp-configs-CEW6gLAh.mjs} +2 -2
  198. package/dist/{repair-skills-DRQ6zPpF.mjs → repair-skills-8TG-7oqC.mjs} +2 -2
  199. package/dist/repair-skills-C0-d0sWC.mjs +1 -0
  200. package/dist/src-DpeAxWxV.mjs +21 -0
  201. package/dist/start-DNTGzBuC.mjs +1 -0
  202. package/dist/{start-DX3p80qb.mjs → start-Df6dIbx1.mjs} +2 -2
  203. package/dist/{write-project-skill-fM8HWeYm.mjs → write-project-skill-CbSfzwa8.mjs} +1 -1
  204. package/package.json +1 -1
  205. package/dist/constants-KPTyVFV8.mjs +0 -2
  206. package/dist/init-DFr8pToX.mjs +0 -1
  207. package/dist/loader-DwcZjA-t.mjs +0 -1
  208. package/dist/preview-DbnyxVMM.mjs +0 -1
  209. package/dist/public/assets/ActivityModeContent-CvscUOlB.js +0 -2
  210. package/dist/public/assets/CodeMirrorPropInput-GWGwbu-Z.js +0 -3
  211. package/dist/public/assets/ConsentDialogBody-BuKqWdML.js +0 -2
  212. package/dist/public/assets/DocumentContext-Dl32cms8.js +0 -35
  213. package/dist/public/assets/EnableSyncConfirmDialog-84rkuitb.js +0 -1
  214. package/dist/public/assets/ManagedArtifactProperties-BchMXJov.js +0 -1
  215. package/dist/public/assets/McpConsentDialogBody-CIA51kgu.js +0 -1
  216. package/dist/public/assets/PropertyPanel-Cm9QPZIM.js +0 -2
  217. package/dist/public/assets/SettingsDialogBody-CoRSU9Td.js +0 -7
  218. package/dist/public/assets/ShareBranchSwitchDialog-BenQyIEd.js +0 -1
  219. package/dist/public/assets/ShareReceiveDialog-DWYhHOXw.js +0 -1
  220. package/dist/public/assets/ShareReceiveMissDialog-CPsNjXmy.js +0 -1
  221. package/dist/public/assets/SkillEditorActions-CODXEDz3.js +0 -1
  222. package/dist/public/assets/SourceEditor-vePDOFlu.js +0 -1
  223. package/dist/public/assets/agent-presence-DKQJl08k.js +0 -1
  224. package/dist/public/assets/architecture-YZFGNWBL-xBtaj0ft.js +0 -1
  225. package/dist/public/assets/arrow-up-right-Crm0Btez.js +0 -1
  226. package/dist/public/assets/auth-state-cache-BIPktuPk.js +0 -11
  227. package/dist/public/assets/button-cneJOVxD.js +0 -1
  228. package/dist/public/assets/calendar-Cpuc24Im.js +0 -1
  229. package/dist/public/assets/channel-Cr8di4AE.js +0 -1
  230. package/dist/public/assets/check-DRRCCRSs.js +0 -1
  231. package/dist/public/assets/checkbox-DurEHAAx.js +0 -1
  232. package/dist/public/assets/chevron-down-BvNcCN1f.js +0 -1
  233. package/dist/public/assets/chevron-left-BEP8MhU3.js +0 -1
  234. package/dist/public/assets/chevron-right-DSNnH-Vb.js +0 -1
  235. package/dist/public/assets/chunk-426QAEUC-DXNyRebD.js +0 -1
  236. package/dist/public/assets/chunk-55IACEB6-dVWfrfbT.js +0 -1
  237. package/dist/public/assets/chunk-QZHKN3VN-BwjAXRaB.js +0 -1
  238. package/dist/public/assets/classDiagram-6PBFFD2Q-DiVFvVhC.js +0 -1
  239. package/dist/public/assets/classDiagram-v2-HSJHXN6E-B1FOCtng.js +0 -1
  240. package/dist/public/assets/clone-C4oDGqJ8.js +0 -1
  241. package/dist/public/assets/collapsible-mJvufeMs.js +0 -1
  242. package/dist/public/assets/dialog-DdHaoAGK.js +0 -45
  243. package/dist/public/assets/dist-BSkHa6UR.js +0 -1
  244. package/dist/public/assets/dist-CoyydoqN.js +0 -1
  245. package/dist/public/assets/dist-CyYz03up.js +0 -1
  246. package/dist/public/assets/dist-Dkr4jGYv.js +0 -1
  247. package/dist/public/assets/dist-fpPv-rVb.js +0 -1
  248. package/dist/public/assets/eye-WB1l5kVb.js +0 -1
  249. package/dist/public/assets/folder-open-BF5DIykr.js +0 -1
  250. package/dist/public/assets/git-branch-q0qWPEwd.js +0 -1
  251. package/dist/public/assets/gitGraph-7Q5UKJZL-C_wYiB1L.js +0 -1
  252. package/dist/public/assets/index-Ba1S3D-p.css +0 -1
  253. package/dist/public/assets/index-CKB7bl9B.js +0 -2003
  254. package/dist/public/assets/info-BlYnsVoP.js +0 -1
  255. package/dist/public/assets/info-OMHHGYJF-Dr8H9qWn.js +0 -1
  256. package/dist/public/assets/input-tW78aNaR.js +0 -1
  257. package/dist/public/assets/isSymbol-BhFc7brD.js +0 -1
  258. package/dist/public/assets/label-DPn_C7ZD.js +0 -1
  259. package/dist/public/assets/loader-circle-B7Gv_Djz.js +0 -1
  260. package/dist/public/assets/miss-dialog-store-PJQ_kr0I.js +0 -1
  261. package/dist/public/assets/packet-4T2RLAQJ-BqCK9xgc.js +0 -1
  262. package/dist/public/assets/panel-BH2RZRZQ.js +0 -1
  263. package/dist/public/assets/pending-receive-nav-store-lNMDQCmC.js +0 -1
  264. package/dist/public/assets/pie-ZZUOXDRM-C4ahAmji.js +0 -1
  265. package/dist/public/assets/project-paths-Bdm7wr4i.js +0 -1
  266. package/dist/public/assets/prop-types-CbtJ1iyP.js +0 -1
  267. package/dist/public/assets/radar-PYXPWWZC-BBRhwenM.js +0 -1
  268. package/dist/public/assets/radio-group-B0RG5um-.js +0 -1
  269. package/dist/public/assets/refresh-cw-CluaccKu.js +0 -1
  270. package/dist/public/assets/skill-actions-D2II4Qq4.js +0 -1
  271. package/dist/public/assets/skills-api-bbofiqW7.js +0 -1
  272. package/dist/public/assets/stateDiagram-v2-QKLJ7IA2-Cv6psfet.js +0 -1
  273. package/dist/public/assets/telemetry-startup-DxsH0f-U.js +0 -1
  274. package/dist/public/assets/textarea-DtAQz2_P.js +0 -1
  275. package/dist/public/assets/toggle-group-CXHn0FKi.js +0 -1
  276. package/dist/public/assets/tooltip-FFg0kVkD.js +0 -1
  277. package/dist/public/assets/trash-2-Dcpo0Di-.js +0 -1
  278. package/dist/public/assets/treeView-SZITEDCU-C9VZH09i.js +0 -1
  279. package/dist/public/assets/treemap-W4RFUUIX-sLmeiUzQ.js +0 -1
  280. package/dist/public/assets/triangle-alert-c3yCucJv.js +0 -1
  281. package/dist/public/assets/typing-burst-detector-CBiF5H7t.js +0 -6
  282. package/dist/public/assets/wardley-RL74JXVD-DxEEV_jo.js +0 -1
  283. package/dist/public/assets/workspace-paths-BBX7G5gP.js +0 -1
  284. package/dist/repair-skills-C4SUGawj.mjs +0 -1
  285. package/dist/src-DPqsMpTr.mjs +0 -11
  286. package/dist/start-BA1WmaQA.mjs +0 -1
  287. /package/dist/public/assets/{ActivityPanelDiffView-B6QdoucA.js → ActivityPanelDiffView-BUS_IClA.js} +0 -0
  288. /package/dist/public/assets/{__vite-browser-external-BR8_t-ok.js → __vite-browser-external-nMYNicjc.js} +0 -0
  289. /package/dist/public/assets/{array-CuvIgdMf.js → array-DA62ss4d.js} +0 -0
  290. /package/dist/public/assets/{clike-BpCX2P2I.js → clike-f5rGWX5o.js} +0 -0
  291. /package/dist/public/assets/{colors-viOD3yoc.js → colors-BtJnRWTu.js} +0 -0
  292. /package/dist/public/assets/{config-context-CE3SCVYc.js → config-context-GBTLA0Td.js} +0 -0
  293. /package/dist/public/assets/{cursor-CjNH7VrK.js → cursor-CouJSC9c.js} +0 -0
  294. /package/dist/public/assets/{cytoscape.esm-mXzA4jyQ.js → cytoscape.esm-DAexRXdS.js} +0 -0
  295. /package/dist/public/assets/{defaultLocale-Brze29Nm.js → defaultLocale-DjcXuYt0.js} +0 -0
  296. /package/dist/public/assets/{desktop-bridge-types-NXCK8Pd7.js → desktop-bridge-types-DUvVV0tT.js} +0 -0
  297. /package/dist/public/assets/{diff-B-RpHLEu.js → diff-C6rPA7NX.js} +0 -0
  298. /package/dist/public/assets/{dist-BvBijIC5.js → dist-Bvqpz5aH.js} +0 -0
  299. /package/dist/public/assets/{dist-BzWUi0nJ.js → dist-DXmpSd5X.js} +0 -0
  300. /package/dist/public/assets/{dist-CepaWG6n.js → dist-QYTl87xy.js} +0 -0
  301. /package/dist/public/assets/{documents-fetch-oup83IZh.js → documents-fetch-D9Azkuau.js} +0 -0
  302. /package/dist/public/assets/{external-link-DvDOavYT.js → external-link-PPmVWR7S.js} +0 -0
  303. /package/dist/public/assets/{file-tree-rename-validation-DeKIxKnc.js → file-tree-rename-validation-DEJ31Vcw.js} +0 -0
  304. /package/dist/public/assets/{floating-ui.dom-DVRWCLii.js → floating-ui.dom-B3TJy2Tg.js} +0 -0
  305. /package/dist/public/assets/{format-EMqSStmm.js → format-ReH7V0UD.js} +0 -0
  306. /package/dist/public/assets/{go-3CbI6agw.js → go-BDL-nvej.js} +0 -0
  307. /package/dist/public/assets/{init-AaQV2WsU.js → init-BcRdj30F.js} +0 -0
  308. /package/dist/public/assets/{isObjectLike-D3Jc2RN1.js → isObjectLike-p4oxO3k2.js} +0 -0
  309. /package/dist/public/assets/{katex-BunQWEOH.js → katex-lkho_UhZ.js} +0 -0
  310. /package/dist/public/assets/{lua-CImTx43q.js → lua-DazQKUZ0.js} +0 -0
  311. /package/dist/public/assets/{mcp-consent-store-BxRtlIhJ.js → mcp-consent-store-3q0L29vA.js} +0 -0
  312. /package/dist/public/assets/{min-CIIm51Yo.js → min-BBkt5AXx.js} +0 -0
  313. /package/dist/public/assets/{panzoom.es-B9PeX97a.js → panzoom.es-CuUBMiI5.js} +0 -0
  314. /package/dist/public/assets/{parse-api-error-CqtA8BcL.js → parse-api-error-D_SUnYAN.js} +0 -0
  315. /package/dist/public/assets/{path-B33pvNxs.js → path-DO8zQ-Ae.js} +0 -0
  316. /package/dist/public/assets/{pdf-WLEpkBFf.js → pdf-CbXPrrUD.js} +0 -0
  317. /package/dist/public/assets/{pdf.worker-BZkygqjt.js → pdf.worker-XGhSae8l.js} +0 -0
  318. /package/dist/public/assets/{perl-Blo9V_bV.js → perl-BaZItvTQ.js} +0 -0
  319. /package/dist/public/assets/{properties-BbTKbq9k.js → properties-CuaVqlKt.js} +0 -0
  320. /package/dist/public/assets/{r-BoaXxHWr.js → r-IUsFwQdS.js} +0 -0
  321. /package/dist/public/assets/{rough.esm-DfPytGQ-.js → rough.esm-DWDlLNAi.js} +0 -0
  322. /package/dist/public/assets/{ruby-Dl-I4pxG.js → ruby-BWibniew.js} +0 -0
  323. /package/dist/public/assets/{share-metadata-rows-BttnPmuW.js → share-metadata-rows-VY-5eTfA.js} +0 -0
  324. /package/dist/public/assets/{shell-BbGOQhIp.js → shell-DUveK2Hb.js} +0 -0
  325. /package/dist/public/assets/{sql-Bwur_qe2.js → sql-C6MOB-cH.js} +0 -0
  326. /package/dist/public/assets/{src-COe6dO0Z.js → src-C1bTuxCq.js} +0 -0
  327. /package/dist/public/assets/{startup-marks-DDtA9pbt.js → startup-marks-DdXX18dm.js} +0 -0
  328. /package/dist/public/assets/{stex-4t0JIuX_.js → stex-C0Jw9RbH.js} +0 -0
  329. /package/dist/public/assets/{swift-T0hDoOb-.js → swift-BD9rjiqY.js} +0 -0
  330. /package/dist/public/assets/{toml-DDz4twot.js → toml-25JKpH7B.js} +0 -0
  331. /package/dist/public/assets/{trace-api-D6fqC5Nw.js → trace-api-DN18ByDo.js} +0 -0
  332. /package/dist/public/assets/{w3c-keyname-CHcJEDvG.js → w3c-keyname-VSld09PZ.js} +0 -0
@@ -0,0 +1,2 @@
1
+ import"./server-lock-iLcBw_q0-6FEAZKHu.mjs";var e=`0.31.0-beta.1`;const t=`config.yml`,n=e;export{n,t};
2
+ //# sourceMappingURL=constants-hNkAg6Qk.mjs.map
package/dist/index.d.mts CHANGED
@@ -93,6 +93,35 @@ declare function makeLazyProbeTokenStore(authFile?: string): {
93
93
  } | null>;
94
94
  };
95
95
  //#endregion
96
+ //#region src/diagnose/bundle.d.ts
97
+ interface DesktopMetadata {
98
+ electronVersion: string;
99
+ packaged: boolean;
100
+ channel: string;
101
+ }
102
+ //#endregion
103
+ //#region src/commands/bug-report-bundle.d.ts
104
+ declare function defaultBugReportZipPath(now?: Date): string;
105
+ /** Structural subset of a pino logger, so callers outside the CLI can inject their own. */
106
+ interface BundleLogger {
107
+ info(payload: Record<string, unknown>, message: string): void;
108
+ warn(payload: Record<string, unknown>, message: string): void;
109
+ }
110
+ /** File copied byte-for-byte into the bundle under `extra/` — never text-scrubbed. */
111
+ interface BundleExtraFile {
112
+ sourcePath: string;
113
+ /** Zip entry name under `extra/`; defaults to the source file's basename. */
114
+ zipName?: string;
115
+ }
116
+ //#endregion
117
+ //#region src/commands/bug-report-redact.d.ts
118
+ /** Apply {@link SECRET_PATTERNS} line by line; report which patterns matched. */
119
+ declare function redactContent(content: string): {
120
+ redacted: string;
121
+ patterns: string[];
122
+ lineCount: number;
123
+ };
124
+ //#endregion
96
125
  //#region src/commands/editors.d.ts
97
126
  type EditorId = CoreEditorId;
98
127
  declare const ALL_EDITOR_IDS: readonly EditorId[];
@@ -1188,5 +1217,67 @@ interface ProjectAiIntegrationsResult {
1188
1217
  }
1189
1218
  declare function writeProjectAiIntegrations(projectDir: string, selectedEditorIds: readonly EditorId[], installOptions?: McpInstallOptions): ProjectAiIntegrationsResult;
1190
1219
  //#endregion
1191
- export { ALL_EDITOR_IDS, EDITOR_LABELS, EDITOR_TARGETS, type EditorId, type EditorMcpResult, type EditorMcpTarget, type ExcludeWriteResult, type ExpectedShareRepo, type GhDetectResult, HOSTS_WITH_USER_SKILL_DIR, type IntegrationWriteOutcome, LAUNCH_CONFIG_NAME, type LoadConfigResult, type McpConfigDeclineEvent, type McpConfigDeclineScope, type McpConfigMigrateEvent, type McpConfigMigrateScope, type McpDeclineReason, type McpEntryClassification, type McpInstallOptions, type McpRemoveOutcome, PATH_SHIM_BEGIN, PATH_SHIM_BLOCK_RE, PATH_SHIM_END, type ParsedGitHubBlobUrl, type ParsedGitHubShareTarget, type ParsedGitHubTreeUrl, type PathDiscovery, type PathInstallConsent, type PathInstallMarker, type PreviewResult, type ProjectAiIntegrationsResult, type ProjectSkillRemoveResult, type ProjectSkillResult, type ResolveProjectRootOptions, type ResolveProjectRootResult, type ShareFolderValidationResult, type SharingMode, type SkillBundleTarget, type TokenStore, type TrackedRefusal, type UserMcpConfigsOptions, addOkPathsToGitExclude, assertProjectPathSafe, buildManagedServerEntry, buildMcpConfigDeclineEvent, buildMcpConfigMigrateEvent, classifyExistingMcpEntry, createTokenStore, detectGh, detectInstalledEditors, formatTrackedRemediation, getExcludedOkPaths, getOkArtifactPaths, isEntryUpToDate, isOwnManagedEntry, loadConfig, makeLazyProbeTokenStore, parseGitHubBlobUrl, parseGitHubShareUrl, parseGitHubTreeUrl, parseGitUrl, pathInstallMarkerPath, previewContent, probeTrackedOkPaths, readExistingMcpEntry, readSharingMode, removeOkPathsFromGitExclude, removeOwnMcpEntry, removeProjectSkill, removeUserGlobalSkillBundle, resolveProjectRoot, runStop, truncatePriorEntry, userGlobalSkillBundleTargets, validateLocalFolderForShare, writeEditorMcpConfig, writeProjectAiIntegrations, writeProjectSkill, writeUserMcpConfigs };
1220
+ //#region src/report-bundle.d.ts
1221
+ type ReportBundleLevel = CoreReportBundleLevel;
1222
+ type ReportBundleSummary = CoreReportBundleSummary;
1223
+ interface CollectReportBundleOptions {
1224
+ level: ReportBundleLevel;
1225
+ /**
1226
+ * Project root (where `.ok/` lives). Omit for a system-wide bundle:
1227
+ * user-level logs + sysinfo only.
1228
+ */
1229
+ projectDir?: string;
1230
+ /** Free-text user note included as `note.txt`. */
1231
+ note?: string;
1232
+ /** Apply redaction (secret-pattern scrub at both levels; doc-name anonymization at `full`). */
1233
+ redact: boolean;
1234
+ /** Zip destination; parent directories are created as needed. */
1235
+ outputPath: string;
1236
+ /** Files included byte-for-byte under `extra/` (e.g. an opted-in minidump) — never scrubbed. */
1237
+ extraFiles?: BundleExtraFile[];
1238
+ /** Override the user-level logs directory (standard-level test seam). */
1239
+ userLogsDir?: string;
1240
+ /**
1241
+ * Collection-progress + warning sink. The full level reports its inventory
1242
+ * via the manifest and uses this only for warnings (e.g. an opted-in extra
1243
+ * file that could not be staged).
1244
+ */
1245
+ logger?: BundleLogger;
1246
+ /**
1247
+ * Host (desktop) metadata source for the bundle's runtime/sysinfo blocks.
1248
+ * Defaults to reading the `OK_DESKTOP_*` env block, so CLI invocations are
1249
+ * unchanged; the desktop app injects its typed metadata here directly
1250
+ * instead of mutating `process.env` (which would leak into any child later
1251
+ * spawned with the main process's env). Returning `null` means "not an
1252
+ * Electron host" and is recorded as such at both levels.
1253
+ */
1254
+ readDesktopEnv?: () => DesktopMetadata | null;
1255
+ }
1256
+ interface ReportBundleResult {
1257
+ zipPath: string;
1258
+ summary: ReportBundleSummary;
1259
+ }
1260
+ /**
1261
+ * Collect a bug-report bundle at the requested detail level and write it as
1262
+ * a zip to `outputPath`.
1263
+ *
1264
+ * - `standard`: the `ok bug-report` content set — user-level logs,
1265
+ * per-project lock/spawn-error + local sink logs, sysinfo. No git/server
1266
+ * dependency.
1267
+ * - `full`: the `ok diagnose bundle` superset — adds telemetry spans, live
1268
+ * server state, runtime metadata, and doc-name anonymization.
1269
+ * Availability-gated: pieces whose source is missing (no running server,
1270
+ * no shadow repo, no telemetry sink) are omitted without error, and the
1271
+ * bundled manifest inventory reflects what was actually included.
1272
+ *
1273
+ * Every full-only artifact is project-scoped, so without a `projectDir` both
1274
+ * levels produce the same system-wide bundle.
1275
+ *
1276
+ * With `redact` on, the secret-pattern scrub applies at both levels; the
1277
+ * full level additionally hashes doc names and masks the content-dir path
1278
+ * (inverse map written as a sidecar next to the zip, never inside it).
1279
+ */
1280
+ declare function collectReportBundle(opts: CollectReportBundleOptions): Promise<ReportBundleResult>;
1281
+ //#endregion
1282
+ export { ALL_EDITOR_IDS, type BundleExtraFile, type BundleLogger, type CollectReportBundleOptions, EDITOR_LABELS, EDITOR_TARGETS, type EditorId, type EditorMcpResult, type EditorMcpTarget, type ExcludeWriteResult, type ExpectedShareRepo, type GhDetectResult, HOSTS_WITH_USER_SKILL_DIR, type IntegrationWriteOutcome, LAUNCH_CONFIG_NAME, type LoadConfigResult, type McpConfigDeclineEvent, type McpConfigDeclineScope, type McpConfigMigrateEvent, type McpConfigMigrateScope, type McpDeclineReason, type McpEntryClassification, type McpInstallOptions, type McpRemoveOutcome, PATH_SHIM_BEGIN, PATH_SHIM_BLOCK_RE, PATH_SHIM_END, type ParsedGitHubBlobUrl, type ParsedGitHubShareTarget, type ParsedGitHubTreeUrl, type PathDiscovery, type PathInstallConsent, type PathInstallMarker, type PreviewResult, type ProjectAiIntegrationsResult, type ProjectSkillRemoveResult, type ProjectSkillResult, type ReportBundleLevel, type ReportBundleResult, type ReportBundleSummary, type ResolveProjectRootOptions, type ResolveProjectRootResult, type ShareFolderValidationResult, type SharingMode, type SkillBundleTarget, type TokenStore, type TrackedRefusal, type UserMcpConfigsOptions, addOkPathsToGitExclude, assertProjectPathSafe, buildManagedServerEntry, buildMcpConfigDeclineEvent, buildMcpConfigMigrateEvent, classifyExistingMcpEntry, collectReportBundle, createTokenStore, defaultBugReportZipPath, detectGh, detectInstalledEditors, formatTrackedRemediation, getExcludedOkPaths, getOkArtifactPaths, isEntryUpToDate, isOwnManagedEntry, loadConfig, makeLazyProbeTokenStore, parseGitHubBlobUrl, parseGitHubShareUrl, parseGitHubTreeUrl, parseGitUrl, pathInstallMarkerPath, previewContent, probeTrackedOkPaths, readExistingMcpEntry, readSharingMode, redactContent, removeOkPathsFromGitExclude, removeOwnMcpEntry, removeProjectSkill, removeUserGlobalSkillBundle, resolveProjectRoot, runStop, truncatePriorEntry, userGlobalSkillBundleTargets, validateLocalFolderForShare, writeEditorMcpConfig, writeProjectAiIntegrations, writeProjectSkill, writeUserMcpConfigs };
1192
1283
  //# sourceMappingURL=index.d.mts.map
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{i as e,r as t,t as n}from"./gh-detect-Dvi-l8Fu.mjs";import{A as r,F as i,M as a,N as o,P as s,d as c,j as l,k as u,n as d,o as f,s as p,v as m,x as h,y as g}from"./init-C3-tMyGu.mjs";import{_,b as v,d as y,f as b,i as x,l as S,m as C,n as w,r as T,t as E,u as D,v as O,y as k}from"./src-DPqsMpTr.mjs";import{_ as A,a as j,d as M,f as N,g as P,i as F,o as I,r as L,s as R,t as z,u as B,v as V}from"./write-project-skill-fM8HWeYm.mjs";import{n as H}from"./loader-f4c1taQz.mjs";import{n as U}from"./preview-DocBavwZ.mjs";import{n as W,t as G}from"./mcp-migrate-event-CyH1VVyy.mjs";export{R as ALL_EDITOR_IDS,B as EDITOR_LABELS,M as EDITOR_TARGETS,N as HOSTS_WITH_USER_SKILL_DIR,d as LAUNCH_CONFIG_NAME,D as PATH_SHIM_BEGIN,y as PATH_SHIM_BLOCK_RE,b as PATH_SHIM_END,u as addOkPathsToGitExclude,z as assertProjectPathSafe,P as buildManagedServerEntry,T as buildMcpConfigDeclineEvent,G as buildMcpConfigMigrateEvent,f as classifyExistingMcpEntry,t as createTokenStore,n as detectGh,p as detectInstalledEditors,r as formatTrackedRemediation,l as getExcludedOkPaths,a as getOkArtifactPaths,A as isEntryUpToDate,V as isOwnManagedEntry,H as loadConfig,e as makeLazyProbeTokenStore,_ as parseGitHubBlobUrl,O as parseGitHubShareUrl,k as parseGitHubTreeUrl,v as parseGitUrl,C as pathInstallMarkerPath,U as previewContent,o as probeTrackedOkPaths,c as readExistingMcpEntry,s as readSharingMode,i as removeOkPathsFromGitExclude,S as removeOwnMcpEntry,L as removeProjectSkill,j as removeUserGlobalSkillBundle,h as resolveProjectRoot,x as runStop,W as truncatePriorEntry,I as userGlobalSkillBundleTargets,w as validateLocalFolderForShare,m as writeEditorMcpConfig,E as writeProjectAiIntegrations,F as writeProjectSkill,g as writeUserMcpConfigs};
1
+ import{i as e,r as t,t as n}from"./gh-detect-Dvi-l8Fu.mjs";import{A as r,F as i,M as a,N as o,P as s,d as c,j as l,k as u,n as d,o as f,s as p,v as m,x as h,y as g}from"./init-M3As2OOI.mjs";import{E as _,S as v,T as y,_ 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-DpeAxWxV.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-CbSfzwa8.mjs";import{n as G}from"./loader-DToPJlMU.mjs";import{n as K}from"./preview-COkYTuKh.mjs";import{n as q,t as J}from"./mcp-migrate-event-CyH1VVyy.mjs";export{V as ALL_EDITOR_IDS,U as EDITOR_LABELS,F as EDITOR_TARGETS,I as HOSTS_WITH_USER_SKILL_DIR,d as LAUNCH_CONFIG_NAME,A as PATH_SHIM_BEGIN,S as PATH_SHIM_BLOCK_RE,C as PATH_SHIM_END,u as addOkPathsToGitExclude,H as assertProjectPathSafe,L as buildManagedServerEntry,O as buildMcpConfigDeclineEvent,J as buildMcpConfigMigrateEvent,f as classifyExistingMcpEntry,v as collectReportBundle,t as createTokenStore,y as defaultBugReportZipPath,n as detectGh,p as detectInstalledEditors,r as formatTrackedRemediation,l as getExcludedOkPaths,a 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,o as probeTrackedOkPaths,c as readExistingMcpEntry,s as readSharingMode,_ as redactContent,i as removeOkPathsFromGitExclude,T as removeOwnMcpEntry,B as removeProjectSkill,P as removeUserGlobalSkillBundle,h as resolveProjectRoot,w as runStop,q as truncatePriorEntry,z as userGlobalSkillBundleTargets,D as validateLocalFolderForShare,m as writeEditorMcpConfig,k as writeProjectAiIntegrations,R as writeProjectSkill,g as writeUserMcpConfigs};
@@ -0,0 +1 @@
1
+ import{g as e}from"./init-M3As2OOI.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{Bt as r,Et as i,Jo as a,Zi as o}from"./server-lock-iLcBw_q0-6FEAZKHu.mjs";import{D as s,G as c,Hn as l,Jn as u,O as d,Zi as f,ar as p,ba as m,d as h,ea as g,fa as _,ha as v,hn as y,lt as b,ta as x}from"./dist-CmLjR_Cj.mjs";import{r as S,t as C}from"./esm-CsQUg9js.mjs";import{t as ee}from"./constants-KPTyVFV8.mjs";import{a as te,b as ne,d as w,g as T,h as re,i as ie,m as ae,p as E,s as oe,t as se}from"./write-project-skill-fM8HWeYm.mjs";import{t as D}from"./is-object-Cg453afR.mjs";import{i as O,n as ce,o as k,r as le,s as A,t as j}from"./colors-8SzMRIVy.mjs";import{t as ue}from"./preview-DocBavwZ.mjs";import{createRequire as de}from"node:module";import{execFileSync as fe}from"node:child_process";import pe,{dirname as M,isAbsolute as me,join as N,relative as P,resolve as he,sep as ge}from"node:path";import F from"node:process";import{fileURLToPath as _e}from"node:url";import{homedir as ve}from"node:os";import{existsSync as I,lstatSync as ye,mkdirSync as be,readFileSync as L,readlinkSync as xe,realpathSync as Se,statSync as Ce,writeFileSync as we}from"node:fs";import{inspect as Te,stripVTControlCharacters as Ee,styleText as R}from"node:util";import{AsyncLocalStorage as De,AsyncResource as Oe}from"node:async_hooks";import*as ke from"node:readline";const Ae=new Set([`emacs`,`vim`]);function je(e){return Ae.has(e)}function Me(){let e=process.env.INQUIRER_KEYBINDINGS;return e?Array.from(new Set(e.toLowerCase().split(/[\s,]+/).filter(je))):[]}const z=(e,t=[])=>e.name===`up`||t.includes(`vim`)&&e.name===`k`||t.includes(`emacs`)&&e.ctrl&&e.name===`p`,Ne=(e,t=[])=>e.name===`down`||t.includes(`vim`)&&e.name===`j`||t.includes(`emacs`)&&e.ctrl&&e.name===`n`,Pe=e=>e.name===`space`,Fe=e=>e.name===`backspace`,Ie=e=>`1234567890`.includes(e.name),Le=e=>e.name===`enter`||e.name===`return`;var Re=class extends Error{name=`AbortPromptError`;message=`Prompt was aborted`;constructor(e){super(),this.cause=e?.cause}},ze=class extends Error{name=`CancelPromptError`;message=`Prompt was canceled`},Be=class extends Error{name=`ExitPromptError`},Ve=class extends Error{name=`HookError`},He=class extends Error{name=`ValidationError`};const Ue=new De;function We(e){return{rl:e,hooks:[],hooksCleanup:[],hooksEffect:[],index:0,handleChange(){}}}function Ge(e,t){let n=We(e);return Ue.run(n,()=>{function e(e){n.handleChange=()=>{n.index=0,e()},n.handleChange()}return t(e)})}function B(){let e=Ue.getStore();if(!e)throw new Ve(`[Inquirer] Hook functions can only be called from within a prompt`);return e}function Ke(){return B().rl}function qe(e){return Oe.bind((...t)=>{let n=B(),r=!1,i=n.handleChange;n.handleChange=()=>{r=!0};let a=e(...t);return r&&i(),n.handleChange=i,a})}function Je(e){let t=B(),{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 Ye(){B().handleChange()}const Xe={queue(e){let t=B(),{index:n}=t;t.hooksEffect.push(()=>{t.hooksCleanup[n]?.();let r=e(Ke());if(r!=null&&typeof r!=`function`)throw new He(`useEffect return value must be a cleanup function or nothing.`);t.hooksCleanup[n]=r})},run(){let e=B();qe(()=>{e.hooksEffect.forEach(e=>{e()}),e.hooksEffect.length=0})()},clearAll(){let e=B();e.hooksCleanup.forEach(e=>{e?.()}),e.hooksEffect.length=0,e.hooksCleanup.length=0}};function Ze(e){return typeof e==`function`}function V(e){return Je(t=>{let n=Oe.bind(function(e){t.get()!==e&&(t.set(e),Ye())});if(t.initialized)return[t.get(),n];let r=Ze(e)?e():e;return t.set(r),[r,n]})}function Qe(e,t){Je(n=>{let r=n.get();(!Array.isArray(r)||t.some((e,t)=>!Object.is(e,r[t])))&&Xe.queue(e),n.set(t)})}function $e(){return F.platform.startsWith(`win`)?!!F.env.CI||!!F.env.WT_SESSION||!!F.env.TERMINUS_SUBLIME||F.env.ConEmuTask===`{cmd::Cmder}`||F.env.TERM_PROGRAM===`Terminus-Sublime`||F.env.TERM_PROGRAM===`vscode`||F.env.TERM===`xterm-256color`||F.env.TERM===`alacritty`||F.env.TERMINAL_EMULATOR===`JetBrains-JediTerm`:F.env.TERM!==`linux`}const et={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:`╱`},tt={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:`⅒`},nt={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`},rt={...et,...tt},it={...et,...nt},H=$e()?rt:it;Object.entries(tt);const at={prefix:{idle:R(`blue`,`?`),done:R(`green`,H.tick)},spinner:{interval:80,frames:[`⠋`,`⠙`,`⠹`,`⠸`,`⠼`,`⠴`,`⠦`,`⠧`,`⠇`,`⠏`].map(e=>R(`yellow`,e))},keybindings:[],style:{answer:e=>R(`cyan`,e),message:e=>R(`bold`,e),error:e=>R(`red`,`> ${e}`),defaultAnswer:e=>R(`dim`,`(${e})`),help:e=>R(`dim`,e),highlight:e=>R(`cyan`,e),key:e=>R(`cyan`,R(`bold`,`<${e}>`))}};function ot(){return{...at,keybindings:Me()}}function st(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 ct(...e){let t={};for(let n of e)for(let[e,r]of Object.entries(n)){let n=t[e];t[e]=st(n)&&st(r)?ct(n,r):r}return t}function lt(...e){return ct(ot(),...e.filter(e=>e!=null))}function ut({status:e=`idle`,theme:t}){let[n,r]=V(!1),[i,a]=V(0),{prefix:o,spinner:s}=lt(t);return Qe(()=>{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 dt(e,t){return Je(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 ft(e){return V({current:e})[0]}function pt(e){let t=ft(e);t.current=e,Qe(e=>{let n=!1,r=qe((r,i)=>{n||t.current(i,e)});return e.input.on(`keypress`,r),()=>{n=!0,e.input.removeListener(`keypress`,r)}},[])}var mt=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 ht=(()=>{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}})(),gt=e=>e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510,_t=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,vt=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y,yt=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,bt=/(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}]){1,1000}/uy,xt=/\t{1,1000}/y,St=/[\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,Ct=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,wt=/\p{M}+/gu,Tt={limit:1/0,ellipsis:``},Et=(e,t={},n={})=>{let r=t.limit??1/0,i=t.ellipsis??``,a=t?.ellipsisWidth??(i?Et(i,Tt,n).width:0),o=n.controlWidth??0,s=n.tabWidth??8,c=n.emojiWidth??2,l=n.regularWidth??1,u=n.wideWidth??2,d=[[Ct,l],[vt,0],[yt,o],[xt,s],[St,c],[bt,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(wt,``)){let t=e.codePointAt(0)||0;if(S=gt(t)?2:_t(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===bt?ht(e.slice(p,n.lastIndex)):n===St?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}},Dt={limit:1/0,ellipsis:``,ellipsisWidth:0},U=(e,t={})=>Et(e,Dt,t).width,Ot=`]8;;`,kt=RegExp(`(?:\\[(?<code>\\d+)m|\\${Ot}(?<uri>.*))`,`y`),At=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},jt=e=>`[${e}m`,Mt=e=>`${Ot}${e}`,Nt=(e,t,n)=>{let r=t[Symbol.iterator](),i=!1,a=!1,o=e.at(-1),s=o===void 0?0:U(o),c=r.next(),l=r.next(),u=0;for(;!c.done;){let o=c.value,d=U(o);s+d<=n?e[e.length-1]+=o:(e.push(o),s=0),(o===`\x1B`||o===`›`)&&(i=!0,a=t.startsWith(Ot,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())},Pt=e=>{let t=e.split(` `),n=t.length;for(;n&&!U(t[n-1]);)n--;return n===t.length?e:t.slice(0,n).join(` `)+t.slice(n).join(``)},Ft=(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=U(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=U(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(``),Nt(s,r,t),c=U(s.at(-1)??``);continue}if(c+i>t&&c&&i){if(n.wordWrap===!1&&c<t){Nt(s,r,t),c=U(s.at(-1)??``);continue}s.push(``),c=0}if(c+i>t&&n.wordWrap===!1){Nt(s,r,t),c=U(s.at(-1)??``);continue}s[s.length-1]+=r,c+=i}n.trim!==!1&&(s=s.map(e=>Pt(e)));let l=s.join(`
1
+ import{a as e,s as t,t as n}from"./chunk-C94x7I9S.mjs";import{Bt as r,Et as i,Jo as a,Zi as o}from"./server-lock-iLcBw_q0-6FEAZKHu.mjs";import{D as s,G as c,Hn as l,Jn as u,O as d,Zi as f,ar as p,ba as m,d as h,ea as g,fa as _,ha as v,hn as y,lt as b,ta as x}from"./dist-CmLjR_Cj.mjs";import{r as S,t as C}from"./esm-CsQUg9js.mjs";import{t as ee}from"./constants-hNkAg6Qk.mjs";import{t as w}from"./is-object-Cie0xXKD.mjs";import{a as te,b as ne,d as T,g as E,h as re,i as ie,m as D,p as ae,s as oe,t as se}from"./write-project-skill-CbSfzwa8.mjs";import{i as O,n as ce,o as k,r as le,s as A,t as j}from"./colors-8SzMRIVy.mjs";import{t as ue}from"./preview-COkYTuKh.mjs";import{createRequire as de}from"node:module";import{execFileSync as fe}from"node:child_process";import pe,{dirname as M,isAbsolute as me,join as N,relative as P,resolve as he,sep as ge}from"node:path";import F from"node:process";import{fileURLToPath as _e}from"node:url";import{homedir as ve}from"node:os";import{existsSync as I,lstatSync as ye,mkdirSync as be,readFileSync as L,readlinkSync as xe,realpathSync as Se,statSync as Ce,writeFileSync as we}from"node:fs";import{inspect as Te,stripVTControlCharacters as Ee,styleText as R}from"node:util";import{AsyncLocalStorage as De,AsyncResource as Oe}from"node:async_hooks";import*as ke from"node:readline";const Ae=new Set([`emacs`,`vim`]);function je(e){return Ae.has(e)}function Me(){let e=process.env.INQUIRER_KEYBINDINGS;return e?Array.from(new Set(e.toLowerCase().split(/[\s,]+/).filter(je))):[]}const z=(e,t=[])=>e.name===`up`||t.includes(`vim`)&&e.name===`k`||t.includes(`emacs`)&&e.ctrl&&e.name===`p`,Ne=(e,t=[])=>e.name===`down`||t.includes(`vim`)&&e.name===`j`||t.includes(`emacs`)&&e.ctrl&&e.name===`n`,Pe=e=>e.name===`space`,Fe=e=>e.name===`backspace`,Ie=e=>`1234567890`.includes(e.name),Le=e=>e.name===`enter`||e.name===`return`;var Re=class extends Error{name=`AbortPromptError`;message=`Prompt was aborted`;constructor(e){super(),this.cause=e?.cause}},ze=class extends Error{name=`CancelPromptError`;message=`Prompt was canceled`},Be=class extends Error{name=`ExitPromptError`},Ve=class extends Error{name=`HookError`},He=class extends Error{name=`ValidationError`};const Ue=new De;function We(e){return{rl:e,hooks:[],hooksCleanup:[],hooksEffect:[],index:0,handleChange(){}}}function Ge(e,t){let n=We(e);return Ue.run(n,()=>{function e(e){n.handleChange=()=>{n.index=0,e()},n.handleChange()}return t(e)})}function B(){let e=Ue.getStore();if(!e)throw new Ve(`[Inquirer] Hook functions can only be called from within a prompt`);return e}function Ke(){return B().rl}function qe(e){return Oe.bind((...t)=>{let n=B(),r=!1,i=n.handleChange;n.handleChange=()=>{r=!0};let a=e(...t);return r&&i(),n.handleChange=i,a})}function Je(e){let t=B(),{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 Ye(){B().handleChange()}const Xe={queue(e){let t=B(),{index:n}=t;t.hooksEffect.push(()=>{t.hooksCleanup[n]?.();let r=e(Ke());if(r!=null&&typeof r!=`function`)throw new He(`useEffect return value must be a cleanup function or nothing.`);t.hooksCleanup[n]=r})},run(){let e=B();qe(()=>{e.hooksEffect.forEach(e=>{e()}),e.hooksEffect.length=0})()},clearAll(){let e=B();e.hooksCleanup.forEach(e=>{e?.()}),e.hooksEffect.length=0,e.hooksCleanup.length=0}};function Ze(e){return typeof e==`function`}function V(e){return Je(t=>{let n=Oe.bind(function(e){t.get()!==e&&(t.set(e),Ye())});if(t.initialized)return[t.get(),n];let r=Ze(e)?e():e;return t.set(r),[r,n]})}function Qe(e,t){Je(n=>{let r=n.get();(!Array.isArray(r)||t.some((e,t)=>!Object.is(e,r[t])))&&Xe.queue(e),n.set(t)})}function $e(){return F.platform.startsWith(`win`)?!!F.env.CI||!!F.env.WT_SESSION||!!F.env.TERMINUS_SUBLIME||F.env.ConEmuTask===`{cmd::Cmder}`||F.env.TERM_PROGRAM===`Terminus-Sublime`||F.env.TERM_PROGRAM===`vscode`||F.env.TERM===`xterm-256color`||F.env.TERM===`alacritty`||F.env.TERMINAL_EMULATOR===`JetBrains-JediTerm`:F.env.TERM!==`linux`}const et={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:`╱`},tt={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:`⅒`},nt={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`},rt={...et,...tt},it={...et,...nt},H=$e()?rt:it;Object.entries(tt);const at={prefix:{idle:R(`blue`,`?`),done:R(`green`,H.tick)},spinner:{interval:80,frames:[`⠋`,`⠙`,`⠹`,`⠸`,`⠼`,`⠴`,`⠦`,`⠧`,`⠇`,`⠏`].map(e=>R(`yellow`,e))},keybindings:[],style:{answer:e=>R(`cyan`,e),message:e=>R(`bold`,e),error:e=>R(`red`,`> ${e}`),defaultAnswer:e=>R(`dim`,`(${e})`),help:e=>R(`dim`,e),highlight:e=>R(`cyan`,e),key:e=>R(`cyan`,R(`bold`,`<${e}>`))}};function ot(){return{...at,keybindings:Me()}}function st(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 ct(...e){let t={};for(let n of e)for(let[e,r]of Object.entries(n)){let n=t[e];t[e]=st(n)&&st(r)?ct(n,r):r}return t}function lt(...e){return ct(ot(),...e.filter(e=>e!=null))}function ut({status:e=`idle`,theme:t}){let[n,r]=V(!1),[i,a]=V(0),{prefix:o,spinner:s}=lt(t);return Qe(()=>{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 dt(e,t){return Je(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 ft(e){return V({current:e})[0]}function pt(e){let t=ft(e);t.current=e,Qe(e=>{let n=!1,r=qe((r,i)=>{n||t.current(i,e)});return e.input.on(`keypress`,r),()=>{n=!0,e.input.removeListener(`keypress`,r)}},[])}var mt=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 ht=(()=>{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}})(),gt=e=>e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510,_t=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,vt=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y,yt=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,bt=/(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}]){1,1000}/uy,xt=/\t{1,1000}/y,St=/[\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,Ct=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,wt=/\p{M}+/gu,Tt={limit:1/0,ellipsis:``},Et=(e,t={},n={})=>{let r=t.limit??1/0,i=t.ellipsis??``,a=t?.ellipsisWidth??(i?Et(i,Tt,n).width:0),o=n.controlWidth??0,s=n.tabWidth??8,c=n.emojiWidth??2,l=n.regularWidth??1,u=n.wideWidth??2,d=[[Ct,l],[vt,0],[yt,o],[xt,s],[St,c],[bt,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(wt,``)){let t=e.codePointAt(0)||0;if(S=gt(t)?2:_t(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===bt?ht(e.slice(p,n.lastIndex)):n===St?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}},Dt={limit:1/0,ellipsis:``,ellipsisWidth:0},U=(e,t={})=>Et(e,Dt,t).width,Ot=`]8;;`,kt=RegExp(`(?:\\[(?<code>\\d+)m|\\${Ot}(?<uri>.*))`,`y`),At=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},jt=e=>`[${e}m`,Mt=e=>`${Ot}${e}`,Nt=(e,t,n)=>{let r=t[Symbol.iterator](),i=!1,a=!1,o=e.at(-1),s=o===void 0?0:U(o),c=r.next(),l=r.next(),u=0;for(;!c.done;){let o=c.value,d=U(o);s+d<=n?e[e.length-1]+=o:(e.push(o),s=0),(o===`\x1B`||o===`›`)&&(i=!0,a=t.startsWith(Ot,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())},Pt=e=>{let t=e.split(` `),n=t.length;for(;n&&!U(t[n-1]);)n--;return n===t.length?e:t.slice(0,n).join(` `)+t.slice(n).join(``)},Ft=(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=U(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=U(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(``),Nt(s,r,t),c=U(s.at(-1)??``);continue}if(c+i>t&&c&&i){if(n.wordWrap===!1&&c<t){Nt(s,r,t),c=U(s.at(-1)??``);continue}s.push(``),c=0}if(c+i>t&&n.wordWrap===!1){Nt(s,r,t),c=U(s.at(-1)??``);continue}s[s.length-1]+=r,c+=i}n.trim!==!1&&(s=s.map(e=>Pt(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===`›`){kt.lastIndex=e+1;let t=kt.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+=Mt(``));let e=i?At(i):void 0;i&&e&&(r+=jt(e))}else t===`
4
4
  `&&(i&&At(i)&&(r+=jt(i)),a&&(r+=Mt(a)))}return r},It=/\r?\n/;function Lt(e,t,n){return String(e).normalize().split(It).map(e=>Ft(e,t,n)).join(`
@@ -12,7 +12,7 @@ import{a as e,s as t,t as n}from"./chunk-C94x7I9S.mjs";import{Bt as r,Et as i,Jo
12
12
  `).pop()??``;var fn=class{height=0;extraLinesUnderPrompt=0;cursorPos;rl;constructor(e){this.rl=e,this.cursorPos=e.getCursorPos()}write(e){this.rl.output.unmute(),this.rl.output.write(e),this.rl.output.mute()}render(e,t=``){let n=Ee(dn(e)),r=n;this.rl.line.length>0&&(r=r.slice(0,-this.rl.line.length)),this.rl.setPrompt(r),this.cursorPos=this.rl.getCursorPos();let i=Bt();e=zt(e,i),t=zt(t,i),n.length%i===0&&(e+=`
13
13
  `);let a=e+(t?`
14
14
  `+t:``),o=Math.floor(n.length/i)-this.cursorPos.rows+(t?un(t):0);o>0&&(a+=an(o)),a+=sn(this.cursorPos.cols),this.write(on(this.extraLinesUnderPrompt)+ln(this.height)+a),this.extraLinesUnderPrompt=o,this.height=un(a)}checkCursorPos(){let e=this.rl.getCursorPos();e.cols!==this.cursorPos.cols&&(this.write(sn(e.cols)),this.cursorPos=e)}done({clearContent:e}){this.rl.setPrompt(``);let t=on(this.extraLinesUnderPrompt);t+=e?ln(this.height):`
15
- `,t+=`\x1B[G`,t+=`\x1B[?25h`,this.write(t),this.rl.close()}},pn=class extends Promise{static withResolver(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}},mn=t(Ut(),1);const hn=globalThis.setImmediate;function gn(){let e=Error.prepareStackTrace,t=[];try{Error.prepareStackTrace=(e,n)=>{let r=n.slice(1);return t=r,r},Error().stack}catch{return t}return Error.prepareStackTrace=e,t}function _n(e){let t=gn();return(n,r={})=>{let{input:i=process.stdin,signal:a}=r,o=new Set,s=new mn.default;s.pipe(r.output??process.stdout);let c=ke.createInterface({terminal:!0,input:i,output:s});s.mute();let l=new fn(c),{promise:u,resolve:d,reject:f}=pn.withResolver(),p=()=>f(new ze);if(a){let e=()=>f(new Re({cause:a.reason}));if(a.aborted)return e(),Object.assign(u,{cancel:p});a.addEventListener(`abort`,e),o.add(()=>a.removeEventListener(`abort`,e))}o.add(en((e,t)=>{f(new Be(`User force closed the prompt with ${e} ${t}`))}));let m=()=>f(new Be(`User force closed the prompt with SIGINT`));return c.on(`SIGINT`,m),o.add(()=>c.removeListener(`SIGINT`,m)),Ge(c,a=>{let m=Oe.bind(()=>Xe.clearAll());c.on(`close`,m),o.add(()=>c.removeListener(`close`,m));let h=()=>{let r=()=>l.checkCursorPos();c.input.on(`keypress`,r),o.add(()=>c.input.removeListener(`keypress`,r));let i=null;a(()=>{let r=!1;try{let a=e(n,e=>{r?d(e):i={value:e}});if(a===void 0){let e=t[1]?.getFileName();throw e&&!e.startsWith(`file://`)&&(e=pe.resolve(e)),Error(`Prompt functions must return a string.\n at ${e}`)}let[o,s]=typeof a==`string`?[a]:a;l.render(o,s),Xe.run()}catch(e){f(e)}if(r=!0,i!==null){let{value:e}=i;i=null,d(e)}})};return`readableFlowing`in i?hn(h):h(),Object.assign(u.then(e=>(Xe.clearAll(),e),e=>{throw Xe.clearAll(),e}).finally(()=>{o.forEach(e=>e()),l.done({clearContent:!!r.clearPromptOnDone}),s.end()}).then(()=>u),{cancel:p})})}}var G=class{separator=R(`dim`,Array.from({length:15}).join(H.line));type=`separator`;constructor(e){e&&(this.separator=e)}static isSeparator(e){return!!(e&&typeof e==`object`&&`type`in e&&e.type===`separator`)}};function vn(e){let t=[`.ok/`,`.okignore`];for(let n of oe){let r=w[n];if(r.projectConfigPath&&t.push(An(r.projectConfigPath(e),e)),r.projectSkillPath){let n=An(r.projectSkillPath(e),e);t.push(`${Mn(n)}/`)}}t.push(`.claude/launch.json`);let n=N(e,...r);if(I(n))try{let e=o(L(n,`utf-8`));if(e)for(let[n,r]of Object.entries(e.skills))for(let e of r.hosts){let r=i[e];r&&t.push(`${r}/${n}/`)}}catch{}return Array.from(new Set(t))}function yn(e,t){let n=Cn(e,t).tracked;if(n.length>0)return{kind:`refused-tracked`,tracked:n,remediation:wn(n)};let r=Tn(e);if(r.kind!==`ok`)return r.result;let i=I(r.path)?L(r.path,`utf-8`):``,a=kn(i),o=[],s=[];for(let e of t)On(a,e)?s.push(e):o.push(e);if(o.length===0)return{kind:`updated`,appended:o,alreadyPresent:s,removed:[]};let c=i.length===0||i.endsWith(`
15
+ `,t+=`\x1B[G`,t+=`\x1B[?25h`,this.write(t),this.rl.close()}},pn=class extends Promise{static withResolver(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}},mn=t(Ut(),1);const hn=globalThis.setImmediate;function gn(){let e=Error.prepareStackTrace,t=[];try{Error.prepareStackTrace=(e,n)=>{let r=n.slice(1);return t=r,r},Error().stack}catch{return t}return Error.prepareStackTrace=e,t}function _n(e){let t=gn();return(n,r={})=>{let{input:i=process.stdin,signal:a}=r,o=new Set,s=new mn.default;s.pipe(r.output??process.stdout);let c=ke.createInterface({terminal:!0,input:i,output:s});s.mute();let l=new fn(c),{promise:u,resolve:d,reject:f}=pn.withResolver(),p=()=>f(new ze);if(a){let e=()=>f(new Re({cause:a.reason}));if(a.aborted)return e(),Object.assign(u,{cancel:p});a.addEventListener(`abort`,e),o.add(()=>a.removeEventListener(`abort`,e))}o.add(en((e,t)=>{f(new Be(`User force closed the prompt with ${e} ${t}`))}));let m=()=>f(new Be(`User force closed the prompt with SIGINT`));return c.on(`SIGINT`,m),o.add(()=>c.removeListener(`SIGINT`,m)),Ge(c,a=>{let m=Oe.bind(()=>Xe.clearAll());c.on(`close`,m),o.add(()=>c.removeListener(`close`,m));let h=()=>{let r=()=>l.checkCursorPos();c.input.on(`keypress`,r),o.add(()=>c.input.removeListener(`keypress`,r));let i=null;a(()=>{let r=!1;try{let a=e(n,e=>{r?d(e):i={value:e}});if(a===void 0){let e=t[1]?.getFileName();throw e&&!e.startsWith(`file://`)&&(e=pe.resolve(e)),Error(`Prompt functions must return a string.\n at ${e}`)}let[o,s]=typeof a==`string`?[a]:a;l.render(o,s),Xe.run()}catch(e){f(e)}if(r=!0,i!==null){let{value:e}=i;i=null,d(e)}})};return`readableFlowing`in i?hn(h):h(),Object.assign(u.then(e=>(Xe.clearAll(),e),e=>{throw Xe.clearAll(),e}).finally(()=>{o.forEach(e=>e()),l.done({clearContent:!!r.clearPromptOnDone}),s.end()}).then(()=>u),{cancel:p})})}}var G=class{separator=R(`dim`,Array.from({length:15}).join(H.line));type=`separator`;constructor(e){e&&(this.separator=e)}static isSeparator(e){return!!(e&&typeof e==`object`&&`type`in e&&e.type===`separator`)}};function vn(e){let t=[`.ok/`,`.okignore`];for(let n of oe){let r=T[n];if(r.projectConfigPath&&t.push(An(r.projectConfigPath(e),e)),r.projectSkillPath){let n=An(r.projectSkillPath(e),e);t.push(`${Mn(n)}/`)}}t.push(`.claude/launch.json`);let n=N(e,...r);if(I(n))try{let e=o(L(n,`utf-8`));if(e)for(let[n,r]of Object.entries(e.skills))for(let e of r.hosts){let r=i[e];r&&t.push(`${r}/${n}/`)}}catch{}return Array.from(new Set(t))}function yn(e,t){let n=Cn(e,t).tracked;if(n.length>0)return{kind:`refused-tracked`,tracked:n,remediation:wn(n)};let r=Tn(e);if(r.kind!==`ok`)return r.result;let i=I(r.path)?L(r.path,`utf-8`):``,a=kn(i),o=[],s=[];for(let e of t)On(a,e)?s.push(e):o.push(e);if(o.length===0)return{kind:`updated`,appended:o,alreadyPresent:s,removed:[]};let c=i.length===0||i.endsWith(`
16
16
  `)?``:`
17
17
  `,l=`${o.join(`
18
18
  `)}\n`;try{we(r.path,`${i}${c}${l}`,`utf-8`)}catch{return{kind:`no-exclude`,reason:`inaccessible`}}return{kind:`updated`,appended:o,alreadyPresent:s,removed:[]}}function bn(e,t){let n=Tn(e);if(n.kind!==`ok`)return n.result;if(!I(n.path))return{kind:`updated`,appended:[],alreadyPresent:[],removed:[]};let r=t.map(e=>Dn(e)),i=new Set;for(let e of r)for(let t of e)i.add(t);let a;try{a=L(n.path,`utf-8`)}catch{return{kind:`no-exclude`,reason:`inaccessible`}}let o=a.split(`
@@ -33,7 +33,7 @@ import{a as e,s as t,t as n}from"./chunk-C94x7I9S.mjs";import{Bt as r,Et as i,Jo
33
33
  `)return`
34
34
  `}return e&&e.eol||`
35
35
  `}function Hn(e,t){return`\r
36
- `.indexOf(e.charAt(t))!==-1}var Un;(function(e){e.DEFAULT={allowTrailingComma:!1}})(Un||={});function Wn(e,t=[],n=Un.DEFAULT){let r={type:`array`,offset:-1,length:-1,children:[],parent:void 0};function i(e){r.type===`property`&&(r.length=e-r.offset,r=r.parent)}function a(e){return r.children.push(e),e}Xn(e,{onObjectBegin:e=>{r=a({type:`object`,offset:e,length:-1,parent:r,children:[]})},onObjectProperty:(e,t,n)=>{r=a({type:`property`,offset:t,length:-1,parent:r,children:[]}),r.children.push({type:`string`,value:e,offset:t,length:n,parent:r})},onObjectEnd:(e,t)=>{i(e+t),r.length=e+t-r.offset,r=r.parent,i(e+t)},onArrayBegin:(e,t)=>{r=a({type:`array`,offset:e,length:-1,parent:r,children:[]})},onArrayEnd:(e,t)=>{r.length=e+t-r.offset,r=r.parent,i(e+t)},onLiteralValue:(e,t,n)=>{a({type:Zn(e),offset:t,length:n,parent:r,value:e}),i(t+n)},onSeparator:(e,t,n)=>{r.type===`property`&&(e===`:`?r.colonOffset=t:e===`,`&&i(t))},onError:(e,n,r)=>{t.push({error:e,offset:n,length:r})}},n);let o=r.children[0];return o&&delete o.parent,o}function Gn(e,t){if(!e)return;let n=e;for(let e of t)if(typeof e==`string`){if(n.type!==`object`||!Array.isArray(n.children))return;let t=!1;for(let r of n.children)if(Array.isArray(r.children)&&r.children[0].value===e&&r.children.length===2){n=r.children[1],t=!0;break}if(!t)return}else{let t=e;if(n.type!==`array`||t<0||!Array.isArray(n.children)||t>=n.children.length)return;n=n.children[t]}return n}function Kn(e){if(!e.parent||!e.parent.children)return[];let t=Kn(e.parent);if(e.parent.type===`property`){let n=e.parent.children[0].value;t.push(n)}else if(e.parent.type===`array`){let n=e.parent.children.indexOf(e);n!==-1&&t.push(n)}return t}function qn(e){switch(e.type){case`array`:return e.children.map(qn);case`object`:let t=Object.create(null);for(let n of e.children){let e=n.children[1];e&&(t[n.children[0].value]=qn(e))}return t;case`null`:case`string`:case`number`:case`boolean`:return e.value;default:return}}function Jn(e,t,n=!1){return t>=e.offset&&t<e.offset+e.length||n&&t===e.offset+e.length}function Yn(e,t,n=!1){if(Jn(e,t,n)){let r=e.children;if(Array.isArray(r))for(let e=0;e<r.length&&r[e].offset<=t;e++){let i=Yn(r[e],t,n);if(i)return i}return e}}function Xn(e,t,n=Un.DEFAULT){let r=Nn(e,!1),i=[],a=0;function o(e){return e?()=>a===0&&e(r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter()):()=>!0}function s(e){return e?t=>a===0&&e(t,r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter()):()=>!0}function c(e){return e?t=>a===0&&e(t,r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter(),()=>i.slice()):()=>!0}function l(e){return e?()=>{a>0?a++:e(r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter(),()=>i.slice())===!1&&(a=1)}:()=>!0}function u(e){return e?()=>{a>0&&a--,a===0&&e(r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter())}:()=>!0}let d=l(t.onObjectBegin),f=c(t.onObjectProperty),p=u(t.onObjectEnd),m=l(t.onArrayBegin),h=u(t.onArrayEnd),g=c(t.onLiteralValue),_=s(t.onSeparator),v=o(t.onComment),y=s(t.onError),b=n&&n.disallowComments,x=n&&n.allowTrailingComma;function S(){for(;;){let e=r.scan();switch(r.getTokenError()){case 4:C(14);break;case 5:C(15);break;case 3:C(13);break;case 1:b||C(11);break;case 2:C(12);break;case 6:C(16);break}switch(e){case 12:case 13:b?C(10):v();break;case 16:C(1);break;case 15:case 14:break;default:return e}}}function C(e,t=[],n=[]){if(y(e),t.length+n.length>0){let e=r.getToken();for(;e!==17;){if(t.indexOf(e)!==-1){S();break}else if(n.indexOf(e)!==-1)break;e=S()}}}function ee(e){let t=r.getTokenValue();return e?g(t):(f(t),i.push(t)),S(),!0}function te(){switch(r.getToken()){case 11:let e=r.getTokenValue(),t=Number(e);isNaN(t)&&(C(2),t=0),g(t);break;case 7:g(null);break;case 8:g(!0);break;case 9:g(!1);break;default:return!1}return S(),!0}function ne(){return r.getToken()===10?(ee(!1),r.getToken()===6?(_(`:`),S(),re()||C(4,[],[2,5])):C(5,[],[2,5]),i.pop(),!0):(C(3,[],[2,5]),!1)}function w(){d(),S();let e=!1;for(;r.getToken()!==2&&r.getToken()!==17;){if(r.getToken()===5){if(e||C(4,[],[]),_(`,`),S(),r.getToken()===2&&x)break}else e&&C(6,[],[]);ne()||C(4,[],[2,5]),e=!0}return p(),r.getToken()===2?S():C(7,[2],[]),!0}function T(){m(),S();let e=!0,t=!1;for(;r.getToken()!==4&&r.getToken()!==17;){if(r.getToken()===5){if(t||C(4,[],[]),_(`,`),S(),r.getToken()===4&&x)break}else t&&C(6,[],[]);e?(i.push(0),e=!1):i[i.length-1]++,re()||C(4,[],[4,5]),t=!0}return h(),e||i.pop(),r.getToken()===4?S():C(8,[4],[]),!0}function re(){switch(r.getToken()){case 3:return T();case 1:return w();case 10:return ee(!0);default:return te()}}return S(),r.getToken()===17?n.allowEmptyContent?!0:(C(4,[],[]),!1):re()?(r.getToken()!==17&&C(9,[],[]),!0):(C(4,[],[]),!1)}function Zn(e){switch(typeof e){case`boolean`:return`boolean`;case`number`:return`number`;case`string`:return`string`;case`object`:return e?Array.isArray(e)?`array`:`object`:`null`;default:return`null`}}function Qn(e,t,n,r){let i=t.slice(),a=Wn(e,[]),o,s;for(;i.length>0&&(s=i.pop(),o=Gn(a,i),o===void 0&&n!==void 0);)n=typeof s==`string`?{[s]:n}:[n];if(!o){if(n===void 0)throw Error(`Can not delete in empty document`);return Y(e,{offset:a?a.offset:0,length:a?a.length:0,content:JSON.stringify(n)},r)}else if(o.type===`object`&&typeof s==`string`&&Array.isArray(o.children)){let t=Gn(o,[s]);if(t!==void 0)if(n===void 0){if(!t.parent)throw Error(`Malformed AST`);let n=o.children.indexOf(t.parent),i,a=t.parent.offset+t.parent.length;if(n>0){let e=o.children[n-1];i=e.offset+e.length}else i=o.offset+1,o.children.length>1&&(a=o.children[1].offset);return Y(e,{offset:i,length:a-i,content:``},r)}else return Y(e,{offset:t.offset,length:t.length,content:JSON.stringify(n)},r);else{if(n===void 0)return[];let t=`${JSON.stringify(s)}: ${JSON.stringify(n)}`,i=r.getInsertionIndex?r.getInsertionIndex(o.children.map(e=>e.children[0].value)):o.children.length,a;if(i>0){let e=o.children[i-1];a={offset:e.offset+e.length,length:0,content:`,`+t}}else a=o.children.length===0?{offset:o.offset+1,length:0,content:t}:{offset:o.offset+1,length:0,content:t+`,`};return Y(e,a,r)}}else if(o.type===`array`&&typeof s==`number`&&Array.isArray(o.children)){let t=s;if(t===-1){let t=`${JSON.stringify(n)}`,i;if(o.children.length===0)i={offset:o.offset+1,length:0,content:t};else{let e=o.children[o.children.length-1];i={offset:e.offset+e.length,length:0,content:`,`+t}}return Y(e,i,r)}else if(n===void 0&&o.children.length>=0){let t=s,n=o.children[t],i;if(o.children.length===1)i={offset:o.offset+1,length:o.length-2,content:``};else if(o.children.length-1===t){let e=o.children[t-1],n=e.offset+e.length;i={offset:n,length:o.offset+o.length-2-n,content:``}}else i={offset:n.offset,length:o.children[t+1].offset-n.offset,content:``};return Y(e,i,r)}else if(n!==void 0){let t,i=`${JSON.stringify(n)}`;if(!r.isArrayInsertion&&o.children.length>s){let e=o.children[s];t={offset:e.offset,length:e.length,content:i}}else if(o.children.length===0||s===0)t={offset:o.offset+1,length:0,content:o.children.length===0?i:i+`,`};else{let e=s>o.children.length?o.children.length:s,n=o.children[e-1];t={offset:n.offset+n.length,length:0,content:`,`+i}}return Y(e,t,r)}else throw Error(`Can not ${n===void 0?`remove`:r.isArrayInsertion?`insert`:`modify`} Array index ${t} as length is not sufficient`)}else throw Error(`Can not add ${typeof s==`number`?`property`:`index`} to parent of type ${o.type}`)}function Y(e,t,n){if(!n.formattingOptions)return[t];let r=$n(e,t),i=t.offset,a=t.offset+t.content.length;if(t.length===0||t.content.length===0){for(;i>0&&!Hn(r,i-1);)i--;for(;a<r.length&&!Hn(r,a);)a++}let o=zn(r,{offset:i,length:a-i},{...n.formattingOptions,keepLines:!1});for(let e=o.length-1;e>=0;e--){let t=o[e];r=$n(r,t),i=Math.min(i,t.offset),a=Math.max(a,t.offset+t.length),a+=t.content.length-t.length}let s=e.length-(r.length-a)-i;return[{offset:i,length:s,content:r.substring(i,a)}]}function $n(e,t){return e.substring(0,t.offset)+t.content+e.substring(t.offset+t.length)}var er;(function(e){e[e.None=0]=`None`,e[e.UnexpectedEndOfComment=1]=`UnexpectedEndOfComment`,e[e.UnexpectedEndOfString=2]=`UnexpectedEndOfString`,e[e.UnexpectedEndOfNumber=3]=`UnexpectedEndOfNumber`,e[e.InvalidUnicode=4]=`InvalidUnicode`,e[e.InvalidEscapeCharacter=5]=`InvalidEscapeCharacter`,e[e.InvalidCharacter=6]=`InvalidCharacter`})(er||={});var tr;(function(e){e[e.OpenBraceToken=1]=`OpenBraceToken`,e[e.CloseBraceToken=2]=`CloseBraceToken`,e[e.OpenBracketToken=3]=`OpenBracketToken`,e[e.CloseBracketToken=4]=`CloseBracketToken`,e[e.CommaToken=5]=`CommaToken`,e[e.ColonToken=6]=`ColonToken`,e[e.NullKeyword=7]=`NullKeyword`,e[e.TrueKeyword=8]=`TrueKeyword`,e[e.FalseKeyword=9]=`FalseKeyword`,e[e.StringLiteral=10]=`StringLiteral`,e[e.NumericLiteral=11]=`NumericLiteral`,e[e.LineCommentTrivia=12]=`LineCommentTrivia`,e[e.BlockCommentTrivia=13]=`BlockCommentTrivia`,e[e.LineBreakTrivia=14]=`LineBreakTrivia`,e[e.Trivia=15]=`Trivia`,e[e.Unknown=16]=`Unknown`,e[e.EOF=17]=`EOF`})(tr||={});const nr=Wn,rr=qn;var ir;(function(e){e[e.InvalidSymbol=1]=`InvalidSymbol`,e[e.InvalidNumberFormat=2]=`InvalidNumberFormat`,e[e.PropertyNameExpected=3]=`PropertyNameExpected`,e[e.ValueExpected=4]=`ValueExpected`,e[e.ColonExpected=5]=`ColonExpected`,e[e.CommaExpected=6]=`CommaExpected`,e[e.CloseBraceExpected=7]=`CloseBraceExpected`,e[e.CloseBracketExpected=8]=`CloseBracketExpected`,e[e.EndOfFileExpected=9]=`EndOfFileExpected`,e[e.InvalidCommentToken=10]=`InvalidCommentToken`,e[e.UnexpectedEndOfComment=11]=`UnexpectedEndOfComment`,e[e.UnexpectedEndOfString=12]=`UnexpectedEndOfString`,e[e.UnexpectedEndOfNumber=13]=`UnexpectedEndOfNumber`,e[e.InvalidUnicode=14]=`InvalidUnicode`,e[e.InvalidEscapeCharacter=15]=`InvalidEscapeCharacter`,e[e.InvalidCharacter=16]=`InvalidCharacter`})(ir||={});function ar(e,t,n,r){return Qn(e,t,n,r)}function or(e,t){let n=t.slice(0).sort((e,t)=>{let n=e.offset-t.offset;return n===0?e.length-t.length:n}),r=e.length;for(let t=n.length-1;t>=0;t--){let i=n[t];if(i.offset+i.length<=r)e=$n(e,i);else throw Error(`Overlapping edit`);r=i.offset}return e}function sr(e){for(let t of e.split(`
36
+ `.indexOf(e.charAt(t))!==-1}var Un;(function(e){e.DEFAULT={allowTrailingComma:!1}})(Un||={});function Wn(e,t=[],n=Un.DEFAULT){let r={type:`array`,offset:-1,length:-1,children:[],parent:void 0};function i(e){r.type===`property`&&(r.length=e-r.offset,r=r.parent)}function a(e){return r.children.push(e),e}Xn(e,{onObjectBegin:e=>{r=a({type:`object`,offset:e,length:-1,parent:r,children:[]})},onObjectProperty:(e,t,n)=>{r=a({type:`property`,offset:t,length:-1,parent:r,children:[]}),r.children.push({type:`string`,value:e,offset:t,length:n,parent:r})},onObjectEnd:(e,t)=>{i(e+t),r.length=e+t-r.offset,r=r.parent,i(e+t)},onArrayBegin:(e,t)=>{r=a({type:`array`,offset:e,length:-1,parent:r,children:[]})},onArrayEnd:(e,t)=>{r.length=e+t-r.offset,r=r.parent,i(e+t)},onLiteralValue:(e,t,n)=>{a({type:Zn(e),offset:t,length:n,parent:r,value:e}),i(t+n)},onSeparator:(e,t,n)=>{r.type===`property`&&(e===`:`?r.colonOffset=t:e===`,`&&i(t))},onError:(e,n,r)=>{t.push({error:e,offset:n,length:r})}},n);let o=r.children[0];return o&&delete o.parent,o}function Gn(e,t){if(!e)return;let n=e;for(let e of t)if(typeof e==`string`){if(n.type!==`object`||!Array.isArray(n.children))return;let t=!1;for(let r of n.children)if(Array.isArray(r.children)&&r.children[0].value===e&&r.children.length===2){n=r.children[1],t=!0;break}if(!t)return}else{let t=e;if(n.type!==`array`||t<0||!Array.isArray(n.children)||t>=n.children.length)return;n=n.children[t]}return n}function Kn(e){if(!e.parent||!e.parent.children)return[];let t=Kn(e.parent);if(e.parent.type===`property`){let n=e.parent.children[0].value;t.push(n)}else if(e.parent.type===`array`){let n=e.parent.children.indexOf(e);n!==-1&&t.push(n)}return t}function qn(e){switch(e.type){case`array`:return e.children.map(qn);case`object`:let t=Object.create(null);for(let n of e.children){let e=n.children[1];e&&(t[n.children[0].value]=qn(e))}return t;case`null`:case`string`:case`number`:case`boolean`:return e.value;default:return}}function Jn(e,t,n=!1){return t>=e.offset&&t<e.offset+e.length||n&&t===e.offset+e.length}function Yn(e,t,n=!1){if(Jn(e,t,n)){let r=e.children;if(Array.isArray(r))for(let e=0;e<r.length&&r[e].offset<=t;e++){let i=Yn(r[e],t,n);if(i)return i}return e}}function Xn(e,t,n=Un.DEFAULT){let r=Nn(e,!1),i=[],a=0;function o(e){return e?()=>a===0&&e(r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter()):()=>!0}function s(e){return e?t=>a===0&&e(t,r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter()):()=>!0}function c(e){return e?t=>a===0&&e(t,r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter(),()=>i.slice()):()=>!0}function l(e){return e?()=>{a>0?a++:e(r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter(),()=>i.slice())===!1&&(a=1)}:()=>!0}function u(e){return e?()=>{a>0&&a--,a===0&&e(r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter())}:()=>!0}let d=l(t.onObjectBegin),f=c(t.onObjectProperty),p=u(t.onObjectEnd),m=l(t.onArrayBegin),h=u(t.onArrayEnd),g=c(t.onLiteralValue),_=s(t.onSeparator),v=o(t.onComment),y=s(t.onError),b=n&&n.disallowComments,x=n&&n.allowTrailingComma;function S(){for(;;){let e=r.scan();switch(r.getTokenError()){case 4:C(14);break;case 5:C(15);break;case 3:C(13);break;case 1:b||C(11);break;case 2:C(12);break;case 6:C(16);break}switch(e){case 12:case 13:b?C(10):v();break;case 16:C(1);break;case 15:case 14:break;default:return e}}}function C(e,t=[],n=[]){if(y(e),t.length+n.length>0){let e=r.getToken();for(;e!==17;){if(t.indexOf(e)!==-1){S();break}else if(n.indexOf(e)!==-1)break;e=S()}}}function ee(e){let t=r.getTokenValue();return e?g(t):(f(t),i.push(t)),S(),!0}function w(){switch(r.getToken()){case 11:let e=r.getTokenValue(),t=Number(e);isNaN(t)&&(C(2),t=0),g(t);break;case 7:g(null);break;case 8:g(!0);break;case 9:g(!1);break;default:return!1}return S(),!0}function te(){return r.getToken()===10?(ee(!1),r.getToken()===6?(_(`:`),S(),E()||C(4,[],[2,5])):C(5,[],[2,5]),i.pop(),!0):(C(3,[],[2,5]),!1)}function ne(){d(),S();let e=!1;for(;r.getToken()!==2&&r.getToken()!==17;){if(r.getToken()===5){if(e||C(4,[],[]),_(`,`),S(),r.getToken()===2&&x)break}else e&&C(6,[],[]);te()||C(4,[],[2,5]),e=!0}return p(),r.getToken()===2?S():C(7,[2],[]),!0}function T(){m(),S();let e=!0,t=!1;for(;r.getToken()!==4&&r.getToken()!==17;){if(r.getToken()===5){if(t||C(4,[],[]),_(`,`),S(),r.getToken()===4&&x)break}else t&&C(6,[],[]);e?(i.push(0),e=!1):i[i.length-1]++,E()||C(4,[],[4,5]),t=!0}return h(),e||i.pop(),r.getToken()===4?S():C(8,[4],[]),!0}function E(){switch(r.getToken()){case 3:return T();case 1:return ne();case 10:return ee(!0);default:return w()}}return S(),r.getToken()===17?n.allowEmptyContent?!0:(C(4,[],[]),!1):E()?(r.getToken()!==17&&C(9,[],[]),!0):(C(4,[],[]),!1)}function Zn(e){switch(typeof e){case`boolean`:return`boolean`;case`number`:return`number`;case`string`:return`string`;case`object`:return e?Array.isArray(e)?`array`:`object`:`null`;default:return`null`}}function Qn(e,t,n,r){let i=t.slice(),a=Wn(e,[]),o,s;for(;i.length>0&&(s=i.pop(),o=Gn(a,i),o===void 0&&n!==void 0);)n=typeof s==`string`?{[s]:n}:[n];if(!o){if(n===void 0)throw Error(`Can not delete in empty document`);return Y(e,{offset:a?a.offset:0,length:a?a.length:0,content:JSON.stringify(n)},r)}else if(o.type===`object`&&typeof s==`string`&&Array.isArray(o.children)){let t=Gn(o,[s]);if(t!==void 0)if(n===void 0){if(!t.parent)throw Error(`Malformed AST`);let n=o.children.indexOf(t.parent),i,a=t.parent.offset+t.parent.length;if(n>0){let e=o.children[n-1];i=e.offset+e.length}else i=o.offset+1,o.children.length>1&&(a=o.children[1].offset);return Y(e,{offset:i,length:a-i,content:``},r)}else return Y(e,{offset:t.offset,length:t.length,content:JSON.stringify(n)},r);else{if(n===void 0)return[];let t=`${JSON.stringify(s)}: ${JSON.stringify(n)}`,i=r.getInsertionIndex?r.getInsertionIndex(o.children.map(e=>e.children[0].value)):o.children.length,a;if(i>0){let e=o.children[i-1];a={offset:e.offset+e.length,length:0,content:`,`+t}}else a=o.children.length===0?{offset:o.offset+1,length:0,content:t}:{offset:o.offset+1,length:0,content:t+`,`};return Y(e,a,r)}}else if(o.type===`array`&&typeof s==`number`&&Array.isArray(o.children)){let t=s;if(t===-1){let t=`${JSON.stringify(n)}`,i;if(o.children.length===0)i={offset:o.offset+1,length:0,content:t};else{let e=o.children[o.children.length-1];i={offset:e.offset+e.length,length:0,content:`,`+t}}return Y(e,i,r)}else if(n===void 0&&o.children.length>=0){let t=s,n=o.children[t],i;if(o.children.length===1)i={offset:o.offset+1,length:o.length-2,content:``};else if(o.children.length-1===t){let e=o.children[t-1],n=e.offset+e.length;i={offset:n,length:o.offset+o.length-2-n,content:``}}else i={offset:n.offset,length:o.children[t+1].offset-n.offset,content:``};return Y(e,i,r)}else if(n!==void 0){let t,i=`${JSON.stringify(n)}`;if(!r.isArrayInsertion&&o.children.length>s){let e=o.children[s];t={offset:e.offset,length:e.length,content:i}}else if(o.children.length===0||s===0)t={offset:o.offset+1,length:0,content:o.children.length===0?i:i+`,`};else{let e=s>o.children.length?o.children.length:s,n=o.children[e-1];t={offset:n.offset+n.length,length:0,content:`,`+i}}return Y(e,t,r)}else throw Error(`Can not ${n===void 0?`remove`:r.isArrayInsertion?`insert`:`modify`} Array index ${t} as length is not sufficient`)}else throw Error(`Can not add ${typeof s==`number`?`property`:`index`} to parent of type ${o.type}`)}function Y(e,t,n){if(!n.formattingOptions)return[t];let r=$n(e,t),i=t.offset,a=t.offset+t.content.length;if(t.length===0||t.content.length===0){for(;i>0&&!Hn(r,i-1);)i--;for(;a<r.length&&!Hn(r,a);)a++}let o=zn(r,{offset:i,length:a-i},{...n.formattingOptions,keepLines:!1});for(let e=o.length-1;e>=0;e--){let t=o[e];r=$n(r,t),i=Math.min(i,t.offset),a=Math.max(a,t.offset+t.length),a+=t.content.length-t.length}let s=e.length-(r.length-a)-i;return[{offset:i,length:s,content:r.substring(i,a)}]}function $n(e,t){return e.substring(0,t.offset)+t.content+e.substring(t.offset+t.length)}var er;(function(e){e[e.None=0]=`None`,e[e.UnexpectedEndOfComment=1]=`UnexpectedEndOfComment`,e[e.UnexpectedEndOfString=2]=`UnexpectedEndOfString`,e[e.UnexpectedEndOfNumber=3]=`UnexpectedEndOfNumber`,e[e.InvalidUnicode=4]=`InvalidUnicode`,e[e.InvalidEscapeCharacter=5]=`InvalidEscapeCharacter`,e[e.InvalidCharacter=6]=`InvalidCharacter`})(er||={});var tr;(function(e){e[e.OpenBraceToken=1]=`OpenBraceToken`,e[e.CloseBraceToken=2]=`CloseBraceToken`,e[e.OpenBracketToken=3]=`OpenBracketToken`,e[e.CloseBracketToken=4]=`CloseBracketToken`,e[e.CommaToken=5]=`CommaToken`,e[e.ColonToken=6]=`ColonToken`,e[e.NullKeyword=7]=`NullKeyword`,e[e.TrueKeyword=8]=`TrueKeyword`,e[e.FalseKeyword=9]=`FalseKeyword`,e[e.StringLiteral=10]=`StringLiteral`,e[e.NumericLiteral=11]=`NumericLiteral`,e[e.LineCommentTrivia=12]=`LineCommentTrivia`,e[e.BlockCommentTrivia=13]=`BlockCommentTrivia`,e[e.LineBreakTrivia=14]=`LineBreakTrivia`,e[e.Trivia=15]=`Trivia`,e[e.Unknown=16]=`Unknown`,e[e.EOF=17]=`EOF`})(tr||={});const nr=Wn,rr=qn;var ir;(function(e){e[e.InvalidSymbol=1]=`InvalidSymbol`,e[e.InvalidNumberFormat=2]=`InvalidNumberFormat`,e[e.PropertyNameExpected=3]=`PropertyNameExpected`,e[e.ValueExpected=4]=`ValueExpected`,e[e.ColonExpected=5]=`ColonExpected`,e[e.CommaExpected=6]=`CommaExpected`,e[e.CloseBraceExpected=7]=`CloseBraceExpected`,e[e.CloseBracketExpected=8]=`CloseBracketExpected`,e[e.EndOfFileExpected=9]=`EndOfFileExpected`,e[e.InvalidCommentToken=10]=`InvalidCommentToken`,e[e.UnexpectedEndOfComment=11]=`UnexpectedEndOfComment`,e[e.UnexpectedEndOfString=12]=`UnexpectedEndOfString`,e[e.UnexpectedEndOfNumber=13]=`UnexpectedEndOfNumber`,e[e.InvalidUnicode=14]=`InvalidUnicode`,e[e.InvalidEscapeCharacter=15]=`InvalidEscapeCharacter`,e[e.InvalidCharacter=16]=`InvalidCharacter`})(ir||={});function ar(e,t,n,r){return Qn(e,t,n,r)}function or(e,t){let n=t.slice(0).sort((e,t)=>{let n=e.offset-t.offset;return n===0?e.length-t.length:n}),r=e.length;for(let t=n.length-1;t>=0;t--){let i=n[t];if(i.offset+i.length<=r)e=$n(e,i);else throw Error(`Overlapping edit`);r=i.offset}return e}function sr(e){for(let t of e.split(`
37
37
  `)){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 cr(e){let t=(e.match(/\r\n/g)??[]).length;return t===0?!1:t>=(e.match(/\n/g)??[]).length-t}function lr(e){try{return Ce(e).mode&511}catch{return}}function ur(e,t){let n=e.charCodeAt(0)===65279,r=n?e.slice(1):e,i=r.includes(`\r
38
38
  `)?`\r
39
39
  `:`
@@ -288,7 +288,7 @@ let Jr=/^[a-z0-9-_]+$/i;function Yr(e){let t=typeof e;if(t===`object`){if(Array.
288
288
  `)+ni(e,t[c],e,r-1,i)}else a+=s,a+=` = `,a+=Qr(t[c],e,r,i),a+=`
289
289
  `}}return e&&(a||!o)&&(a=a?`[${e}]\n${a}`:`[${e}]`),a&&o?`${a}\n${o}`:a||o}function ri(e,{maxDepth:t=1e3,numbersAsFloat:n=!1}={}){if(Yr(e)!==`object`)throw TypeError(`stringify can only be called with an object`);let r=ni(0,e,``,t,n);return r[r.length-1]===`
290
290
  `?r:r+`
291
- `}const ii=`${E}-dev`;function ai(e){return e.startsWith(E)}function oi(e){if(typeof e!=`object`||!e)return!1;let t=e;if(t.command!==`ok-pi-managed-extension`||!Array.isArray(t.args))return!1;let n=t.args[0];return typeof n==`string`&&ai(n)}function si(e){return{command:re,args:[e]}}function ci(e={}){let t=e.mode===`dev`?ii:ae,n={unix:T({...e,platformName:`darwin`}),win32:T({...e,platformName:`win32`})};return`${t}
291
+ `}const ii=`${ae}-dev`;function ai(e){return e.startsWith(ae)}function oi(e){if(typeof e!=`object`||!e)return!1;let t=e;if(t.command!==`ok-pi-managed-extension`||!Array.isArray(t.args))return!1;let n=t.args[0];return typeof n==`string`&&ai(n)}function si(e){return{command:re,args:[e]}}function ci(e={}){let t=e.mode===`dev`?ii:D,n={unix:E({...e,platformName:`darwin`}),win32:E({...e,platformName:`win32`})};return`${t}
292
292
  /**
293
293
  * Open Knowledge bridge for Pi — MANAGED FILE, written by \`ok init\`.
294
294
  * Hand edits are overwritten whenever OK re-syncs this project; remove it
@@ -631,10 +631,10 @@ export default function okBridge(pi: {
631
631
  }
632
632
  });
633
633
  }
634
- `}function li(e,t){let n=P(t,e);return n.length>0&&!n.startsWith(`..`)&&!me(n)}const ui=e=>{try{let t=fe(`git`,[`rev-parse`,`--show-toplevel`],f({cwd:e,encoding:`utf8`,stdio:[`ignore`,`pipe`,`ignore`]})).trim();return t.length>0?t:null}catch{return null}};function di(e,t={}){let n=t.homeDir??ve(),r=t.gitTopLevel??ui,i=he(e),a;try{a=Se(i)}catch{a=i}let o=a,s=0;for(;s<30&&!(o===n||o===`/`||o===``);){if(p(o))return{projectRoot:o,defaultContentDir:`.`,ancestorPromoted:o!==a,gitRootPromoted:!1};let e=M(o);if(e===o)break;o=e,s+=1}let c=r(a);return c!==null&&li(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 fi(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 Q(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 pi=[`native`,`index.js`];function mi(e={}){let t=e.moduleUrl??import.meta.url,n=e.requireModule??de(t);try{return n(N(M(_e(t)),...pi))}catch(e){fi(e)||Q(`bundled loader failed to load`,e)}try{return n(`@inkeep/open-knowledge-native-config`)}catch(e){return fi(e)||Q(`workspace addon failed to load`,e),null}}function hi(){let e=mi();return e&&typeof e.resolveSymlinkWritePath==`function`?e:null}function gi(e){let t=e,n=new Set;for(;;){let r;try{r=ye(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=xe(t)}catch(t){return Q(`readlinkSync threw during symlink walk`,t),{readPath:null,writePath:e}}t=me(i)?i:N(M(t),i)}}let _i;function vi(){return _i===void 0&&(_i=hi()),_i}function yi(e,t=vi){let n=t();if(n)try{let t=n.resolveSymlinkWritePath(e);return{readPath:t.readPath??null,writePath:t.writePath}}catch(e){Q(`resolveSymlinkWritePath threw`,e)}return gi(e)}function bi(){let e=mi();return e&&typeof e.parseTomlToJson==`function`?e:null}function xi(e){try{let t=e.parseTomlToJson(`probe = 1`);return typeof t==`string`&&t.includes(`probe`)}catch(e){return Q(`addon loaded but probe failed`,e),!1}}function Si(e){if(!D(e))throw Error(`TOML root is not a table`);return e}function Ci(e){return{backend:`native`,parseToObject(t){return Si(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 wi(){return{backend:`fallback`,parseToObject(e){return Si(qr(e))}}}function Ti(e=bi){let t=e();return t&&xi(t)?Ci(t):wi()}let Ei=null;function Di(){return Ei===null&&(Ei=Ti()),Ei}var Oi=a();const ki={allowTrailingComma:!0,disallowComments:!1};function Ai(e,t){return e.error===1&&e.offset===0&&t.charCodeAt(0)===65279}function ji(e){let t=[],n=nr(e,t,ki);return t.some(t=>!Ai(t,e))||!n||n.type!==`object`?null:n}function Mi(e,t){let n=0;for(let r of e.children??[]){let e=r.children?.[0];e!==void 0&&rr(e)===t&&(n+=1)}return n}function Ni(e,t){_(e,`${JSON.stringify(t,null,2)}\n`)}function Pi(e,t){let n=ri(t);_(e,n.endsWith(`
634
+ `}function li(e,t){let n=P(t,e);return n.length>0&&!n.startsWith(`..`)&&!me(n)}const ui=e=>{try{let t=fe(`git`,[`rev-parse`,`--show-toplevel`],f({cwd:e,encoding:`utf8`,stdio:[`ignore`,`pipe`,`ignore`]})).trim();return t.length>0?t:null}catch{return null}};function di(e,t={}){let n=t.homeDir??ve(),r=t.gitTopLevel??ui,i=he(e),a;try{a=Se(i)}catch{a=i}let o=a,s=0;for(;s<30&&!(o===n||o===`/`||o===``);){if(p(o))return{projectRoot:o,defaultContentDir:`.`,ancestorPromoted:o!==a,gitRootPromoted:!1};let e=M(o);if(e===o)break;o=e,s+=1}let c=r(a);return c!==null&&li(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 fi(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 Q(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 pi=[`native`,`index.js`];function mi(e={}){let t=e.moduleUrl??import.meta.url,n=e.requireModule??de(t);try{return n(N(M(_e(t)),...pi))}catch(e){fi(e)||Q(`bundled loader failed to load`,e)}try{return n(`@inkeep/open-knowledge-native-config`)}catch(e){return fi(e)||Q(`workspace addon failed to load`,e),null}}function hi(){let e=mi();return e&&typeof e.resolveSymlinkWritePath==`function`?e:null}function gi(e){let t=e,n=new Set;for(;;){let r;try{r=ye(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=xe(t)}catch(t){return Q(`readlinkSync threw during symlink walk`,t),{readPath:null,writePath:e}}t=me(i)?i:N(M(t),i)}}let _i;function vi(){return _i===void 0&&(_i=hi()),_i}function yi(e,t=vi){let n=t();if(n)try{let t=n.resolveSymlinkWritePath(e);return{readPath:t.readPath??null,writePath:t.writePath}}catch(e){Q(`resolveSymlinkWritePath threw`,e)}return gi(e)}function bi(){let e=mi();return e&&typeof e.parseTomlToJson==`function`?e:null}function xi(e){try{let t=e.parseTomlToJson(`probe = 1`);return typeof t==`string`&&t.includes(`probe`)}catch(e){return Q(`addon loaded but probe failed`,e),!1}}function Si(e){if(!w(e))throw Error(`TOML root is not a table`);return e}function Ci(e){return{backend:`native`,parseToObject(t){return Si(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 wi(){return{backend:`fallback`,parseToObject(e){return Si(qr(e))}}}function Ti(e=bi){let t=e();return t&&xi(t)?Ci(t):wi()}let Ei=null;function Di(){return Ei===null&&(Ei=Ti()),Ei}var Oi=a();const ki={allowTrailingComma:!0,disallowComments:!1};function Ai(e,t){return e.error===1&&e.offset===0&&t.charCodeAt(0)===65279}function ji(e){let t=[],n=nr(e,t,ki);return t.some(t=>!Ai(t,e))||!n||n.type!==`object`?null:n}function Mi(e,t){let n=0;for(let r of e.children??[]){let e=r.children?.[0];e!==void 0&&rr(e)===t&&(n+=1)}return n}function Ni(e,t){_(e,`${JSON.stringify(t,null,2)}\n`)}function Pi(e,t){let n=ri(t);_(e,n.endsWith(`
635
635
  `)?n:`${n}\n`)}function Fi(e,t){let n=(0,Oi.stringify)(t);_(e,n.endsWith(`
636
- `)?n:`${n}\n`)}const Ii=10*1024*1024;function Li(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)=>Li(e,t[n]));if(D(e)&&D(t)){let n=Object.keys(e);return n.length===Object.keys(t).length?n.every(n=>Object.hasOwn(t,n)&&Li(e[n],t[n])):!1}return!1}function Ri(e){for(let t of e.split(`
637
- `)){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 zi(e,t,n){return t===void 0?[e,n]:[e,t,n]}function Bi(e,t,n,r){let i={[n]:r};return{[e]:t===void 0?i:{[t]:i}}}function Vi(e,t,n){let r=e[t];return n===void 0?r:D(r)?r[n]:void 0}function Hi(e,t,n,r,i){if(!I(e))return Ni(e,Bi(t,i,n,r)),{kind:`written`};let a;try{a=L(e,`utf-8`)}catch(e){return Q(`json config read failed`,e),{kind:`declined`,reason:`unparseable`}}if(a.trim()===``)return Ni(e,Bi(t,i,n,r)),{kind:`written`};if(Buffer.byteLength(a,`utf-8`)>Ii)return{kind:`declined`,reason:`oversize`};let o=ji(a);if(!o)return{kind:`declined`,reason:`unparseable`};if(Mi(o,t)>1)return{kind:`declined`,reason:`duplicate-container`};let s=Vi(rr(o),t,i),c=D(s)?s[n]:void 0,l=c!==void 0;if(l&&Li(c,r))return{kind:`overwritten`};let u=a.charCodeAt(0)===65279,d=u?a.slice(1):a,f=d.includes(`\r
636
+ `)?n:`${n}\n`)}const Ii=10*1024*1024;function Li(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)=>Li(e,t[n]));if(w(e)&&w(t)){let n=Object.keys(e);return n.length===Object.keys(t).length?n.every(n=>Object.hasOwn(t,n)&&Li(e[n],t[n])):!1}return!1}function Ri(e){for(let t of e.split(`
637
+ `)){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 zi(e,t,n){return t===void 0?[e,n]:[e,t,n]}function Bi(e,t,n,r){let i={[n]:r};return{[e]:t===void 0?i:{[t]:i}}}function Vi(e,t,n){let r=e[t];return n===void 0?r:w(r)?r[n]:void 0}function Hi(e,t,n,r,i){if(!I(e))return Ni(e,Bi(t,i,n,r)),{kind:`written`};let a;try{a=L(e,`utf-8`)}catch(e){return Q(`json config read failed`,e),{kind:`declined`,reason:`unparseable`}}if(a.trim()===``)return Ni(e,Bi(t,i,n,r)),{kind:`written`};if(Buffer.byteLength(a,`utf-8`)>Ii)return{kind:`declined`,reason:`oversize`};let o=ji(a);if(!o)return{kind:`declined`,reason:`unparseable`};if(Mi(o,t)>1)return{kind:`declined`,reason:`duplicate-container`};let s=Vi(rr(o),t,i),c=w(s)?s[n]:void 0,l=c!==void 0;if(l&&Li(c,r))return{kind:`overwritten`};let u=a.charCodeAt(0)===65279,d=u?a.slice(1):a,f=d.includes(`\r
638
638
  `)?`\r
639
639
  `:`
640
640
  `,p=ar(d,zi(t,i,n),r,{formattingOptions:{...Ri(d),eol:f}}),m=`${u?``:``}${or(d,p)}`;return m!==a&&_(e,m,{mode:lr(e)}),{kind:l?`overwritten`:`written`}}function Ui(e,t,n,r,i){let a=``;if(I(t))try{a=L(t,`utf-8`)}catch(e){return Q(`toml config read failed`,e),{kind:`declined`,reason:`unparseable`}}let o=a.trim()===``;if(e.backend===`fallback`)return o?(Pi(t,{[n]:{[r]:i}}),{kind:`written`}):{kind:`declined`,reason:`no-native-writer`};let s=a.charCodeAt(0)===65279,c=s?a.slice(1):a,l=cr(c),u=o||c.endsWith(`
@@ -646,8 +646,8 @@ export default function okBridge(pi: {
646
646
  `)||(u=`${u}\n`):u=u.replace(/\n+$/,``),d&&(u=u.replace(/\r\n/g,`
647
647
  `).replace(/\n/g,`\r
648
648
  `));let f=`${a?``:``}${u}`;return f!==i&&_(e,f,{mode:lr(e)}),{kind:l?`overwritten`:`written`}}const Gi=e=>e!==`project`,Ki=e=>e!==`user`;async function qi(){let e=await vr({message:`Where should the MCP server be configured?
649
- `,required:!1,theme:{icon:{checked:`[x]`,unchecked:`[ ]`}},choices:[{name:`User-level (~/.claude.json, ~/.cursor/mcp.json, …)`,value:`user`,checked:!0},{name:`Project-level (.mcp.json, .cursor/mcp.json, …)`,value:`project`,checked:!0}]});return e.includes(`user`)&&e.includes(`project`)?`both`:e.includes(`user`)?`user`:e.includes(`project`)?`project`:null}async function Ji(e){return e.mcp===!1?null:e.scope?e.scope:e.isTTY??process.stdout.isTTY?(e.promptFn??qi)():`both`}async function Yi(e){return Cr({message:`How do you want to handle OpenKnowledge config files (.ok/, .mcp.json, project skills)?`,default:e,choices:[{name:`Share with my team (commit alongside content)`,value:`shared`,description:`OK config gets committed alongside your project content.`},{name:`Local only (keep out of git via .git/info/exclude)`,value:`local-only`,description:"OK config stays on this machine only; teammates do not see it. Safe escape hatch via `ok config-sharing share`."}]})}async function Xi(e){if(e.sharing!==void 0)return e.sharing;let t=xn(e.projectRoot)===`local-only`?`local-only`:`shared`;return e.isTTY??process.stdout.isTTY?(e.promptFn??Yi)(t):t}var $=class extends Error{constructor(e){super(e),this.name=`ContentDirError`}};function Zi(e){if(e===void 0||e===!0)return new Set(b);if(e===!1)return new Set;let t=e.split(`,`).map(e=>e.trim()).filter(Boolean);return new Set(b.filter(e=>t.includes(e)))}function Qi(e,t,n){let r=he(n,e),i;try{i=Ce(r)}catch(e){let t=e.code;throw t===`ENOENT`?new $(`--content-dir path does not exist: ${r}`):new $(`--content-dir path is not accessible (${t??`unknown error`}): ${r}`)}if(!i.isDirectory())throw new $(`--content-dir must be a directory: ${r}`);let a=P($i(t),$i(r));if(a.startsWith(`..`)||me(a))throw new $(`--content-dir must be inside the project root (${t}); got ${r}`);return a===``?`.`:a}function $i(e){try{return Se(e)}catch{return e}}const ea=`open-knowledge-ui`;function ta(e,t,n){try{return I(e.detectPath?.(t,n)??M(e.configPath(t,n)))}catch{return!1}}function na(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&&!ta(e,t,r))return{editorId:e.id,label:e.label,action:`skipped-missing`,configPath:o,serverName:a};if(i!==void 0)try{se(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 ia(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{be(M(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{v(`${o}.lock`,()=>{let t=yi(o).writePath;if(be(M(t),{recursive:!0}),e.format===`toml`){let n=Ui(Di(),t,e.topLevelKey,a,c);l.action=n.kind,n.kind===`declined`&&(l.declineReason=n.reason);return}if(e.format===`yaml`){let n=Wi(t,e.topLevelKey,a,c);l.action=n.kind,n.kind===`declined`&&(l.declineReason=n.reason);return}let n=Hi(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:ci};function ia(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{be(M(t),{recursive:!0})}catch(e){return o(e)}let l={action:`written`};try{v(`${t}.lock`,()=>{let e=null;try{e=L(t,`utf-8`)}catch{e=null}if(e===c){l.action=`overwritten`;return}_(t,c,e===null?void 0:{mode:lr(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 aa(e,t){let n=e.projectConfigPath?.(t);if(!(!n||!I(n)))return{editorId:e.id,label:e.label,path:n}}async function oa(e){let t=ne(e.editors).filter(e=>e.scope===`global`),n={mode:`published`,skipAvailabilityCheck:!0};return t.map(t=>na(t,``,n,e.home))}function sa(e,t,n,r){let i=la(e,t,n,r);return i.kind===`present`?i.entry:null}function ca(e,t,n,r){let i=Vi(e,t,r);if(!D(i))return{kind:`no-entry`};let a=i[n];return D(a)?{kind:`present`,entry:a}:{kind:`no-entry`}}function la(e,t,n,r){let i;try{i=r??e.configPath(t,n)}catch{return{kind:`absent`}}if(!I(i))return{kind:`absent`};try{if(Ce(i).size>Ii)return{kind:`decline`,reason:`oversize`}}catch{return{kind:`decline`,reason:`unparseable`}}let a;try{a=L(i,`utf-8`)}catch{return{kind:`decline`,reason:`unparseable`}}if(a.trim()===``)return{kind:`absent`};if(e.format===`file`)return{kind:`present`,entry:si(a)};let o=e.serverName(t);if(e.format===`toml`){let t;try{t=Di().parseToObject(a)}catch{return{kind:`decline`,reason:`unparseable`}}return ca(t,e.topLevelKey,o,e.serverMapSubKey)}if(e.format===`yaml`){let t=(0,Oi.parseDocument)(a.charCodeAt(0)===65279?a.slice(1):a);return t.errors.length>0?{kind:`decline`,reason:`unparseable`}:ca(t.toJS()??{},e.topLevelKey,o,e.serverMapSubKey)}let s=ji(a);return s?Mi(s,e.topLevelKey)>1?{kind:`decline`,reason:`duplicate-container`}:ca(rr(s),e.topLevelKey,o,e.serverMapSubKey):{kind:`decline`,reason:`unparseable`}}async function ua(e={}){let t=he(e.cwd??process.cwd()),n=di(t,{homeDir:e.home}),r=n.projectRoot,i=!I(N(r,`.ok`)),a=n.gitRootPromoted?P(r,t):void 0,o=e.contentDir===void 0?n.defaultContentDir:Qi(e.contentDir,r,t);n.ancestorPromoted?console.log(`[ok] Opened existing project at ${r}`):n.gitRootPromoted&&i&&o===`.`&&process.stderr.write(`${A(`[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 y(r),d;try{d=l(r,{contentDir:o})}catch(t){let i=w.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 f=d.created.includes(ee),p=!1;if(c.didInit)try{p=x(r)===`created`}catch(e){console.warn(`[ok] Skipping .gitignore seed at ${r}: ${e instanceof Error?e.message:String(e)}`)}let m=await Ji({scope:e.scope,mcp:e.mcp,isTTY:e.isTTY,promptFn:e.promptFn}),_=e.editors??ga(r,e.home),v=e.editors??oe.filter(e=>w[e].projectConfigPath!==void 0),S=ne(_),C=ne(v),T=e.mcp===!1||m===null,re=Array.from(new Map([...S,...T?[]:C].map(e=>[e.id,e])).values()),ae=S.filter(t=>ta(t,r,e.home)),E=[],se=[],D=new Set;for(let t of re){if(T){let n=``;try{n=t.configPath(r,e.home)}catch{}E.push({editorId:t.id,label:t.label,action:`skipped-flag`,configPath:n,serverName:t.serverName(r)});continue}if(Gi(m)&&S.includes(t)&&t.scope===`global`&&E.push(na(t,r,s,e.home)),Ki(m)&&C.includes(t)&&t.projectConfigPath){let n=t.projectConfigPath(r),i=na(t,r,s,e.home,n);E.push(i),(i.action===`written`||i.action===`overwritten`)&&D.add(n)}}let O=new Set;for(let e of C){let t=e.projectSkillPath?.(r);!t||O.has(t)||(O.add(t),se.push(ie(e,r)))}let ce=!T&&m!==null&&Ki(m)?C.filter(e=>!e.projectConfigPath).map(e=>e.label):void 0,k=T?[]:ae.map(e=>aa(e,r)).filter(e=>e!==void 0).filter(e=>!D.has(e.path)),le=e.installUserSkill??u,j=e.home??ve(),ue=Zi(e.skills),de=!1,fe=!1,pe=!1,M=!1;for(let t of b){let n=ue.has(t);if(await g(j,h[t],n).catch(()=>{}),n){de=!0;let n=await le({home:e.home,bundleId:t,force:!0});n===`installed`?fe=!0:n===`failed`?pe=!0:M=!0}else try{te(j,t)}catch{}}let me=pe?`failed`:fe?`installed`:de&&M?`skip-current`:`declined`,ge=T?`skipped-flag`:`skipped-missing`,F=E.find(e=>e.editorId===`claude`)??E[0]??{action:ge,configPath:w.claude.configPath(r,e.home)},_e=await da({projectRoot:r,desiredMode:await Xi({sharing:e.sharing,projectRoot:r,isTTY:e.isTTY,promptFn:e.sharingPromptFn}),explicitFlag:e.sharing});return{projectRoot:r,contentCreated:d.created,contentUpdated:d.updated,contentSkipped:d.skipped,editors:E,projectSkills:se,legacyProjectConfigs:k,skillInstall:me,didGitInit:c.didInit,rootGitignoreCreated:p,gitRootPromoted:n.gitRootPromoted,promotedFromDir:a,contentDir:f?o:void 0,contentDirRequested:e.contentDir,contentScaffoldFailed:!1,mcpAction:F.action,mcpPath:F.configPath,mcpError:`error`in F?F.error:void 0,projectScopeUnsupportedLabels:ce,sharing:_e}}async function da(e){let{projectRoot:t,desiredMode:n,explicitFlag:r}=e,i=xn(t);if(i===`no-git`)return{kind:`no-exclude`,reason:`no-git`,localOnlyRequested:r===`local-only`};let a=vn(t);if(n===`local-only`){let e=yn(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`}:fa(t,e,`add`)}if(i===`shared`)return{kind:`applied`,mode:`shared`,action:`noop`,appended:[],alreadyPresent:[],removed:[]};let o=bn(t,a);return o.kind===`no-exclude`?{kind:`no-exclude`,reason:o.reason,localOnlyRequested:!1}:fa(t,o,`remove`)}function fa(e,t,n){let r=xn(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 pa(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 ma(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`);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 s=N(t,`.ok`);if(e.contentCreated.length>0||e.contentUpdated.length>0?(n.push(j(`Content scaffolded at ${s}/`)),e.contentCreated.length>0&&n.push(` Created: ${e.contentCreated.join(`, `)}`),e.contentUpdated.length>0&&n.push(` Updated: ${e.contentUpdated.join(`, `)}`)):n.push(j(`Content already present at ${s}/`)),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(j(`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(j(`MCP server configuration:`)),n.push(` No supported editor config directories detected; skipped MCP registration`);else{n.push(j(`MCP server configuration:`));for(let r of e.editors){let e=r.configPath.startsWith(t)?P(t,r.configPath):r.configPath.replace(/^\/Users\/[^/]+/,`~`),i=r.serverName===`open-knowledge`?``:` (${r.serverName})`,a=r.configScope===`project`?` (project)`:``,o=`${r.label}${a}`,s=` `.repeat(Math.max(1,20-o.length)),c=r.editorId===`claude-desktop`&&(r.action===`written`||r.action===`overwritten`)?` — quit and relaunch Claude Desktop to activate`:``;switch(r.action){case`written`:n.push(` ${o}${s}${e} ${k(`registered`)}${i}${c}`);break;case`overwritten`:n.push(` ${o}${s}${e} ${k(`updated`)}${i}${c}`);break;case`skipped-missing`:n.push(` ${o}${s}${e} config root missing; skipped`);break;case`failed`:n.push(` ${o}${s}${e} ${le(`FAILED`)}: ${r.error}`);break;case`declined`:n.push(` ${o}${s}${e} left unchanged (${pa(r.declineReason)})`);break;case`skipped-flag`:break;default:r.action}}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(j(`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?P(t,r.path):``;switch(r.action){case`written`:n.push(` ${e}${i}${a} ${k(`installed`)}`);break;case`overwritten`:n.push(` ${e}${i}${a} ${k(`updated`)}`);break;case`skipped-unsupported`:n.push(` ${e}${i}no known project skill surface; skipped`);break;case`failed`:n.push(` ${e}${i}${a} ${le(`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} ${P(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(j(`User-global skill:`)),e.skillInstall){case`installed`:n.push(` open-knowledge ${k(`installed to detected agent hosts`)} via \`npx skills\``);break;case`skip-current`:n.push(` open-knowledge ${k(`already installed at current version`)}`);break;case`declined`:n.push(` open-knowledge ${ce(`skipped (opted out via --no-skills)`)}`);break;case`failed`:n.push(` ${A(`open-knowledge install failed — MCP still configured; run manually:`)}`),n.push(` ${A(` 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(A(`⚠ --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(A(`⚠ 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(ue(e.preview,t))):e.previewWarning&&(n.push(``),n.push(`Content preview unavailable: ${e.previewWarning}`)),n.push(``),n.push(...ya(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(`${k(`✓`)} ${j(`Next steps:`)}`),n.push(` 1. Open your editor (${O(r.join(` / `))})`),n.push(` 2. Approve the MCP server when prompted`),n.push(` 3. (Optional) scaffold the starter knowledge-base structure:`),n.push(` - ${O(`ok seed`)} — empty repo, Karpathy 3-layer`),n.push(` - ${O(`mcp__open-knowledge__discover`)} — existing repo, extract conventions`),n.push(` 4. Use the MCP workflow tools as you build the wiki:`),n.push(` - ${O(`mcp__open-knowledge__ingest`)} — capture an external source`),n.push(` - ${O(`mcp__open-knowledge__research`)} — gather sources and write findings`),n.push(` - ${O(`mcp__open-knowledge__consolidate`)} — promote research to canonical articles`)}return n.join(`
650
- `)}function ha(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 ga(e,t){let n=[];for(let r of oe)ta(w[r],e,t)&&n.push(r);return n}function _a(){let e={log:console.log,info:console.info,debug:console.debug},t=(...e)=>{process.stderr.write(`${e.map(e=>typeof e==`string`?e:Te(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 va(){return new C(`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 S(`--scope <scope>`,`Write MCP config at user level, project level, or both`).choices([`user`,`project`,`both`])).addOption(new S(`--shared`,`Commit OK config alongside content (the default for fresh repos)`).conflicts(`localOnly`)).addOption(new S(`--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?_a():null;try{let r;try{r=await ua({cwd:t,mcp:e.mcp,devMcp:e.devMcp,scope:e.scope,sharing:n,contentDir:e.contentDir,skills:e.skills})}catch(e){if(e instanceof $){process.stderr.write(`${e.message}\n`),process.exitCode=64;return}if(e instanceof s||e instanceof d){process.stderr.write(`${e.message}\n`),process.exitCode=78;return}if(e instanceof c){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.
651
- `),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-DwcZjA-t.mjs`),{resolveContentDir:l}=await import(`./dist-DxYTuPk3.mjs`),u;try{u=o(r.projectRoot).config,i=u.content.dir}catch(e){r.previewWarning=e instanceof Error?e.message:String(e)}if(u)try{let{previewContent:e}=await import(`./preview-DbnyxVMM.mjs`),t=l(u,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(ha(r,{contentDir:i,contentFileCount:a}),null,2)}\n`):process.stdout.write(`${ma(r,r.projectRoot)}\n`),(r.editors.some(e=>e.action===`failed`)||r.mcpAction===`failed`)&&(process.exitCode=1)}finally{r?.()}})}function ya(e,t){let n=[];switch(e.kind){case`applied`:return n.push(j(`Sharing mode:`)),e.mode===`local-only`?e.action===`added`?n.push(` ${k(`local-only`)} — appended ${e.appended.length} path(s) to ${j(`${t}/.git/info/exclude`)} (per-clone, not committed).`):e.action===`noop`&&e.alreadyPresent.length>0?n.push(` ${k(`local-only`)} — already excluded; nothing to do.`):n.push(` ${k(`local-only`)}`):e.action===`removed`?n.push(` ${k(`shared`)} — removed OK paths from ${j(`${t}/.git/info/exclude`)}; commit the files to share with teammates.`):n.push(` ${k(`shared`)} — OK config will be committed alongside content.`),n;case`refused-tracked`:n.push(A(`Sharing mode: switch to local-only deferred`));for(let t of e.remediation.split(`
649
+ `,required:!1,theme:{icon:{checked:`[x]`,unchecked:`[ ]`}},choices:[{name:`User-level (~/.claude.json, ~/.cursor/mcp.json, …)`,value:`user`,checked:!0},{name:`Project-level (.mcp.json, .cursor/mcp.json, …)`,value:`project`,checked:!0}]});return e.includes(`user`)&&e.includes(`project`)?`both`:e.includes(`user`)?`user`:e.includes(`project`)?`project`:null}async function Ji(e){return e.mcp===!1?null:e.scope?e.scope:e.isTTY??process.stdout.isTTY?(e.promptFn??qi)():`both`}async function Yi(e){return Cr({message:`How do you want to handle OpenKnowledge config files (.ok/, .mcp.json, project skills)?`,default:e,choices:[{name:`Share with my team (commit alongside content)`,value:`shared`,description:`OK config gets committed alongside your project content.`},{name:`Local only (keep out of git via .git/info/exclude)`,value:`local-only`,description:"OK config stays on this machine only; teammates do not see it. Safe escape hatch via `ok config-sharing share`."}]})}async function Xi(e){if(e.sharing!==void 0)return e.sharing;let t=xn(e.projectRoot)===`local-only`?`local-only`:`shared`;return e.isTTY??process.stdout.isTTY?(e.promptFn??Yi)(t):t}var $=class extends Error{constructor(e){super(e),this.name=`ContentDirError`}};function Zi(e){if(e===void 0||e===!0)return new Set(b);if(e===!1)return new Set;let t=e.split(`,`).map(e=>e.trim()).filter(Boolean);return new Set(b.filter(e=>t.includes(e)))}function Qi(e,t,n){let r=he(n,e),i;try{i=Ce(r)}catch(e){let t=e.code;throw t===`ENOENT`?new $(`--content-dir path does not exist: ${r}`):new $(`--content-dir path is not accessible (${t??`unknown error`}): ${r}`)}if(!i.isDirectory())throw new $(`--content-dir must be a directory: ${r}`);let a=P($i(t),$i(r));if(a.startsWith(`..`)||me(a))throw new $(`--content-dir must be inside the project root (${t}); got ${r}`);return a===``?`.`:a}function $i(e){try{return Se(e)}catch{return e}}const ea=`open-knowledge-ui`;function ta(e,t,n){try{return I(e.detectPath?.(t,n)??M(e.configPath(t,n)))}catch{return!1}}function na(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&&!ta(e,t,r))return{editorId:e.id,label:e.label,action:`skipped-missing`,configPath:o,serverName:a};if(i!==void 0)try{se(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 ia(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{be(M(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{v(`${o}.lock`,()=>{let t=yi(o).writePath;if(be(M(t),{recursive:!0}),e.format===`toml`){let n=Ui(Di(),t,e.topLevelKey,a,c);l.action=n.kind,n.kind===`declined`&&(l.declineReason=n.reason);return}if(e.format===`yaml`){let n=Wi(t,e.topLevelKey,a,c);l.action=n.kind,n.kind===`declined`&&(l.declineReason=n.reason);return}let n=Hi(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:ci};function ia(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{be(M(t),{recursive:!0})}catch(e){return o(e)}let l={action:`written`};try{v(`${t}.lock`,()=>{let e=null;try{e=L(t,`utf-8`)}catch{e=null}if(e===c){l.action=`overwritten`;return}_(t,c,e===null?void 0:{mode:lr(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 aa(e,t){let n=e.projectConfigPath?.(t);if(!(!n||!I(n)))return{editorId:e.id,label:e.label,path:n}}async function oa(e){let t=ne(e.editors).filter(e=>e.scope===`global`),n={mode:`published`,skipAvailabilityCheck:!0};return t.map(t=>na(t,``,n,e.home))}function sa(e,t,n,r){let i=la(e,t,n,r);return i.kind===`present`?i.entry:null}function ca(e,t,n,r){let i=Vi(e,t,r);if(!w(i))return{kind:`no-entry`};let a=i[n];return w(a)?{kind:`present`,entry:a}:{kind:`no-entry`}}function la(e,t,n,r){let i;try{i=r??e.configPath(t,n)}catch{return{kind:`absent`}}if(!I(i))return{kind:`absent`};try{if(Ce(i).size>Ii)return{kind:`decline`,reason:`oversize`}}catch{return{kind:`decline`,reason:`unparseable`}}let a;try{a=L(i,`utf-8`)}catch{return{kind:`decline`,reason:`unparseable`}}if(a.trim()===``)return{kind:`absent`};if(e.format===`file`)return{kind:`present`,entry:si(a)};let o=e.serverName(t);if(e.format===`toml`){let t;try{t=Di().parseToObject(a)}catch{return{kind:`decline`,reason:`unparseable`}}return ca(t,e.topLevelKey,o,e.serverMapSubKey)}if(e.format===`yaml`){let t=(0,Oi.parseDocument)(a.charCodeAt(0)===65279?a.slice(1):a);return t.errors.length>0?{kind:`decline`,reason:`unparseable`}:ca(t.toJS()??{},e.topLevelKey,o,e.serverMapSubKey)}let s=ji(a);return s?Mi(s,e.topLevelKey)>1?{kind:`decline`,reason:`duplicate-container`}:ca(rr(s),e.topLevelKey,o,e.serverMapSubKey):{kind:`decline`,reason:`unparseable`}}async function ua(e={}){let t=he(e.cwd??process.cwd()),n=di(t,{homeDir:e.home}),r=n.projectRoot,i=!I(N(r,`.ok`)),a=n.gitRootPromoted?P(r,t):void 0,o=e.contentDir===void 0?n.defaultContentDir:Qi(e.contentDir,r,t);n.ancestorPromoted?console.log(`[ok] Opened existing project at ${r}`):n.gitRootPromoted&&i&&o===`.`&&process.stderr.write(`${A(`[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 y(r),d;try{d=l(r,{contentDir:o})}catch(t){let i=T.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 f=d.created.includes(ee),p=!1;if(c.didInit)try{p=x(r)===`created`}catch(e){console.warn(`[ok] Skipping .gitignore seed at ${r}: ${e instanceof Error?e.message:String(e)}`)}let m=await Ji({scope:e.scope,mcp:e.mcp,isTTY:e.isTTY,promptFn:e.promptFn}),_=e.editors??ga(r,e.home),v=e.editors??oe.filter(e=>T[e].projectConfigPath!==void 0),S=ne(_),C=ne(v),w=e.mcp===!1||m===null,E=Array.from(new Map([...S,...w?[]:C].map(e=>[e.id,e])).values()),re=S.filter(t=>ta(t,r,e.home)),D=[],ae=[],se=new Set;for(let t of E){if(w){let n=``;try{n=t.configPath(r,e.home)}catch{}D.push({editorId:t.id,label:t.label,action:`skipped-flag`,configPath:n,serverName:t.serverName(r)});continue}if(Gi(m)&&S.includes(t)&&t.scope===`global`&&D.push(na(t,r,s,e.home)),Ki(m)&&C.includes(t)&&t.projectConfigPath){let n=t.projectConfigPath(r),i=na(t,r,s,e.home,n);D.push(i),(i.action===`written`||i.action===`overwritten`)&&se.add(n)}}let O=new Set;for(let e of C){let t=e.projectSkillPath?.(r);!t||O.has(t)||(O.add(t),ae.push(ie(e,r)))}let ce=!w&&m!==null&&Ki(m)?C.filter(e=>!e.projectConfigPath).map(e=>e.label):void 0,k=w?[]:re.map(e=>aa(e,r)).filter(e=>e!==void 0).filter(e=>!se.has(e.path)),le=e.installUserSkill??u,j=e.home??ve(),ue=Zi(e.skills),de=!1,fe=!1,pe=!1,M=!1;for(let t of b){let n=ue.has(t);if(await g(j,h[t],n).catch(()=>{}),n){de=!0;let n=await le({home:e.home,bundleId:t,force:!0});n===`installed`?fe=!0:n===`failed`?pe=!0:M=!0}else try{te(j,t)}catch{}}let me=pe?`failed`:fe?`installed`:de&&M?`skip-current`:`declined`,ge=w?`skipped-flag`:`skipped-missing`,F=D.find(e=>e.editorId===`claude`)??D[0]??{action:ge,configPath:T.claude.configPath(r,e.home)},_e=await da({projectRoot:r,desiredMode:await Xi({sharing:e.sharing,projectRoot:r,isTTY:e.isTTY,promptFn:e.sharingPromptFn}),explicitFlag:e.sharing});return{projectRoot:r,contentCreated:d.created,contentUpdated:d.updated,contentSkipped:d.skipped,editors:D,projectSkills:ae,legacyProjectConfigs:k,skillInstall:me,didGitInit:c.didInit,rootGitignoreCreated:p,gitRootPromoted:n.gitRootPromoted,promotedFromDir:a,contentDir:f?o:void 0,contentDirRequested:e.contentDir,contentScaffoldFailed:!1,mcpAction:F.action,mcpPath:F.configPath,mcpError:`error`in F?F.error:void 0,projectScopeUnsupportedLabels:ce,sharing:_e}}async function da(e){let{projectRoot:t,desiredMode:n,explicitFlag:r}=e,i=xn(t);if(i===`no-git`)return{kind:`no-exclude`,reason:`no-git`,localOnlyRequested:r===`local-only`};let a=vn(t);if(n===`local-only`){let e=yn(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`}:fa(t,e,`add`)}if(i===`shared`)return{kind:`applied`,mode:`shared`,action:`noop`,appended:[],alreadyPresent:[],removed:[]};let o=bn(t,a);return o.kind===`no-exclude`?{kind:`no-exclude`,reason:o.reason,localOnlyRequested:!1}:fa(t,o,`remove`)}function fa(e,t,n){let r=xn(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 pa(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 ma(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`);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 s=N(t,`.ok`);if(e.contentCreated.length>0||e.contentUpdated.length>0?(n.push(j(`Content scaffolded at ${s}/`)),e.contentCreated.length>0&&n.push(` Created: ${e.contentCreated.join(`, `)}`),e.contentUpdated.length>0&&n.push(` Updated: ${e.contentUpdated.join(`, `)}`)):n.push(j(`Content already present at ${s}/`)),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(j(`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(j(`MCP server configuration:`)),n.push(` No supported editor config directories detected; skipped MCP registration`);else{n.push(j(`MCP server configuration:`));for(let r of e.editors){let e=r.configPath.startsWith(t)?P(t,r.configPath):r.configPath.replace(/^\/Users\/[^/]+/,`~`),i=r.serverName===`open-knowledge`?``:` (${r.serverName})`,a=r.configScope===`project`?` (project)`:``,o=`${r.label}${a}`,s=` `.repeat(Math.max(1,20-o.length)),c=r.editorId===`claude-desktop`&&(r.action===`written`||r.action===`overwritten`)?` — quit and relaunch Claude Desktop to activate`:``;switch(r.action){case`written`:n.push(` ${o}${s}${e} ${k(`registered`)}${i}${c}`);break;case`overwritten`:n.push(` ${o}${s}${e} ${k(`updated`)}${i}${c}`);break;case`skipped-missing`:n.push(` ${o}${s}${e} config root missing; skipped`);break;case`failed`:n.push(` ${o}${s}${e} ${le(`FAILED`)}: ${r.error}`);break;case`declined`:n.push(` ${o}${s}${e} left unchanged (${pa(r.declineReason)})`);break;case`skipped-flag`:break;default:r.action}}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(j(`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?P(t,r.path):``;switch(r.action){case`written`:n.push(` ${e}${i}${a} ${k(`installed`)}`);break;case`overwritten`:n.push(` ${e}${i}${a} ${k(`updated`)}`);break;case`skipped-unsupported`:n.push(` ${e}${i}no known project skill surface; skipped`);break;case`failed`:n.push(` ${e}${i}${a} ${le(`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} ${P(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(j(`User-global skill:`)),e.skillInstall){case`installed`:n.push(` open-knowledge ${k(`installed to detected agent hosts`)} via \`npx skills\``);break;case`skip-current`:n.push(` open-knowledge ${k(`already installed at current version`)}`);break;case`declined`:n.push(` open-knowledge ${ce(`skipped (opted out via --no-skills)`)}`);break;case`failed`:n.push(` ${A(`open-knowledge install failed — MCP still configured; run manually:`)}`),n.push(` ${A(` 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(A(`⚠ --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(A(`⚠ 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(ue(e.preview,t))):e.previewWarning&&(n.push(``),n.push(`Content preview unavailable: ${e.previewWarning}`)),n.push(``),n.push(...ya(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(`${k(`✓`)} ${j(`Next steps:`)}`),n.push(` 1. Open your editor (${O(r.join(` / `))})`),n.push(` 2. Approve the MCP server when prompted`),n.push(` 3. (Optional) scaffold the starter knowledge-base structure:`),n.push(` - ${O(`ok seed`)} — empty repo, Karpathy 3-layer`),n.push(` - ${O(`mcp__open-knowledge__discover`)} — existing repo, extract conventions`),n.push(` 4. Use the MCP workflow tools as you build the wiki:`),n.push(` - ${O(`mcp__open-knowledge__ingest`)} — capture an external source`),n.push(` - ${O(`mcp__open-knowledge__research`)} — gather sources and write findings`),n.push(` - ${O(`mcp__open-knowledge__consolidate`)} — promote research to canonical articles`)}return n.join(`
650
+ `)}function ha(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 ga(e,t){let n=[];for(let r of oe)ta(T[r],e,t)&&n.push(r);return n}function _a(){let e={log:console.log,info:console.info,debug:console.debug},t=(...e)=>{process.stderr.write(`${e.map(e=>typeof e==`string`?e:Te(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 va(){return new C(`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 S(`--scope <scope>`,`Write MCP config at user level, project level, or both`).choices([`user`,`project`,`both`])).addOption(new S(`--shared`,`Commit OK config alongside content (the default for fresh repos)`).conflicts(`localOnly`)).addOption(new S(`--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?_a():null;try{let r;try{r=await ua({cwd:t,mcp:e.mcp,devMcp:e.devMcp,scope:e.scope,sharing:n,contentDir:e.contentDir,skills:e.skills})}catch(e){if(e instanceof $){process.stderr.write(`${e.message}\n`),process.exitCode=64;return}if(e instanceof s||e instanceof d){process.stderr.write(`${e.message}\n`),process.exitCode=78;return}if(e instanceof c){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.
651
+ `),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-DSMGw3qx.mjs`),{resolveContentDir:l}=await import(`./dist-DxYTuPk3.mjs`),u;try{u=o(r.projectRoot).config,i=u.content.dir}catch(e){r.previewWarning=e instanceof Error?e.message:String(e)}if(u)try{let{previewContent:e}=await import(`./preview-De2-yIy7.mjs`),t=l(u,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(ha(r,{contentDir:i,contentFileCount:a}),null,2)}\n`):process.stdout.write(`${ma(r,r.projectRoot)}\n`),(r.editors.some(e=>e.action===`failed`)||r.mcpAction===`failed`)&&(process.exitCode=1)}finally{r?.()}})}function ya(e,t){let n=[];switch(e.kind){case`applied`:return n.push(j(`Sharing mode:`)),e.mode===`local-only`?e.action===`added`?n.push(` ${k(`local-only`)} — appended ${e.appended.length} path(s) to ${j(`${t}/.git/info/exclude`)} (per-clone, not committed).`):e.action===`noop`&&e.alreadyPresent.length>0?n.push(` ${k(`local-only`)} — already excluded; nothing to do.`):n.push(` ${k(`local-only`)}`):e.action===`removed`?n.push(` ${k(`shared`)} — removed OK paths from ${j(`${t}/.git/info/exclude`)}; commit the files to share with teammates.`):n.push(` ${k(`shared`)} — OK config will be committed alongside content.`),n;case`refused-tracked`:n.push(A(`Sharing mode: switch to local-only deferred`));for(let t of e.remediation.split(`
652
652
  `))n.push(t.length>0?` ${t}`:``);return n.push(` Re-run ${O(`ok config-sharing unshare`)} after resolving to complete the switch.`),n;case`no-exclude`:if(e.localOnlyRequested)n.push(A(`Sharing mode: --local-only requested but no git repo found — option ignored`)),n.push(` Run ${O(`git init`)} (or open this folder via OK Desktop, which can scaffold a repo) and then ${O(`ok config-sharing unshare`)}.`);else if(e.reason===`no-git`)return[];else n.push(A(`Sharing mode unavailable: ${e.reason}.`));return n}}export{wn as A,lt as B,vr as C,rr as D,ur as E,bn as F,Le as H,_n as I,rn as L,vn as M,Cn as N,nr as O,xn as P,pt as R,oi as S,cr as T,V,zi as _,ha as a,Di as b,ma as c,sa as d,Zi as f,ua as g,Xi as h,da as i,Sn as j,yn as k,ya as l,Qi as m,ea as n,la as o,Ji as p,ra as r,ga as s,$ as t,va as u,na as v,lr as w,di as x,oa as y,ut as z};
653
- //# sourceMappingURL=init-C3-tMyGu.mjs.map
653
+ //# sourceMappingURL=init-M3As2OOI.mjs.map
@@ -1,2 +1,2 @@
1
1
  function e(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}export{e as t};
2
- //# sourceMappingURL=is-object-Cg453afR.mjs.map
2
+ //# sourceMappingURL=is-object-Cie0xXKD.mjs.map
@@ -1,2 +1,2 @@
1
- import{fa as e}from"./dist-CmLjR_Cj.mjs";import{D as t,E as n,O as r,w as i}from"./init-C3-tMyGu.mjs";import{t as a}from"./is-object-Cg453afR.mjs";import{join as o}from"node:path";import{existsSync as s,readFileSync as c,rmSync as l}from"node:fs";const u={allowTrailingComma:!0,disallowComments:!1};function d(e,t){return e.error===1&&e.offset===0&&t.charCodeAt(0)===65279}function f(f){let p=o(f,`.claude`,`launch.json`);if(!s(p))return{kind:`not-present`};let m;try{m=c(p,`utf-8`)}catch{return{kind:`declined`}}let h=[],g=r(m,h,u)??void 0;if(h.some(e=>!d(e,m))||!g||g.type!==`object`)return{kind:`declined`};let _=t(g).configurations;if(!Array.isArray(_))return{kind:`not-present`};let v=_.findIndex(e=>a(e)&&e.name===`open-knowledge-ui`);if(v===-1)return{kind:`not-present`};if(_.length===1)return l(p,{force:!0}),{kind:`removed-file`};let{text:y,changed:b}=n(m,[`configurations`,v]);return b?(e(p,y,{mode:i(p)}),{kind:`removed`}):{kind:`not-present`}}export{f as t};
2
- //# sourceMappingURL=launch-json-removal-BLUsKChe.mjs.map
1
+ import{fa as e}from"./dist-CmLjR_Cj.mjs";import{D as t,E as n,O as r,w as i}from"./init-M3As2OOI.mjs";import{t as a}from"./is-object-Cie0xXKD.mjs";import{join as o}from"node:path";import{existsSync as s,readFileSync as c,rmSync as l}from"node:fs";const u={allowTrailingComma:!0,disallowComments:!1};function d(e,t){return e.error===1&&e.offset===0&&t.charCodeAt(0)===65279}function f(f){let p=o(f,`.claude`,`launch.json`);if(!s(p))return{kind:`not-present`};let m;try{m=c(p,`utf-8`)}catch{return{kind:`declined`}}let h=[],g=r(m,h,u)??void 0;if(h.some(e=>!d(e,m))||!g||g.type!==`object`)return{kind:`declined`};let _=t(g).configurations;if(!Array.isArray(_))return{kind:`not-present`};let v=_.findIndex(e=>a(e)&&e.name===`open-knowledge-ui`);if(v===-1)return{kind:`not-present`};if(_.length===1)return l(p,{force:!0}),{kind:`removed-file`};let{text:y,changed:b}=n(m,[`configurations`,v]);return b?(e(p,y,{mode:i(p)}),{kind:`removed`}):{kind:`not-present`}}export{f as t};
2
+ //# sourceMappingURL=launch-json-removal-6h3pmbkP.mjs.map
@@ -0,0 +1 @@
1
+ import{n as e}from"./loader-DToPJlMU.mjs";export{e as loadConfig};
@@ -1,4 +1,4 @@
1
- import{$a as e,Jo as t,Qa as n,ro as r}from"./server-lock-iLcBw_q0-6FEAZKHu.mjs";import{_ as i,ma as a,pa as o}from"./dist-CmLjR_Cj.mjs";import{t as s}from"./constants-KPTyVFV8.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=t();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(t){let r=t??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 t=n({value:m.value,file:m.path,source:m.source,doc:m.doc});if(t.length>0)throw Error(t.map(e).join(`
1
+ import{$a as e,Jo as t,Qa as n,ro as r}from"./server-lock-iLcBw_q0-6FEAZKHu.mjs";import{_ as i,ma as a,pa as o}from"./dist-CmLjR_Cj.mjs";import{t as s}from"./constants-hNkAg6Qk.mjs";import{t as c}from"./is-object-Cie0xXKD.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=t();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(t){let r=t??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 t=n({value:m.value,file:m.path,source:m.source,doc:m.doc});if(t.length>0)throw Error(t.map(e).join(`
2
2
 
3
3
  `));f=h(f,m.value),c.push(p)}let v=i.safeParse(f);if(!v.success){let t={code:`SCHEMA_INVALID`,issues:_(v.error.issues,m)};throw Error(e(t))}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-f4c1taQz.mjs.map
4
+ //# sourceMappingURL=loader-DToPJlMU.mjs.map
@@ -1,3 +1,3 @@
1
- import{Kt as e}from"./dist-CmLjR_Cj.mjs";import"./constants-KPTyVFV8.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{Kt as e}from"./dist-CmLjR_Cj.mjs";import"./constants-hNkAg6Qk.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-DocBavwZ.mjs.map
3
+ //# sourceMappingURL=preview-COkYTuKh.mjs.map
@@ -0,0 +1 @@
1
+ import{n as e,t}from"./preview-COkYTuKh.mjs";export{t as formatPreviewBlock,e as previewContent};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ActivityPanelDiffView-BUS_IClA.js","./chunk-CFjPhJqf.js","./dist-CQw2y-s3.js","./compiler-runtime-CVnuRdak.js","./ActivityPanelDiffView-legcy4jI.css"])))=>i.map(i=>d[i]);
2
+ import{o as e}from"./chunk-CFjPhJqf.js";import{t}from"./preload-helper-2ej06EnG.js";import{n,r,t as i}from"./compiler-runtime-CVnuRdak.js";import{n as a,r as o}from"./DocumentContext-5toIZ8hA.js";import{n as s,r as c}from"./dist-CQw2y-s3.js";import{n as l,t as u}from"./createLucideIcon-BPhNPfG7.js";import{i as d,n as f,t as p}from"./tooltip-DZYAkZo5.js";import{a as m,c as h,i as g,o as _,s as v,t as y}from"./dialog-CZK_GJbX.js";import{B as b,_t as x}from"./CodeMirrorPropInput-DiXxMe7E.js";import{a as S,i as C,it as w}from"./dist-DLPICmSw.js";import{t as ee}from"./chevron-down-D2qF2W9D.js";import{t as te}from"./chevron-right-C6588edp.js";import{t as T}from"./circle-alert-sOrK-E2e.js";import{i as E}from"./prop-types-DXfg1BnH.js";import{t as D}from"./loader-circle-Cu01Ckhe.js";import{c as O,i as k,r as A,t as j}from"./agent-presence-Dp6Wg18I.js";import{n as M}from"./dist-K3kyyBcW.js";import{t as N}from"./dist-Bvqpz5aH.js";import{s as P}from"./navigation-targets-DFne-srR.js";import{o as ne}from"./documents-events-Bf8O52Ha.js";var re=u(`rewind`,[[`path`,{d:`M12 6a2 2 0 0 0-3.414-1.414l-6 6a2 2 0 0 0 0 2.828l6 6A2 2 0 0 0 12 18z`,key:`2a1g8i`}],[`path`,{d:`M22 6a2 2 0 0 0-3.414-1.414l-6 6a2 2 0 0 0 0 2.828l6 6A2 2 0 0 0 22 18z`,key:`rg3s36`}]]),F=i(),I=e(n(),1),ie=500,L=64;async function ae(e){let t=`/api/agent-activity?agentId=${encodeURIComponent(e)}`,n=await fetch(t),r;try{r=await n.json()}catch(e){throw new b(`Could not parse /api/agent-activity response.`,{cause:e,status:n.status})}if(!n.ok){let e=w.safeParse(r);throw e.success?Error(e.data.title):new b(`/api/agent-activity returned a non-RFC-9457 error response.`,{cause:e.error,status:n.status})}let i=C.safeParse(r);if(!i.success)throw new b(`/api/agent-activity returned a body that did not match AgentActivitySuccessSchema.`,{cause:i.error,status:n.status});return i.data}async function oe(e,t,n){let r=`/api/agent-burst-diff?agentId=${encodeURIComponent(e)}&docName=${encodeURIComponent(t)}&stackIndex=${n}`,i=await fetch(r),a;try{a=await i.json()}catch(e){throw new b(`Could not parse /api/agent-burst-diff response.`,{cause:e,status:i.status})}if(!i.ok){let e=w.safeParse(a);throw e.success?Error(e.data.title):new b(`/api/agent-burst-diff returned a non-RFC-9457 error response.`,{cause:e.error,status:i.status})}let o=S.safeParse(a);if(!o.success)throw new b(`/api/agent-burst-diff returned a body that did not match AgentBurstDiffSuccessSchema.`,{cause:o.error,status:i.status});return o.data.diff}function se(e){let t=(0,F.c)(23),{systemProvider:n}=a(),[r,i]=(0,I.useState)(null),[o,s]=(0,I.useState)(`idle`),[c,l]=(0,I.useState)(null),u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=new k(L),t[0]=u):u=t[0];let d=(0,I.useRef)(u),f=(0,I.useRef)(0),p;t[1]===n?p=t[2]:(p=e=>{let t=f.current+=1;s(`loading`),l(null),ae(e).then(r=>{if(f.current!==t)return;let a=le(n,e);i({...r,writingDocs:a}),s(`ready`)}).catch(e=>{f.current===t&&(l(e instanceof Error?e.message:String(e)),s(`error`))})},t[1]=n,t[2]=p);let m=p,h;t[3]!==e||t[4]!==m?(h=()=>{if(!e){f.current+=1,i(null),s(`idle`),l(null),d.current.clear();return}d.current.clear(),m(e);let t=null,n=ne(n=>{n.includes(`session-activity`)&&(t&&clearTimeout(t),t=setTimeout(()=>{t=null,m(e)},ie))});return()=>{t&&clearTimeout(t),n()}},t[3]=e,t[4]=m,t[5]=h):h=t[5];let g;t[6]===e?g=t[7]:(g=[e],t[6]=e,t[7]=g),(0,I.useEffect)(h,g);let _,v;t[8]!==e||t[9]!==n?(_=()=>{if(!e||!n)return;let t=()=>{if(!n.awareness)return;let t=le(n,e);i(e=>!e||ce(e.writingDocs,t)?e:{...e,writingDocs:t})},r=n.awareness;if(!r||typeof r.on!=`function`){t();return}r.on(`update`,t),t();let a=setInterval(t,1e3);return()=>{clearInterval(a),typeof r.off==`function`&&r.off(`update`,t)}},v=[e,n],t[8]=e,t[9]=n,t[10]=_,t[11]=v):(_=t[10],v=t[11]),(0,I.useEffect)(_,v);let y;t[12]===e?y=t[13]:(y=async(t,n)=>{if(!e)return``;let r=`${t}\0${n}`,i=d.current.get(r);if(i!==void 0)return i;let a=await oe(e,t,n);return d.current.set(r,a),a},t[12]=e,t[13]=y);let b=y,x;t[14]!==e||t[15]!==m?(x=()=>{e&&m(e)},t[14]=e,t[15]=m,t[16]=x):x=t[16];let S=x,C;return t[17]!==r||t[18]!==c||t[19]!==b||t[20]!==S||t[21]!==o?(C={data:r,status:o,error:c,reload:S,fetchBurstDiff:b},t[17]=r,t[18]=c,t[19]=b,t[20]=S,t[21]=o,t[22]=C):C=t[22],C}function ce(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function le(e,t){let n=new Set;if(!e)return n;let r=e.awareness;if(!j(r))return n;let i=[t,t.startsWith(`agent-`)?t.slice(6):`agent-${t}`];for(let e of r.getStates().values()){let t=e.agentPresence;if(t)for(let e of i){let r=t[e];r&&r.mode===`writing`&&r.currentDoc&&n.add(r.currentDoc)}}return n}var R=r(),ue=(0,I.lazy)(async()=>({default:(await t(()=>import(`./ActivityPanelDiffView-BUS_IClA.js`),__vite__mapDeps([0,1,2,3,4]),import.meta.url)).ActivityPanelDiffView}));function de(e,t){let n=Math.max(0,t-e);if(n<6e4){let e=Math.round(n/1e3);return N._({id:`pbwTg6`,values:{seconds:e}})}if(n<36e5){let e=Math.round(n/6e4);return N._({id:`_rP3HI`,values:{minutes:e}})}return new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function fe(e){let t=(0,F.c)(42),{burst:n,docName:r,fetchBurstDiff:i}=e,{_:a}=c(),[o,l]=(0,I.useState)(!1),[u,d]=(0,I.useState)(null),[f,p]=(0,I.useState)(null),[m,h]=(0,I.useState)(!1),[g,_]=(0,I.useState)(z),v,y;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(v=()=>{let e=setInterval(()=>_(Date.now()),3e4);return()=>clearInterval(e)},y=[],t[0]=v,t[1]=y):(v=t[0],y=t[1]),(0,I.useEffect)(v,y);let b;t[2]!==n.stackIndex||t[3]!==u||t[4]!==r||t[5]!==o||t[6]!==i||t[7]!==m?(b=()=>{let e=!o;l(e),e&&u===null&&!m&&(h(!0),p(null),i(r,n.stackIndex).then(e=>{d(e),h(!1)}).catch(e=>{p(e instanceof Error?e.message:String(e)),h(!1)}))},t[2]=n.stackIndex,t[3]=u,t[4]=r,t[5]=o,t[6]=i,t[7]=m,t[8]=b):b=t[8];let x=b,S=n.stackIndex+1,C;t[9]!==a||t[10]!==S||t[11]!==o?(C=a(o?{id:`-i7ik4`,values:{burstNumber:S}}:{id:`EeRZnZ`,values:{burstNumber:S}}),t[9]=a,t[10]=S,t[11]=o,t[12]=C):C=t[12];let w;t[13]===o?w=t[14]:(w=o?(0,R.jsx)(ee,{className:`size-3 shrink-0`,"aria-hidden":`true`}):(0,R.jsx)(te,{className:`size-3 shrink-0`,"aria-hidden":`true`}),t[13]=o,t[14]=w);let T;t[15]!==n.ts||t[16]!==g?(T=de(n.ts,g),t[15]=n.ts,t[16]=g,t[17]=T):T=t[17];let E;t[18]===T?E=t[19]:(E=(0,R.jsx)(`span`,{className:`font-mono`,children:T}),t[18]=T,t[19]=E);let D;t[20]===n.additions?D=t[21]:(D=(0,R.jsxs)(`span`,{className:`text-green-600 dark:text-green-400`,children:[`+`,n.additions]}),t[20]=n.additions,t[21]=D);let O;t[22]===n.deletions?O=t[23]:(O=(0,R.jsxs)(`span`,{className:`text-red-600 dark:text-red-400`,children:[`−`,n.deletions]}),t[22]=n.deletions,t[23]=O);let k;t[24]!==D||t[25]!==O?(k=(0,R.jsxs)(`span`,{className:`ml-auto font-mono`,children:[D,` `,O]}),t[24]=D,t[25]=O,t[26]=k):k=t[26];let A;t[27]!==o||t[28]!==k||t[29]!==C||t[30]!==w||t[31]!==E||t[32]!==x?(A=(0,R.jsxs)(`button`,{type:`button`,onClick:x,className:`flex w-full items-center gap-2 px-4 py-1.5 text-xs text-muted-foreground hover:bg-muted/40`,"aria-expanded":o,"aria-label":C,children:[w,E,k]}),t[27]=o,t[28]=k,t[29]=C,t[30]=w,t[31]=E,t[32]=x,t[33]=A):A=t[33];let j;t[34]!==u||t[35]!==o||t[36]!==f||t[37]!==m?(j=o?(0,R.jsx)(`div`,{className:`bg-muted/20`,children:m?(0,R.jsx)(`div`,{className:`px-4 py-2 text-xs text-muted-foreground italic`,children:(0,R.jsx)(s,{id:`38foVZ`})}):f?(0,R.jsx)(`div`,{className:`px-4 py-2 text-xs text-destructive`,children:(0,R.jsx)(s,{id:`pmKdif`,values:{loadError:f}})}):u===null?(0,R.jsx)(`div`,{className:`px-4 py-2 text-xs text-muted-foreground italic`,children:(0,R.jsx)(s,{id:`iNFKkm`})}):(0,R.jsx)(I.Suspense,{fallback:(0,R.jsx)(`div`,{className:`px-4 py-2 text-xs text-muted-foreground italic`,children:(0,R.jsx)(s,{id:`38foVZ`})}),children:(0,R.jsx)(ue,{diff:u})})}):null,t[34]=u,t[35]=o,t[36]=f,t[37]=m,t[38]=j):j=t[38];let M;return t[39]!==A||t[40]!==j?(M=(0,R.jsxs)(`div`,{className:`border-t border-border/50`,children:[A,j]}),t[39]=A,t[40]=j,t[41]=M):M=t[41],M}function z(){return Date.now()}function pe(e,t){let n=Math.max(0,t-e);if(n<6e4){let e=Math.round(n/1e3);return N._({id:`pbwTg6`,values:{seconds:e}})}if(n<36e5){let e=Math.round(n/6e4);return N._({id:`_rP3HI`,values:{minutes:e}})}let r=Math.round(n/36e5);return N._({id:`nYeBmY`,values:{hours:r}})}function B(e){let t=(0,F.c)(118),{file:n,sessionAlive:r,isWriting:i,onNavigate:a,onUndoLast:o,onUndoAll:u,fetchBurstDiff:b}=e,{_:x}=c(),{docName:S}=n,[C,w]=(0,I.useState)(!1),[T,E]=(0,I.useState)(!1),[D,k]=(0,I.useState)(!1),[A,j]=(0,I.useState)(he),M,N;if(t[0]===Symbol.for(`react.memo_cache_sentinel`)?(M=()=>{let e=setInterval(()=>j(Date.now()),3e4);return()=>clearInterval(e)},N=[],t[0]=M,t[1]=N):(M=t[0],N=t[1]),(0,I.useEffect)(M,N),n.bursts.length===0)return null;let P=!r||n.bursts.length===0||D,ne=n.bursts.length,ie;t[2]!==x||t[3]!==n.bursts.length||t[4]!==r?(ie=r?n.bursts.length===0?x({id:`2fkdnR`}):null:x({id:`NzFvyK`}),t[2]=x,t[3]=n.bursts.length,t[4]=r,t[5]=ie):ie=t[5];let L=ie,ae;t[6]!==P||t[7]!==n.docName||t[8]!==o?(ae=e=>{e.stopPropagation(),!P&&(k(!0),Promise.resolve(o(n.docName)).finally(()=>k(!1)))},t[6]=P,t[7]=n.docName,t[8]=o,t[9]=ae):ae=t[9];let oe=ae,se;t[10]===P?se=t[11]:(se=e=>{e.stopPropagation(),!P&&E(!0)},t[10]=P,t[11]=se);let ce=se,le;t[12]!==P||t[13]!==n.docName||t[14]!==u?(le=()=>{E(!1),!P&&(k(!0),Promise.resolve(u(n.docName)).finally(()=>k(!1)))},t[12]=P,t[13]=n.docName,t[14]=u,t[15]=le):le=t[15];let ue=le,de;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(de=()=>w(me),t[16]=de):de=t[16];let z;t[17]!==x||t[18]!==S||t[19]!==C?(z=x(C?{id:`rVgSRB`,values:{docName:S}}:{id:`tW_yvQ`,values:{docName:S}}),t[17]=x,t[18]=S,t[19]=C,t[20]=z):z=t[20];let B;t[21]===C?B=t[22]:(B=C?(0,R.jsx)(ee,{className:`size-4`,"aria-hidden":`true`}):(0,R.jsx)(te,{className:`size-4`,"aria-hidden":`true`}),t[21]=C,t[22]=B);let V;t[23]!==C||t[24]!==z||t[25]!==B?(V=(0,R.jsx)(`button`,{type:`button`,onClick:de,className:`flex size-5 shrink-0 items-center justify-center rounded hover:bg-muted`,"aria-expanded":C,"aria-label":z,"data-testid":`activity-panel-file-row-carrot`,children:B}),t[23]=C,t[24]=z,t[25]=B,t[26]=V):V=t[26];let H;t[27]!==n.docName||t[28]!==a?(H=()=>a(n.docName),t[27]=n.docName,t[28]=a,t[29]=H):H=t[29];let U;t[30]!==x||t[31]!==S?(U=x({id:`QcpeeE`,values:{docName:S}}),t[30]=x,t[31]=S,t[32]=U):U=t[32];let W;t[33]!==n.docName||t[34]!==H||t[35]!==U?(W=(0,R.jsx)(`button`,{type:`button`,onClick:H,className:`min-w-0 flex-1 truncate text-left text-foreground hover:underline focus-visible:outline-ring`,"aria-label":U,"data-testid":`activity-panel-file-row-filename`,title:n.docName,children:n.docName}),t[33]=n.docName,t[34]=H,t[35]=U,t[36]=W):W=t[36];let G;t[37]!==x||t[38]!==S?(G=x({id:`m4v3XT`,values:{docName:S}}),t[37]=x,t[38]=S,t[39]=G):G=t[39];let ge;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(ge=(0,R.jsx)(O,{className:`size-3.5`,"aria-hidden":`true`}),t[40]=ge):ge=t[40];let K;t[41]!==P||t[42]!==oe||t[43]!==G?(K=(0,R.jsx)(d,{asChild:!0,children:(0,R.jsx)(l,{type:`button`,variant:`ghost`,size:`icon`,className:`size-6 shrink-0`,onClick:oe,disabled:P,"aria-label":G,"data-testid":`activity-panel-undo-last`,children:ge})}),t[41]=P,t[42]=oe,t[43]=G,t[44]=K):K=t[44];let q;t[45]!==x||t[46]!==L?(q=L??x({id:`ArBWJf`}),t[45]=x,t[46]=L,t[47]=q):q=t[47];let J;t[48]===q?J=t[49]:(J=(0,R.jsx)(f,{side:`bottom`,children:q}),t[48]=q,t[49]=J);let Y;t[50]!==K||t[51]!==J?(Y=(0,R.jsxs)(p,{children:[K,J]}),t[50]=K,t[51]=J,t[52]=Y):Y=t[52];let X;t[53]!==x||t[54]!==S?(X=x({id:`J2MgzQ`,values:{docName:S}}),t[53]=x,t[54]=S,t[55]=X):X=t[55];let _e;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,R.jsx)(re,{className:`size-3.5`,"aria-hidden":`true`}),t[56]=_e):_e=t[56];let Z;t[57]!==P||t[58]!==ce||t[59]!==X?(Z=(0,R.jsx)(d,{asChild:!0,children:(0,R.jsx)(l,{type:`button`,variant:`ghost`,size:`icon`,className:`size-6 shrink-0`,onClick:ce,disabled:P,"aria-label":X,"data-testid":`activity-panel-undo-all`,children:_e})}),t[57]=P,t[58]=ce,t[59]=X,t[60]=Z):Z=t[60];let Q;t[61]!==x||t[62]!==L?(Q=L??x({id:`mNY1G6`}),t[61]=x,t[62]=L,t[63]=Q):Q=t[63];let ve;t[64]===Q?ve=t[65]:(ve=(0,R.jsx)(f,{side:`bottom`,children:Q}),t[64]=Q,t[65]=ve);let ye;t[66]!==Z||t[67]!==ve?(ye=(0,R.jsxs)(p,{children:[Z,ve]}),t[66]=Z,t[67]=ve,t[68]=ye):ye=t[68];let be;t[69]===n.additionsTotal?be=t[70]:(be=(0,R.jsxs)(`span`,{className:`text-green-600 dark:text-green-400`,children:[`+`,n.additionsTotal]}),t[69]=n.additionsTotal,t[70]=be);let xe;t[71]===n.deletionsTotal?xe=t[72]:(xe=(0,R.jsxs)(`span`,{className:`text-red-600 dark:text-red-400`,children:[`−`,n.deletionsTotal]}),t[71]=n.deletionsTotal,t[72]=xe);let Se;t[73]!==be||t[74]!==xe?(Se=(0,R.jsxs)(`span`,{className:`shrink-0 font-mono text-xs`,children:[be,` `,xe]}),t[73]=be,t[74]=xe,t[75]=Se):Se=t[75];let Ce;t[76]!==n.lastTs||t[77]!==A?(Ce=pe(n.lastTs,A),t[76]=n.lastTs,t[77]=A,t[78]=Ce):Ce=t[78];let $;t[79]===Ce?$=t[80]:($=(0,R.jsx)(`span`,{className:`shrink-0 font-mono text-[11px] text-muted-foreground`,children:Ce}),t[79]=Ce,t[80]=$);let we;t[81]===i?we=t[82]:(we=i?(0,R.jsx)(`span`,{className:`shrink-0 text-[11px] text-primary animate-pulse`,role:`status`,children:(0,R.jsx)(s,{id:`6q0rnH`})}):null,t[81]=i,t[82]=we);let Te;t[83]!==V||t[84]!==W||t[85]!==Y||t[86]!==ye||t[87]!==Se||t[88]!==$||t[89]!==we?(Te=(0,R.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2 text-sm`,children:[V,W,Y,ye,Se,$,we]}),t[83]=V,t[84]=W,t[85]=Y,t[86]=ye,t[87]=Se,t[88]=$,t[89]=we,t[90]=Te):Te=t[90];let Ee;t[91]!==C||t[92]!==b||t[93]!==n.bursts||t[94]!==n.docName?(Ee=C?(0,R.jsx)(`div`,{children:n.bursts.map(e=>(0,R.jsx)(fe,{burst:e,docName:n.docName,fetchBurstDiff:b},`${n.docName}:${e.stackIndex}`))}):null,t[91]=C,t[92]=b,t[93]=n.bursts,t[94]=n.docName,t[95]=Ee):Ee=t[95];let De;t[96]===Symbol.for(`react.memo_cache_sentinel`)?(De=(0,R.jsx)(h,{children:(0,R.jsx)(s,{id:`SEYWYq`})}),t[96]=De):De=t[96];let Oe;t[97]!==ne||t[98]!==S?(Oe={docName:S,burstCount:ne},t[97]=ne,t[98]=S,t[99]=Oe):Oe=t[99];let ke;t[100]===Symbol.for(`react.memo_cache_sentinel`)?(ke={0:(0,R.jsx)(`span`,{className:`font-mono text-foreground`})},t[100]=ke):ke=t[100];let Ae;t[101]===Oe?Ae=t[102]:(Ae=(0,R.jsxs)(v,{children:[De,(0,R.jsx)(m,{children:(0,R.jsx)(s,{id:`ZBYKxv`,values:Oe,components:ke})})]}),t[101]=Oe,t[102]=Ae);let je;t[103]===Symbol.for(`react.memo_cache_sentinel`)?(je=()=>E(!1),t[103]=je):je=t[103];let Me;t[104]===Symbol.for(`react.memo_cache_sentinel`)?(Me=(0,R.jsx)(l,{type:`button`,variant:`outline`,onClick:je,"data-testid":`activity-panel-undo-all-cancel`,children:(0,R.jsx)(s,{id:`dEgA5A`})}),t[104]=Me):Me=t[104];let Ne;t[105]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=(0,R.jsx)(s,{id:`MWrUEd`}),t[105]=Ne):Ne=t[105];let Pe;t[106]===ue?Pe=t[107]:(Pe=(0,R.jsxs)(_,{children:[Me,(0,R.jsx)(l,{type:`button`,variant:`destructive`,onClick:ue,"data-testid":`activity-panel-undo-all-confirm`,children:Ne})]}),t[106]=ue,t[107]=Pe);let Fe;t[108]!==Ae||t[109]!==Pe?(Fe=(0,R.jsxs)(g,{className:`sm:max-w-md`,children:[Ae,Pe]}),t[108]=Ae,t[109]=Pe,t[110]=Fe):Fe=t[110];let Ie;t[111]!==T||t[112]!==Fe?(Ie=(0,R.jsx)(y,{open:T,onOpenChange:E,children:Fe}),t[111]=T,t[112]=Fe,t[113]=Ie):Ie=t[113];let Le;return t[114]!==Te||t[115]!==Ee||t[116]!==Ie?(Le=(0,R.jsxs)(`div`,{className:`border-b border-border`,"data-testid":`activity-panel-file-row`,children:[Te,Ee,Ie]}),t[114]=Te,t[115]=Ee,t[116]=Ie,t[117]=Le):Le=t[117],Le}function me(e){return!e}function he(){return Date.now()}async function V(e){let t=await fetch(`/api/agent-undo`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({...e,agentId:e.connectionId})});if(!t.ok)throw Error(`agent-undo failed: HTTP ${t.status}`)}function H(e){return`#/${e.split(`/`).map(e=>encodeURIComponent(e)).join(`/`)}`}function U(e){typeof window>`u`||(window.location.hash=H(e))}function W(){let e=(0,F.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,R.jsx)(D,{className:`mr-2 size-4 animate-spin`,"aria-hidden":`true`}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,R.jsxs)(`div`,{className:`flex h-full items-center justify-center p-6 text-muted-foreground`,role:`status`,"aria-busy":`true`,children:[t,(0,R.jsx)(`span`,{className:`text-sm`,children:(0,R.jsx)(s,{id:`ONPvOb`})})]}),e[1]=n):n=e[1],n}function G(e){let t=(0,F.c)(10),{error:n,onRetry:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,R.jsx)(T,{className:`size-6 text-destructive`,"aria-hidden":`true`}),t[0]=i):i=t[0];let a;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,R.jsx)(`p`,{className:`text-sm font-medium`,children:(0,R.jsx)(s,{id:`DhLHEb`})}),t[1]=a):a=t[1];let o;t[2]===n?o=t[3]:(o=(0,R.jsxs)(`div`,{className:`space-y-1`,children:[a,(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:n})]}),t[2]=n,t[3]=o);let c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,R.jsx)(s,{id:`6gRgw8`}),t[4]=c):c=t[4];let u;t[5]===r?u=t[6]:(u=(0,R.jsx)(l,{type:`button`,variant:`outline`,size:`sm`,onClick:r,children:c}),t[5]=r,t[6]=u);let d;return t[7]!==o||t[8]!==u?(d=(0,R.jsxs)(`div`,{className:`flex flex-col items-center gap-3 p-6 text-center`,role:`alert`,"data-testid":`activity-panel-error`,children:[i,o,u]}),t[7]=o,t[8]=u,t[9]=d):d=t[9],d}function ge(){let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,R.jsx)(`div`,{className:`flex h-full items-center justify-center p-6 text-muted-foreground`,"data-testid":`activity-panel-empty`,children:(0,R.jsx)(`p`,{className:`text-sm italic`,children:(0,R.jsx)(s,{id:`iuTKci`})})}),e[0]=t):t=e[0],t}function K(e){let t=(0,F.c)(12),{onExit:n,showBackButton:r}=e,{_:i}=c(),a;t[0]===i?a=t[1]:(a=i({id:`kYL1lH`}),t[0]=i,t[1]=a);let o;t[2]!==n||t[3]!==r?(o=r?(0,R.jsx)(q,{onClick:n}):null,t[2]=n,t[3]=r,t[4]=o):o=t[4];let l;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,R.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:(0,R.jsx)(s,{id:`kYL1lH`})}),t[5]=l):l=t[5];let u;t[6]===o?u=t[7]:(u=(0,R.jsxs)(`div`,{className:`flex shrink-0 flex-row items-center gap-2 border-b border-border px-3 py-2`,children:[o,l]}),t[6]=o,t[7]=u);let d;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,R.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-6 text-muted-foreground`,children:(0,R.jsx)(`p`,{className:`text-center text-sm italic`,children:(0,R.jsx)(s,{id:`D_WKe_`})})}),t[8]=d):d=t[8];let f;return t[9]!==a||t[10]!==u?(f=(0,R.jsxs)(`section`,{className:`flex h-full min-h-0 flex-col`,"data-testid":`activity-panel-no-agent`,"aria-label":a,children:[u,d]}),t[9]=a,t[10]=u,t[11]=f):f=t[11],f}function q(e){let t=(0,F.c)(9),{onClick:n}=e,{_:r}=c(),i;t[0]===r?i=t[1]:(i=r({id:`ogAuyr`}),t[0]=r,t[1]=i);let a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,R.jsx)(x,{}),t[2]=a):a=t[2];let o;t[3]!==n||t[4]!==i?(o=(0,R.jsx)(d,{asChild:!0,children:(0,R.jsx)(l,{type:`button`,variant:`ghost`,size:`icon`,className:`size-7 shrink-0`,onClick:n,"aria-label":i,"data-testid":`docpanel-exit-agent-mode`,children:a})}),t[3]=n,t[4]=i,t[5]=o):o=t[5];let u;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,R.jsx)(f,{side:`bottom`,children:(0,R.jsx)(s,{id:`ogAuyr`})}),t[6]=u):u=t[6];let m;return t[7]===o?m=t[8]:(m=(0,R.jsxs)(p,{children:[o,u]}),t[7]=o,t[8]=m),m}function J(e){let t=(0,F.c)(9),{lastTs:n}=e,[r]=(0,I.useState)(Y),i;t[0]!==n||t[1]!==r?(i=n?X(r-n):null,t[0]=n,t[1]=r,t[2]=i):i=t[2];let a=i,o;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,R.jsx)(`span`,{className:`font-medium`,children:(0,R.jsx)(s,{id:`LCUy_N`})}),t[3]=o):o=t[3];let c;t[4]===a?c=t[5]:(c=a?(0,R.jsxs)(`span`,{children:[` · `,a]}):null,t[4]=a,t[5]=c);let l;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,R.jsx)(`div`,{className:`mt-1 opacity-80`,children:(0,R.jsx)(s,{id:`GK-IRZ`})}),t[6]=l):l=t[6];let u;return t[7]===c?u=t[8]:(u=(0,R.jsxs)(`div`,{className:`border-b border-border bg-muted/40 px-4 py-3 text-xs text-muted-foreground`,"data-testid":`activity-panel-session-ended`,children:[o,c,l]}),t[7]=c,t[8]=u),u}function Y(){return Date.now()}function X(e){let t=Math.max(0,e);if(t<6e4){let e=Math.round(t/1e3);return N._({id:`pbwTg6`,values:{seconds:e}})}if(t<36e5){let e=Math.round(t/6e4);return N._({id:`_rP3HI`,values:{minutes:e}})}let n=Math.round(t/36e5);return N._({id:`nYeBmY`,values:{hours:n}})}function _e(e){let t=(0,F.c)(10),{agent:n,size:r}=e,i=r===void 0?28:r,a;t[0]!==n.color||t[1]!==i?(a={backgroundColor:n.color,width:i,height:i},t[0]=n.color,t[1]=i,t[2]=a):a=t[2];let o=i*.57,s=i*.57,c;t[3]!==n.icon||t[4]!==o||t[5]!==s?(c=(0,R.jsx)(A,{icon:n.icon,width:o,height:s}),t[3]=n.icon,t[4]=o,t[5]=s,t[6]=c):c=t[6];let l;return t[7]!==a||t[8]!==c?(l=(0,R.jsx)(`span`,{className:`inline-flex shrink-0 items-center justify-center rounded-full text-white ring-2 ring-background`,style:a,"aria-hidden":`true`,children:c}),t[7]=a,t[8]=c,t[9]=l):l=t[9],l}function Z(e){let t=(0,F.c)(26),{data:n,status:r,error:i,reload:a,fetchBurstDiff:o,onExit:l,onNavigate:u,onUndoLast:d,onUndoAll:f,showBackButton:p}=e,{_:m}=c(),h=n?.files?.[0]?.lastTs??null,g=n?.files?.length??0,_;t[0]===m?_=t[1]:(_=m({id:`kYL1lH`}),t[0]=m,t[1]=_);let v;t[2]!==l||t[3]!==p?(v=p?(0,R.jsx)(q,{onClick:l}):null,t[2]=l,t[3]=p,t[4]=v):v=t[4];let y;t[5]!==n||t[6]!==g||t[7]!==h?(y=n?.agent?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(_e,{agent:n.agent}),(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:n.agent.displayName}),(0,R.jsxs)(`p`,{className:`truncate text-xs text-muted-foreground`,children:[n.sessionAlive?(0,R.jsx)(s,{id:`F6pfE9`}):h===null?(0,R.jsx)(s,{id:`PMyJ9C`}):(0,R.jsx)(s,{id:`237hSL`}),n.files.length>0?(0,R.jsxs)(R.Fragment,{children:[` · `,(0,R.jsx)(s,{id:`u3BOHd`,values:{fileCount:g}})]}):null]})]})]}):(0,R.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,R.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:(0,R.jsx)(s,{id:`kYL1lH`})})}),t[5]=n,t[6]=g,t[7]=h,t[8]=y):y=t[8];let b;t[9]!==v||t[10]!==y?(b=(0,R.jsxs)(`div`,{className:`flex flex-row items-center gap-2 border-b border-border px-3 py-2 shrink-0`,children:[v,y]}),t[9]=v,t[10]=y,t[11]=b):b=t[11];let x;t[12]!==n||t[13]!==i||t[14]!==o||t[15]!==h||t[16]!==u||t[17]!==f||t[18]!==d||t[19]!==a||t[20]!==r?(x=(0,R.jsx)(`div`,{className:`flex-1 overflow-y-auto`,"data-testid":`activity-panel-body`,children:r===`loading`&&n===null?(0,R.jsx)(W,{}):r===`error`&&i?(0,R.jsx)(G,{error:i,onRetry:a}):n===null?(0,R.jsx)(ge,{}):(0,R.jsxs)(R.Fragment,{children:[!n.sessionAlive&&h!==null?(0,R.jsx)(J,{lastTs:h}):null,n.files.length===0?(0,R.jsx)(ge,{}):n.files.map(e=>(0,R.jsx)(B,{file:e,sessionAlive:n.sessionAlive,isWriting:n.writingDocs.has(e.docName),onNavigate:u,onUndoLast:d,onUndoAll:f,fetchBurstDiff:o},e.docName))]})}),t[12]=n,t[13]=i,t[14]=o,t[15]=h,t[16]=u,t[17]=f,t[18]=d,t[19]=a,t[20]=r,t[21]=x):x=t[21];let S;return t[22]!==_||t[23]!==b||t[24]!==x?(S=(0,R.jsxs)(`section`,{className:`flex h-full min-h-0 flex-col`,"data-testid":`activity-panel`,"aria-label":_,children:[b,x]}),t[22]=_,t[23]=b,t[24]=x,t[25]=S):S=t[25],S}function Q(e){let t=(0,F.c)(29),n;t[0]===e?n=t[1]:(n=e===void 0?{}:e,t[0]=e,t[1]=n);let{showBackButton:r}=n,i=r===void 0?!0:r,{_:s}=c(),{docPanelAgentId:l,closeActivityPanel:u}=a(),{openTargetTransition:d}=o(),{pageMeta:f}=E(),{data:p,status:m,error:h,reload:g,fetchBurstDiff:_}=se(l);if(l===null){let e;return t[2]!==u||t[3]!==i?(e=(0,R.jsx)(K,{onExit:u,showBackButton:i}),t[2]=u,t[3]=i,t[4]=e):e=t[4],e}let v;t[5]!==d||t[6]!==f?(v=e=>{d(P({kind:`doc`,target:e,docName:e},f)),U(e)},t[5]=d,t[6]=f,t[7]=v):v=t[7];let y=v,b;t[8]!==s||t[9]!==p||t[10]!==l||t[11]!==g?(b=async e=>{try{await V({connectionId:l,docName:e,scope:`last`,agentName:p?.agent?.displayName}),g()}catch(e){let t=e,n=t instanceof Error?t.message:String(t);M.error(s({id:`EqrC_R`,values:{message:n}})),g()}},t[8]=s,t[9]=p,t[10]=l,t[11]=g,t[12]=b):b=t[12];let x=b,S;t[13]!==s||t[14]!==p||t[15]!==l||t[16]!==g?(S=async e=>{try{await V({connectionId:l,docName:e,scope:`file`,agentName:p?.agent?.displayName}),M.success(s({id:`pRc-Im`,values:{docName:e}})),g()}catch(e){let t=e,n=t instanceof Error?t.message:String(t);M.error(s({id:`7KeV5F`,values:{message:n}})),g()}},t[13]=s,t[14]=p,t[15]=l,t[16]=g,t[17]=S):S=t[17];let C=S,w;return t[18]!==u||t[19]!==p||t[20]!==h||t[21]!==_||t[22]!==y||t[23]!==C||t[24]!==x||t[25]!==g||t[26]!==i||t[27]!==m?(w=(0,R.jsx)(Z,{data:p,status:m,error:h,reload:g,fetchBurstDiff:_,onExit:u,onNavigate:y,onUndoLast:x,onUndoAll:C,showBackButton:i}),t[18]=u,t[19]=p,t[20]=h,t[21]=_,t[22]=y,t[23]=C,t[24]=x,t[25]=g,t[26]=i,t[27]=m,t[28]=w):w=t[28],w}export{Q as ActivityModeContent};