@inkeep/open-knowledge 0.25.0-beta.15 → 0.25.0-beta.17

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 (288) 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/cli.mjs +19 -19
  4. package/dist/constants-u4lg1sDo.mjs +2 -0
  5. package/dist/{dist-s-76L6SV.mjs → dist-CHMoEx27.mjs} +1 -1
  6. package/dist/{dist-BNI6AO8O.mjs → dist-CefxLzs-.mjs} +11 -10
  7. package/dist/{gh-detect-B3B56f-Q.mjs → gh-detect-agW-_3XF.mjs} +2 -2
  8. package/dist/{git-handle-BM0b1rwW-DuV-KO4L.mjs → git-handle-B4hCEi7c-CXOP12Ds.mjs} +2 -2
  9. package/dist/git-handle-DG8d2xCi-C_CAAChL.mjs +1 -0
  10. package/dist/index.mjs +1 -1
  11. package/dist/init-DrHm6UJF.mjs +1 -0
  12. package/dist/{init-CeV6DYvh.mjs → init-hugxd53g.mjs} +5 -5
  13. package/dist/{loader-CRiGx4e0.mjs → loader--DLOVwU4.mjs} +3 -3
  14. package/dist/loader-BiTnSGzo.mjs +1 -0
  15. package/dist/{preview-IaeY2esx.mjs → preview-BAF22TOz.mjs} +2 -2
  16. package/dist/preview-BdhhmEGp.mjs +1 -0
  17. package/dist/public/assets/ActivityModeContent-CJFUc7RW.js +2 -0
  18. package/dist/public/assets/ConsentDialogBody-CndpLVpa.js +2 -0
  19. package/dist/public/assets/DocumentContext-BUrGKvmA.js +32 -0
  20. package/dist/public/assets/EnableSyncConfirmDialog-BCBYaNI1.js +1 -0
  21. package/dist/public/assets/{GraphPanel-NJL83_At.js → GraphPanel-q480x3Pp.js} +9 -9
  22. package/dist/public/assets/ManagedArtifactProperties-UH7x5288.js +1 -0
  23. package/dist/public/assets/McpConsentDialogBody-NG01mM3X.js +1 -0
  24. package/dist/public/assets/PropertyPanel-DfIZg5rp.js +2 -0
  25. package/dist/public/assets/SettingsDialogBody-BcsIU5IO.js +7 -0
  26. package/dist/public/assets/ShareBranchSwitchDialog-DEixS5ow.js +1 -0
  27. package/dist/public/assets/ShareReceiveDialog-B-a7ftvp.js +1 -0
  28. package/dist/public/assets/ShareReceiveMissDialog-DuqsMjIE.js +1 -0
  29. package/dist/public/assets/SkillEditorActions-D99amW-6.js +1 -0
  30. package/dist/public/assets/SourceEditor-DYmBrxoa.js +2 -0
  31. package/dist/public/assets/{TerminalPanel-Bb5Hbdf3.js → TerminalPanel-CEcImr1_.js} +3 -3
  32. package/dist/public/assets/{_baseFor-D25oCqSU.js → _baseFor-M6ASkr3S.js} +1 -1
  33. package/dist/public/assets/{agent-presence-BRmBPq78.js → agent-presence-hQFriJP_.js} +1 -1
  34. package/dist/public/assets/{arc-DHpQGPKi.js → arc-BT8Hati9.js} +1 -1
  35. package/dist/public/assets/architecture-YZFGNWBL-BVEBoCy0.js +1 -0
  36. package/dist/public/assets/{architectureDiagram-Q4EWVU46-Dl6zKdMi.js → architectureDiagram-Q4EWVU46-BnLULocP.js} +1 -1
  37. package/dist/public/assets/{blockDiagram-DXYQGD6D-TTNbipzm.js → blockDiagram-DXYQGD6D-DgcakmQd.js} +1 -1
  38. package/dist/public/assets/{c4Diagram-AHTNJAMY-DJ6_yNro.js → c4Diagram-AHTNJAMY-MpS57keD.js} +1 -1
  39. package/dist/public/assets/{calendar-BefXYqrv.js → calendar-DPQ_ICRf.js} +1 -1
  40. package/dist/public/assets/channel-BnB1CAkA.js +1 -0
  41. package/dist/public/assets/check-CAsS5Elz.js +1 -0
  42. package/dist/public/assets/checkbox-DYATp18o.js +1 -0
  43. package/dist/public/assets/{chunk-2KRD3SAO-tPsWTtQ8.js → chunk-2KRD3SAO-kMTRGKj1.js} +1 -1
  44. package/dist/public/assets/{chunk-336JU56O-BDNF8ABQ.js → chunk-336JU56O-D9l-iSoM.js} +2 -2
  45. package/dist/public/assets/chunk-426QAEUC-CGz89IOu.js +1 -0
  46. package/dist/public/assets/{chunk-4BX2VUAB-B11p4CCh.js → chunk-4BX2VUAB-CxNONOIl.js} +1 -1
  47. package/dist/public/assets/{chunk-4TB4RGXK-k8il4Vah.js → chunk-4TB4RGXK-BJBCQpxu.js} +1 -1
  48. package/dist/public/assets/chunk-55IACEB6-hdKwekPD.js +1 -0
  49. package/dist/public/assets/{chunk-5FUZZQ4R-BhDATrAC.js → chunk-5FUZZQ4R-qTd1X-_B.js} +1 -1
  50. package/dist/public/assets/{chunk-5PVQY5BW-7GSXpGpA.js → chunk-5PVQY5BW-yDTy3kh2.js} +1 -1
  51. package/dist/public/assets/{chunk-67CJDMHE-DhsO5dA4.js → chunk-67CJDMHE-BoJfX61q.js} +1 -1
  52. package/dist/public/assets/{chunk-7N4EOEYR-_OPnqGDq.js → chunk-7N4EOEYR-CZeloxNb.js} +1 -1
  53. package/dist/public/assets/{chunk-AA7GKIK3-CmQNMaMq.js → chunk-AA7GKIK3-C2HwyAHF.js} +1 -1
  54. package/dist/public/assets/{chunk-BSJP7CBP-DRn1Q8qZ.js → chunk-BSJP7CBP-C-dn2Mkj.js} +1 -1
  55. package/dist/public/assets/{chunk-CIAEETIT-B6L60eSe.js → chunk-CIAEETIT-CUjsY9Jn.js} +1 -1
  56. package/dist/public/assets/{chunk-EDXVE4YY-TfqLQBKW.js → chunk-EDXVE4YY-GdX4IlNB.js} +1 -1
  57. package/dist/public/assets/{chunk-ENJZ2VHE-CqUfmxZL.js → chunk-ENJZ2VHE-B1deOUrZ.js} +1 -1
  58. package/dist/public/assets/{chunk-FMBD7UC4-_M3xiFqk.js → chunk-FMBD7UC4-4T3_kXBp.js} +1 -1
  59. package/dist/public/assets/{chunk-FOC6F5B3-R--gjWDw.js → chunk-FOC6F5B3-BdKFMbn0.js} +1 -1
  60. package/dist/public/assets/{chunk-ICPOFSXX-MhneOmo1.js → chunk-ICPOFSXX-CIVLR_5F.js} +2 -2
  61. package/dist/public/assets/{chunk-K5T4RW27-kfFBI7dm.js → chunk-K5T4RW27-B1SmKEZd.js} +1 -1
  62. package/dist/public/assets/{chunk-KGLVRYIC-MGoiNxXR.js → chunk-KGLVRYIC-CAvDRDdi.js} +1 -1
  63. package/dist/public/assets/{chunk-LIHQZDEY-3OBi6RFi.js → chunk-LIHQZDEY-BxEqkW3d.js} +1 -1
  64. package/dist/public/assets/{chunk-ORNJ4GCN-D1jJqGHz.js → chunk-ORNJ4GCN-Bb0szYVA.js} +1 -1
  65. package/dist/public/assets/{chunk-OYMX7WX6-Dn8GoIJo.js → chunk-OYMX7WX6-CBdUWkfK.js} +1 -1
  66. package/dist/public/assets/chunk-QZHKN3VN-D0cDmajJ.js +1 -0
  67. package/dist/public/assets/{chunk-U2HBQHQK-Wd4MIHD7.js → chunk-U2HBQHQK-BRyN8JBd.js} +1 -1
  68. package/dist/public/assets/{chunk-X2U36JSP-DgR3BYDC.js → chunk-X2U36JSP-o7MzjrQ3.js} +1 -1
  69. package/dist/public/assets/{chunk-XPW4576I-BIhGQhfc.js → chunk-XPW4576I-90AsGlZ-.js} +1 -1
  70. package/dist/public/assets/{chunk-YZCP3GAM-DfCU0Z-P.js → chunk-YZCP3GAM-08XDtemD.js} +1 -1
  71. package/dist/public/assets/{chunk-ZZ45TVLE-Bml1MOax.js → chunk-ZZ45TVLE-D2TDKoTv.js} +1 -1
  72. package/dist/public/assets/classDiagram-6PBFFD2Q-djt6-qsq.js +1 -0
  73. package/dist/public/assets/classDiagram-v2-HSJHXN6E-D9XE0jQw.js +1 -0
  74. package/dist/public/assets/clone--IpWXAZg.js +1 -0
  75. package/dist/public/assets/{collapsible-CjgfK1G5.js → collapsible-D2ThJMi2.js} +1 -1
  76. package/dist/public/assets/config-context-DJjTs62C.js +1 -0
  77. package/dist/public/assets/config-provider-BCrd1h3n.js +4 -0
  78. package/dist/public/assets/config-validation-events-c0bJLYdD.js +11 -0
  79. package/dist/public/assets/{cose-bilkent-S5V4N54A-CIV0yZWV.js → cose-bilkent-S5V4N54A-DKuOZr0O.js} +1 -1
  80. package/dist/public/assets/{dagre-KV5264BT-Bscv1HQo.js → dagre-KV5264BT-BH1vMnyV.js} +1 -1
  81. package/dist/public/assets/{dagre-BUnZfAns.js → dagre-ezBFxVi8.js} +1 -1
  82. package/dist/public/assets/desktop-bridge-types-C7nfug4w.js +1 -0
  83. package/dist/public/assets/{diagram-5BDNPKRD-QBP7yg8z.js → diagram-5BDNPKRD-C3DmjuH3.js} +1 -1
  84. package/dist/public/assets/{diagram-G4DWMVQ6-CMdeZ41j.js → diagram-G4DWMVQ6-J-UKxuT2.js} +1 -1
  85. package/dist/public/assets/{diagram-MMDJMWI5-DCz0ew8n.js → diagram-MMDJMWI5-DGIv4ujt.js} +1 -1
  86. package/dist/public/assets/{diagram-TYMM5635-zN9Dx1fB.js → diagram-TYMM5635-Cvs7rTa0.js} +1 -1
  87. package/dist/public/assets/dialog-DtVLDjny.js +45 -0
  88. package/dist/public/assets/{dist-AQSp7Qij.js → dist-AfBTOr2C.js} +1 -1
  89. package/dist/public/assets/{dist-E5KjgWw7.js → dist-BItEDTx8.js} +1 -1
  90. package/dist/public/assets/dist-BVOt51sU.js +1 -0
  91. package/dist/public/assets/dist-CBR3Gop_.js +23 -0
  92. package/dist/public/assets/dist-CWy4ixNG.js +1 -0
  93. package/dist/public/assets/dist-CgWVxeSo.js +1 -0
  94. package/dist/public/assets/dist-CgXWsFwX.js +1 -0
  95. package/dist/public/assets/dist-CyjUE1fU.js +1 -0
  96. package/dist/public/assets/dist-D0XhAWW8.js +1 -0
  97. package/dist/public/assets/{dist-BXd_K33i.js → dist-DXkiONdP.js} +1 -1
  98. package/dist/public/assets/dist-DwqkXXNG.js +9 -0
  99. package/dist/public/assets/{dist-DWaLpHcz.js → dist-Dx825WER2.js} +1 -1
  100. package/dist/public/assets/dist-JtyGhtXW.js +1 -0
  101. package/dist/public/assets/dist-QeKS_yUr.js +1 -0
  102. package/dist/public/assets/dist-SKUoQS3T.js +1 -0
  103. package/dist/public/assets/dist-guh9-s27.js +1 -0
  104. package/dist/public/assets/{dist-B2N5XdpF.js → dist-wye24uC6.js} +171 -171
  105. package/dist/public/assets/{documents-events-BQEuksqI.js → documents-events-B83ksr6N.js} +1 -1
  106. package/dist/public/assets/{erDiagram-SMLLAGMA-CFPPEjz0.js → erDiagram-SMLLAGMA-BisuKprM.js} +1 -1
  107. package/dist/public/assets/file-tree-adapter-a1FGMOP8.js +1 -0
  108. package/dist/public/assets/{flatten-sS3L8FSH.js → flatten-xNYSAL8G.js} +1 -1
  109. package/dist/public/assets/{flowDiagram-DWJPFMVM-DOjygKY4.js → flowDiagram-DWJPFMVM-B0HG4XkI.js} +1 -1
  110. package/dist/public/assets/{ganttDiagram-T4ZO3ILL-Cox3d5Yp.js → ganttDiagram-T4ZO3ILL-DQMAnJX0.js} +1 -1
  111. package/dist/public/assets/git-branch-GmlkrJG1.js +1 -0
  112. package/dist/public/assets/gitGraph-7Q5UKJZL-sYXFuH-f.js +1 -0
  113. package/dist/public/assets/{gitGraphDiagram-UUTBAWPF-BXvw3bmB.js → gitGraphDiagram-UUTBAWPF-D_atUqHK.js} +1 -1
  114. package/dist/public/assets/{graphlib-FYrXvm7X.js → graphlib-CssuwrQ0.js} +1 -1
  115. package/dist/public/assets/index-B3AzmMEn.css +1 -0
  116. package/dist/public/assets/index-Bh-HkPzm.js +2003 -0
  117. package/dist/public/assets/info-OMHHGYJF-BjKjxbM2.js +1 -0
  118. package/dist/public/assets/{infoDiagram-42DDH7IO-Bk54rrHD.js → infoDiagram-42DDH7IO-BSBW6Pan.js} +1 -1
  119. package/dist/public/assets/{isEmpty-DKKUMPPC.js → isEmpty-ORz5JRVb.js} +1 -1
  120. package/dist/public/assets/isSymbol-DXuURO6J.js +1 -0
  121. package/dist/public/assets/{ishikawaDiagram-UXIWVN3A-Bc3G_190.js → ishikawaDiagram-UXIWVN3A-BQ069xL3.js} +1 -1
  122. package/dist/public/assets/{journeyDiagram-VCZTEJTY-CLrtuKm7.js → journeyDiagram-VCZTEJTY-MGSlWbE2.js} +1 -1
  123. package/dist/public/assets/{kanban-definition-6JOO6SKY-DwQiIK5Z.js → kanban-definition-6JOO6SKY-Gdd-cuhS.js} +1 -1
  124. package/dist/public/assets/{keyboard-shortcuts-MXDWcMuC.js → keyboard-shortcuts-BO_yaXFa.js} +1 -1
  125. package/dist/public/assets/{label-DyT4OD9H.js → label-iXNPopUN.js} +1 -1
  126. package/dist/public/assets/{line-Dk1foLQO.js → line-BsWA6ttc.js} +1 -1
  127. package/dist/public/assets/{linear-D7qoVA2u.js → linear-DYHJjwmm.js} +1 -1
  128. package/dist/public/assets/loader-circle-B10CtBnC.js +1 -0
  129. package/dist/public/assets/{mermaid-parser.core-WlD4T62P.js → mermaid-parser.core-BkIpaEsR.js} +2 -2
  130. package/dist/public/assets/{mermaid.core-CLOkRfd8.js → mermaid.core-DTlyBC51.js} +3 -3
  131. package/dist/public/assets/{mindmap-definition-QFDTVHPH-DYJRBCQs.js → mindmap-definition-QFDTVHPH-RCGyFFgC.js} +1 -1
  132. package/dist/public/assets/miss-dialog-store-B0FbFVHM.js +1 -0
  133. package/dist/public/assets/{navigation-targets-0j0dncXj.js → navigation-targets-DiRykhu5.js} +1 -1
  134. package/dist/public/assets/{now-C9pOxV0O.js → now-CtwaUqv3.js} +1 -1
  135. package/dist/public/assets/{open-managed-artifact-tab-Ba10qvGi.js → open-managed-artifact-tab-DrODiIEr.js} +1 -1
  136. package/dist/public/assets/{ordinal-BLFf0NQg.js → ordinal-xd87TCK5.js} +1 -1
  137. package/dist/public/assets/packet-4T2RLAQJ-CCsYpon-.js +1 -0
  138. package/dist/public/assets/pie-ZZUOXDRM-BEHBBBt7.js +1 -0
  139. package/dist/public/assets/{pieDiagram-DEJITSTG-BtJ94Yhu.js → pieDiagram-DEJITSTG-e0uyQE_X.js} +1 -1
  140. package/dist/public/assets/{project-paths-CcPGtodV.js → project-paths-CB2fAetg.js} +1 -1
  141. package/dist/public/assets/prop-types-CSx_Gmsn.js +1 -0
  142. package/dist/public/assets/{propagation-api-CR2CQW4x.js → propagation-api-2R98p81r.js} +1 -1
  143. package/dist/public/assets/{quadrantDiagram-34T5L4WZ-B8wf6FVG.js → quadrantDiagram-34T5L4WZ-fiYcYSyL.js} +1 -1
  144. package/dist/public/assets/radar-PYXPWWZC-C3-Fl7K_.js +1 -0
  145. package/dist/public/assets/radio-group-CBK4VVOo.js +1 -0
  146. package/dist/public/assets/receive-store-93o2FscZ.js +2 -0
  147. package/dist/public/assets/{reduce-CrpTR7cO.js → reduce-CLK8gX02.js} +1 -1
  148. package/dist/public/assets/refresh-cw-BxQJQoCU.js +1 -0
  149. package/dist/public/assets/{requirementDiagram-MS252O5E-PrH6Wk-f.js → requirementDiagram-MS252O5E-Cu0OR6JE.js} +1 -1
  150. package/dist/public/assets/{sankeyDiagram-XADWPNL6-DuDWdyws.js → sankeyDiagram-XADWPNL6-CuBGw_FO.js} +1 -1
  151. package/dist/public/assets/{selection-context-BXIaKU4B.js → selection-context-_7ApBUWm.js} +1 -1
  152. package/dist/public/assets/{sequenceDiagram-FGHM5R23-BvF_oV_w.js → sequenceDiagram-FGHM5R23-CvdTGqtB.js} +1 -1
  153. package/dist/public/assets/share-metadata-rows-CPUEqGaU.js +1 -0
  154. package/dist/public/assets/share-receive-miss-content-CptbjUbT.js +1 -0
  155. package/dist/public/assets/skill-actions-X_rLke6F.js +1 -0
  156. package/dist/public/assets/skill-scope-CFcSL9PO.js +1 -0
  157. package/dist/public/assets/skills-api-D2ixHCpn.js +1 -0
  158. package/dist/public/assets/{src-DEzC9TbA.js → src-CbbwOucf.js} +1 -1
  159. package/dist/public/assets/{stateDiagram-FHFEXIEX-BvOoHTsD.js → stateDiagram-FHFEXIEX-CotJyv0o.js} +1 -1
  160. package/dist/public/assets/stateDiagram-v2-QKLJ7IA2-Dgzdjh4b.js +1 -0
  161. package/dist/public/assets/{target-navigation-intent-CCM8wm3X.js → target-navigation-intent-Bfuh_WMb.js} +1 -1
  162. package/dist/public/assets/{telemetry-impl-BM7BnAv2.js → telemetry-impl-Bq6GTn3R.js} +2 -2
  163. package/dist/public/assets/telemetry-startup-D90YW7_1.js +1 -0
  164. package/dist/public/assets/{timeline-definition-GMOUNBTQ-_VzX4HAF.js → timeline-definition-GMOUNBTQ-D8Me4q53.js} +1 -1
  165. package/dist/public/assets/{toggle-group-Bc5FaFo3.js → toggle-group-Duj35QHX.js} +1 -1
  166. package/dist/public/assets/tooltip-zcVXnhGV.js +1 -0
  167. package/dist/public/assets/treeView-SZITEDCU-Bhp29JF9.js +1 -0
  168. package/dist/public/assets/treemap-W4RFUUIX-_XMcXETA.js +1 -0
  169. package/dist/public/assets/{typing-burst-detector-3hSyllA2.js → typing-burst-detector-gS73Iqz3.js} +3 -3
  170. package/dist/public/assets/{vennDiagram-DHZGUBPP-BiS2w_m-.js → vennDiagram-DHZGUBPP-W-XqbYNU.js} +1 -1
  171. package/dist/public/assets/wardley-RL74JXVD-CPivDOW3.js +1 -0
  172. package/dist/public/assets/{wardleyDiagram-NUSXRM2D-BgB2gOdF.js → wardleyDiagram-NUSXRM2D-DB3DcQtI.js} +1 -1
  173. package/dist/public/assets/{xychartDiagram-5P7HB3ND-DIurDFny.js → xychartDiagram-5P7HB3ND-DxutAraW.js} +1 -1
  174. package/dist/public/index.html +68 -56
  175. package/dist/{repair-launch-json-CS6C6O3X.mjs → repair-launch-json-Z-uZUDrj.mjs} +2 -2
  176. package/dist/{repair-mcp-configs-D-iMOSEE.mjs → repair-mcp-configs-D1udS6-V.mjs} +2 -2
  177. package/dist/repair-skills-CGLJdO86.mjs +1 -0
  178. package/dist/{repair-skills-D5s7VIc5.mjs → repair-skills-PBaCPknU.mjs} +2 -2
  179. package/dist/server-lock-LsXsWtim-BLIrqdzC.mjs +1 -0
  180. package/dist/{server-lock-ltHt39S2-CPmTXbVG.mjs → server-lock-ltHt39S2-FrJuEUby.mjs} +39 -39
  181. package/dist/{src-CZBXfnwD.mjs → src-w1N05aF-.mjs} +2 -2
  182. package/dist/{start-DnS2be8Y.mjs → start-C7JGfaJq.mjs} +2 -2
  183. package/dist/start-DIE265YH.mjs +1 -0
  184. package/dist/{write-project-skill-DUum3kyh.mjs → write-project-skill-D_ylGqEf.mjs} +2 -2
  185. package/package.json +1 -1
  186. package/dist/constants-CS2nL68U.mjs +0 -2
  187. package/dist/git-handle-D7c_AnSg-mtlScJx8.mjs +0 -1
  188. package/dist/init-BliN3ZD6.mjs +0 -1
  189. package/dist/loader-MCBnhFm_.mjs +0 -1
  190. package/dist/preview-0VpHVzuK.mjs +0 -1
  191. package/dist/public/assets/ActivityModeContent-DGWY0tgl.js +0 -2
  192. package/dist/public/assets/ConsentDialogBody-CPX75E6Q.js +0 -2
  193. package/dist/public/assets/DocumentContext-BGDV4Qfa.js +0 -34
  194. package/dist/public/assets/ManagedArtifactProperties-uPllyloX.js +0 -1
  195. package/dist/public/assets/McpConsentDialogBody-ByCv3Eox.js +0 -1
  196. package/dist/public/assets/PropertyPanel-BxwXftk5.js +0 -2
  197. package/dist/public/assets/SettingsDialogBody-DV-JvdHK.js +0 -7
  198. package/dist/public/assets/SkillEditorActions-Bs0Vh4_e.js +0 -1
  199. package/dist/public/assets/SourceEditor-BSma1xNX.js +0 -2
  200. package/dist/public/assets/architecture-YZFGNWBL-0pWnpYMK.js +0 -1
  201. package/dist/public/assets/channel-ClECMrL_.js +0 -1
  202. package/dist/public/assets/checkbox-EGJP9xna.js +0 -1
  203. package/dist/public/assets/chunk-426QAEUC-UlKin18B.js +0 -1
  204. package/dist/public/assets/chunk-55IACEB6-maKdi3q_.js +0 -1
  205. package/dist/public/assets/chunk-QZHKN3VN-DUJDGGgJ.js +0 -1
  206. package/dist/public/assets/classDiagram-6PBFFD2Q-C9zXtHUq.js +0 -1
  207. package/dist/public/assets/classDiagram-v2-HSJHXN6E-BLmW_Iw2.js +0 -1
  208. package/dist/public/assets/clone-1iKEKVKL.js +0 -1
  209. package/dist/public/assets/config-context-DhhN0rlf.js +0 -1
  210. package/dist/public/assets/config-validation-events-r0o3-Vnb.js +0 -11
  211. package/dist/public/assets/dialog-CIq9aQLf.js +0 -45
  212. package/dist/public/assets/dist-3l3ADjEo.js +0 -1
  213. package/dist/public/assets/dist-BZEgBj4N.js +0 -23
  214. package/dist/public/assets/dist-BdwnfcKi.js +0 -1
  215. package/dist/public/assets/dist-BgLh90uo2.js +0 -1
  216. package/dist/public/assets/dist-Bqo1ZTng.js +0 -1
  217. package/dist/public/assets/dist-C3ftUzLd.js +0 -1
  218. package/dist/public/assets/dist-CHEQzAl9.js +0 -1
  219. package/dist/public/assets/dist-Dtxdqotp.js +0 -1
  220. package/dist/public/assets/dist-ICp_3rWY.js +0 -1
  221. package/dist/public/assets/dist-znFZQjzE.js +0 -9
  222. package/dist/public/assets/file-tree-adapter-DosgCKNV.js +0 -1
  223. package/dist/public/assets/gitGraph-7Q5UKJZL-DNLE-2Tt.js +0 -1
  224. package/dist/public/assets/index-D3I_UcNL.js +0 -2004
  225. package/dist/public/assets/index-Now3zu6y.css +0 -1
  226. package/dist/public/assets/info-OMHHGYJF-BiaOigFV.js +0 -1
  227. package/dist/public/assets/isSymbol-BgthEULk.js +0 -1
  228. package/dist/public/assets/packet-4T2RLAQJ-v1yqEdTP.js +0 -1
  229. package/dist/public/assets/pie-ZZUOXDRM-pmbX_rAr.js +0 -1
  230. package/dist/public/assets/prop-types-CU5h6mJM.js +0 -1
  231. package/dist/public/assets/radar-PYXPWWZC-CQRfh76o.js +0 -1
  232. package/dist/public/assets/radio-group-CFPLlVag.js +0 -1
  233. package/dist/public/assets/skill-actions-UNGn_f8Z.js +0 -1
  234. package/dist/public/assets/skills-api-b3UP0fvy.js +0 -1
  235. package/dist/public/assets/stateDiagram-v2-QKLJ7IA2-B02IOISZ.js +0 -1
  236. package/dist/public/assets/telemetry-startup-Pz1ro4a2.js +0 -1
  237. package/dist/public/assets/tooltip-DiL7DBhT.js +0 -1
  238. package/dist/public/assets/treeView-SZITEDCU-iExObZ_v.js +0 -1
  239. package/dist/public/assets/treemap-W4RFUUIX-B-jRsyTq.js +0 -1
  240. package/dist/public/assets/wardley-RL74JXVD-DGsNLwY0.js +0 -1
  241. package/dist/repair-skills-BUsNTNSG.mjs +0 -1
  242. package/dist/server-lock-LsXsWtim-lsqjSV5C.mjs +0 -1
  243. package/dist/start-IDoCSATt.mjs +0 -1
  244. /package/dist/public/assets/{ActivityPanelDiffView-TEHR9A38.js → ActivityPanelDiffView-BTxPvMxJ.js} +0 -0
  245. /package/dist/public/assets/{__vite-browser-external-DimdflAw.js → __vite-browser-external-B36MovhX.js} +0 -0
  246. /package/dist/public/assets/{array-CXyn2wAU.js → array-BUzQ4ozH.js} +0 -0
  247. /package/dist/public/assets/{chevron-down-CzFz_0zd.js → chevron-down-BaPMAfbX.js} +0 -0
  248. /package/dist/public/assets/{chevron-left-Bb3WBx0B.js → chevron-left-CGj9PTYZ.js} +0 -0
  249. /package/dist/public/assets/{chevron-right-jyIhGBkw.js → chevron-right-CVuQ_gVm.js} +0 -0
  250. /package/dist/public/assets/{clike-kHME1xsl.js → clike-D_SjGvvg.js} +0 -0
  251. /package/dist/public/assets/{colors-DOVRXUpv.js → colors-BGvj6s84.js} +0 -0
  252. /package/dist/public/assets/{cursor-CpjEfgnv.js → cursor-BVozWV54.js} +0 -0
  253. /package/dist/public/assets/{cytoscape.esm-DGKrBfTH.js → cytoscape.esm-btr3n05v.js} +0 -0
  254. /package/dist/public/assets/{defaultLocale-CIVmmKdD.js → defaultLocale-CSBjhTZR.js} +0 -0
  255. /package/dist/public/assets/{diff-B_7QuALZ.js → diff-BqkTpocs.js} +0 -0
  256. /package/dist/public/assets/{dist-BAzUe-Rb.js → dist-BGPDbC1a.js} +0 -0
  257. /package/dist/public/assets/{dist-ug68MPTZ.js → dist-BzWUi0nJ.js} +0 -0
  258. /package/dist/public/assets/{dist-KBKQayVB.js → dist-DQW1FoW-.js} +0 -0
  259. /package/dist/public/assets/{external-link-Bc6KvE1i.js → external-link-BKUUNWAX.js} +0 -0
  260. /package/dist/public/assets/{file-tree-rename-validation-BqGkSO9-.js → file-tree-rename-validation-DeKIxKnc.js} +0 -0
  261. /package/dist/public/assets/{format-Fsxus_sZ.js → format-CZkN23Sx.js} +0 -0
  262. /package/dist/public/assets/{go-DlHfV6Cv.js → go-WnOHx5P6.js} +0 -0
  263. /package/dist/public/assets/{init-DAmDTHXL.js → init-DJv5Kvsb.js} +0 -0
  264. /package/dist/public/assets/{input-DkQ8Zmzd.js → input-DMhjBZpj.js} +0 -0
  265. /package/dist/public/assets/{isObjectLike-0yTn5bno.js → isObjectLike-zJ40xofy.js} +0 -0
  266. /package/dist/public/assets/{katex-gTwLOSI2.js → katex-jl-BtNZi.js} +0 -0
  267. /package/dist/public/assets/{lua-Cpo6SgEb.js → lua-2OwjZGy8.js} +0 -0
  268. /package/dist/public/assets/{mcp-consent-store-Q_heVQ86.js → mcp-consent-store-GcVZt2zP.js} +0 -0
  269. /package/dist/public/assets/{min-CGFu6QbN.js → min-DIoz8hPy.js} +0 -0
  270. /package/dist/public/assets/{panzoom.es-1vRDHCmL.js → panzoom.es-hRq5wJMJ.js} +0 -0
  271. /package/dist/public/assets/{path-1iyJ-o9O.js → path-B3Eut0a4.js} +0 -0
  272. /package/dist/public/assets/{pdf-BjE4l7oX.js → pdf-Bn4xV8-w.js} +0 -0
  273. /package/dist/public/assets/{pdf.worker-CU7PVDgr.js → pdf.worker-CALBpSPV.js} +0 -0
  274. /package/dist/public/assets/{perl-uq5LpsPX.js → perl-D9Q8bKYZ.js} +0 -0
  275. /package/dist/public/assets/{properties-DuLkwqft.js → properties-DZ6bJxbX.js} +0 -0
  276. /package/dist/public/assets/{r-DcEDABBa.js → r-BZ7xig1P.js} +0 -0
  277. /package/dist/public/assets/{rough.esm-Bk-GM2I8.js → rough.esm-NnATA0En.js} +0 -0
  278. /package/dist/public/assets/{ruby-C6V5dDsD.js → ruby-B91hJOIB.js} +0 -0
  279. /package/dist/public/assets/{shell-CVvCNjui.js → shell-BjiMLAaM.js} +0 -0
  280. /package/dist/public/assets/{sql-CQQBnjZX.js → sql-sVzScOxQ.js} +0 -0
  281. /package/dist/public/assets/{src-C3imF5Zq.js → src-DQu6B2Zu.js} +0 -0
  282. /package/dist/public/assets/{startup-marks-CWTDb1CP.js → startup-marks-1TBx3O5Y.js} +0 -0
  283. /package/dist/public/assets/{stex-coA_FIxI.js → stex-DLTwoWCs.js} +0 -0
  284. /package/dist/public/assets/{swift-BBOV2SBg.js → swift-C0Ab_xUH.js} +0 -0
  285. /package/dist/public/assets/{textarea-BQFFQ9_l.js → textarea-BD5DUwDS.js} +0 -0
  286. /package/dist/public/assets/{toml-lQGk0tnp.js → toml-bNnB195d.js} +0 -0
  287. /package/dist/public/assets/{trace-api-MhJXZpsM.js → trace-api-6NqWxY5v.js} +0 -0
  288. /package/dist/public/assets/{w3c-keyname-beU76Hfb.js → w3c-keyname-F3byfno6.js} +0 -0
@@ -1,3 +1,3 @@
1
- import{s as e}from"./chunk-C94x7I9S.mjs";import{c as t,l as n,s as r}from"./server-lock-ltHt39S2-CPmTXbVG.mjs";import{Mr as i,Nr as a,Tn as o,pn as s,ri as c,xn as l}from"./dist-BNI6AO8O.mjs";import{t as u}from"./esm-CsQUg9js.mjs";import"./gh-detect-B3B56f-Q.mjs";import{b as d,v as f}from"./init-CeV6DYvh.mjs";import{n as ee,s as p}from"./write-project-skill-DUum3kyh.mjs";import"./loader-CRiGx4e0.mjs";import{c as m}from"./colors-8SzMRIVy.mjs";import"./preview-IaeY2esx.mjs";import{dirname as te,isAbsolute as h,join as g,relative as _,resolve as v}from"node:path";import{hostname as y}from"node:os";import{existsSync as b,lstatSync as ne,readFileSync as x,readlinkSync as re,statSync as ie}from"node:fs";import{readFile as S,realpath as C}from"node:fs/promises";function w(e,i,a={}){let o=n(e,i);if(!b(o))return{status:`missing`,lockPath:o};let s;try{s=JSON.parse(x(o,`utf-8`))}catch{return{status:`corrupt`,lockPath:o}}if(!s||typeof s!=`object`||!t(s.pid))return{status:`corrupt`,lockPath:o};let c=s;if(!(a.isAlive??r)(c.pid))return{status:`dead-pid`,lockPath:o,lock:c};let l=a.host??y();return c.hostname===l?{status:`alive`,lockPath:o,lock:c}:{status:`foreign-host`,lockPath:o,lock:c}}function T(e){return e.replace(/:\d+$/,``)}function E(e){let t=e.trim();if(!t)return null;{let e=/^https?:\/\/([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`https`,hostname:T(e[1]),owner:e[2],name:e[3]}}{let e=/^ssh:\/\/(?:[\w.-]+@)?([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`ssh`,hostname:T(e[1]),owner:e[2],name:e[3]}}{let e=/^git:\/\/([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`git`,hostname:T(e[1]),owner:e[2],name:e[3]}}{let e=/^(?:[\w.-]+@)?([\w.-]+):([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?$/.exec(t);if(e?.[1].includes(`.`)||e&&t.startsWith(`git@`))return{protocol:`ssh`,hostname:e[1],owner:e[2],name:e[3]}}{let e=/^git:([\w.-]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`git`,hostname:e[1],owner:e[2],name:e[3]}}if(!t.includes(`://`)&&!t.includes(`@`)&&!t.startsWith(`/`)){let e=/^([\w.-]+)\/([\w.\-~%]+?)(?:\.git)?$/.exec(t);if(e)return{protocol:`https`,hostname:`github.com`,owner:e[1],name:e[2]}}return null}function D(e){let t;try{t=new URL(e)}catch{return null}if(t.hostname!==`github.com`&&t.hostname!==`www.github.com`)return null;let n=t.pathname.split(`/`).filter(e=>e.length>0);if(n.length<5||n[2]!==`blob`)return null;let r,i,a,o;try{r=decodeURIComponent(n[0]),i=decodeURIComponent(n[1]),a=decodeURIComponent(n[3]),o=n.slice(4).map(e=>decodeURIComponent(e))}catch{return null}return!r||!i||!a||o.length===0||o.some(e=>e.length===0)?null:{owner:r,repo:i,branch:a,path:o.join(`/`)}}function O(e){let t;try{t=new URL(e)}catch{return null}if(t.hostname!==`github.com`&&t.hostname!==`www.github.com`)return null;let n=t.pathname.split(`/`);if(n.length<5||n[0]!==``||n[3]!==`tree`)return null;let r=n.slice(5);r.length===1&&r[0]===``&&r.pop();let i,a,o,s;try{i=decodeURIComponent(n[1]),a=decodeURIComponent(n[2]),o=decodeURIComponent(n[4]),s=r.map(e=>decodeURIComponent(e))}catch{return null}return!i||!a||!o||s.some(e=>e.length===0)?null:{owner:i,repo:a,branch:o,path:s.join(`/`)}}function ae(e){let t=D(e);if(t)return{kind:`doc`,...t};let n=O(e);return n?{kind:`folder`,...n}:null}const oe=`# >>> open-knowledge cli >>>`,se=`# <<< open-knowledge cli <<<`,k=/^# >>> open-knowledge cli >>>\n[\s\S]*?^# <<< open-knowledge cli <<<\n?/m;function A(e){return g(e,`Library`,`Application Support`,`OpenKnowledge`,`path-install.json`)}const j={existsSync:e=>b(e),readFileSync:(e,t)=>x(e,t),lstatSync:e=>ne(e),readlinkSync:e=>re(e)};function M(e,t=j){let n=A(e);if(!t.existsSync(n))return null;try{let e=JSON.parse(t.readFileSync(n,`utf8`));return e?.version===1?e:null}catch{return null}}function N(e){let t=e.replace(k,``);return{text:t,changed:t!==e,emptyAfter:t.trim()===``}}function P(e,t,n=j){try{return n.lstatSync(e).isSymbolicLink()?n.readlinkSync(e)===t:!1}catch{return!1}}const F=new Set([`start`,`stop`,`status`,`clean`,`ui`,`mcp`,`preview`,`deinit`]);function I(e,t,n=o){if(e!==void 0&&!F.has(e))return null;let r=n(t);return r===null||r.distance===0?null:r.rootPath}let L=null;function R(e){L=e}function z(){return L??process.cwd()}var B=e(m(),1);function V(e){return e==null?!1:e.includes(`--type=utility`)&&e.includes(`--utility-sub-type=node.mojom.NodeService`)}function H(e,t=Date.now()){let n=new Date(e).getTime();if(Number.isNaN(n))return`—`;let r=t-n,i=Math.floor(r/1e3);if(i<60)return`${i}s`;let a=Math.floor(i/60);if(a<60)return`${a}m ago`;let o=Math.floor(a/60);return o<24?`${o}h ago`:`${Math.floor(o/24)}d ago`}function U(e,t,n,r,i,a){if(t.status===`missing`||t.status===`corrupt`)return null;let o=t.lock,s=null;if(n.status!==`missing`&&n.status!==`corrupt`){let e=n.lock;s={port:e.port,status:n.status,pid:e.pid,startedAt:e.startedAt,usage:a}}return{directory:o.worktreeRoot,server:{port:o.port,status:t.status,pid:o.pid,startedAt:o.startedAt,usage:i},ui:s,hostname:o.hostname,lockPath:t.lockPath,binary:r==null?null:l(r),command:r,isDesktop:V(r)}}function W(e){return e.ui==null?!1:e.ui.status===`alive`||e.ui.status===`foreign-host`}function G(e){let t=e.server.status;return t===`alive`||t===`foreign-host`?e.isDesktop?`desktop`:t===`alive`?`running`:`foreign`:t===`dead-pid`&&W(e)?`ui-orphan`:`stale`}const K=new Set([`running`,`desktop`,`foreign`,`ui-orphan`]);function ce(e){switch(e){case`running`:return B.default.green(e);case`desktop`:return B.default.blue(e);case`foreign`:return B.default.cyan(e);case`ui-orphan`:return B.default.magenta(e);case`stale`:return B.default.yellow(e)}}function q(e){return e==null?`—`:`${e.cpuPercent.toFixed(1)}% / ${e.memPercent.toFixed(1)}%`}function le(e){return`${q(e.server.usage)} | ${q(e.ui?.usage??null)}`}function ue(e){return`${e.server.port===0?`(starting)`:String(e.server.port)} / ${e.ui==null||e.ui.status===`dead-pid`?`—`:String(e.ui.port)}`}function de(e){if(e.length===0)return`No open-knowledge servers found.`;let t=[`DIRECTORY`,`PORTS (API/UI)`,`CPU/MEM (API | UI)`,`STATUS`,`PID`,`STARTED`,`BINARY`],n=e.map(e=>{let t=G(e),n=t===`ui-orphan`&&e.ui!=null?e.ui.pid:e.server.pid;return[e.directory,ue(e),le(e),t,String(n),H(e.server.startedAt),e.binary??`—`]}),r=t.length,i=t.map(e=>e.length);for(let e of n)for(let t=0;t<r;t++)i[t]=Math.max(i[t]??0,(e[t]??``).length);let a=t.map((e,t)=>e.padEnd(i[t]??0)).join(` `).trimEnd(),o=e.map((e,t)=>{let a=n[t]??[],o=[];for(let t=0;t<r;t++){let n=(a[t]??``).padEnd(i[t]??0);if(t===3){let r=a[t]??``;n=ce(G(e))+` `.repeat(Math.max(0,(i[t]??0)-r.length))}o.push(n)}return o.join(` `).trimEnd()}),s=B.default.dim(`To stop a server: ok stop <port|pid|directory|all>`);return[a,...o,``,s].join(`
1
+ import{s as e}from"./chunk-C94x7I9S.mjs";import{c as t,l as n,s as r}from"./server-lock-ltHt39S2-FrJuEUby.mjs";import{Mr as i,Nr as a,Tn as o,pn as s,ri as c,xn as l}from"./dist-CefxLzs-.mjs";import{t as u}from"./esm-CsQUg9js.mjs";import"./gh-detect-agW-_3XF.mjs";import{b as d,v as f}from"./init-hugxd53g.mjs";import{n as ee,s as p}from"./write-project-skill-D_ylGqEf.mjs";import"./loader--DLOVwU4.mjs";import{c as m}from"./colors-8SzMRIVy.mjs";import"./preview-BAF22TOz.mjs";import{dirname as te,isAbsolute as h,join as g,relative as _,resolve as v}from"node:path";import{hostname as y}from"node:os";import{existsSync as b,lstatSync as ne,readFileSync as x,readlinkSync as re,statSync as ie}from"node:fs";import{readFile as S,realpath as C}from"node:fs/promises";function w(e,i,a={}){let o=n(e,i);if(!b(o))return{status:`missing`,lockPath:o};let s;try{s=JSON.parse(x(o,`utf-8`))}catch{return{status:`corrupt`,lockPath:o}}if(!s||typeof s!=`object`||!t(s.pid))return{status:`corrupt`,lockPath:o};let c=s;if(!(a.isAlive??r)(c.pid))return{status:`dead-pid`,lockPath:o,lock:c};let l=a.host??y();return c.hostname===l?{status:`alive`,lockPath:o,lock:c}:{status:`foreign-host`,lockPath:o,lock:c}}function T(e){return e.replace(/:\d+$/,``)}function E(e){let t=e.trim();if(!t)return null;{let e=/^https?:\/\/([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`https`,hostname:T(e[1]),owner:e[2],name:e[3]}}{let e=/^ssh:\/\/(?:[\w.-]+@)?([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`ssh`,hostname:T(e[1]),owner:e[2],name:e[3]}}{let e=/^git:\/\/([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`git`,hostname:T(e[1]),owner:e[2],name:e[3]}}{let e=/^(?:[\w.-]+@)?([\w.-]+):([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?$/.exec(t);if(e?.[1].includes(`.`)||e&&t.startsWith(`git@`))return{protocol:`ssh`,hostname:e[1],owner:e[2],name:e[3]}}{let e=/^git:([\w.-]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`git`,hostname:e[1],owner:e[2],name:e[3]}}if(!t.includes(`://`)&&!t.includes(`@`)&&!t.startsWith(`/`)){let e=/^([\w.-]+)\/([\w.\-~%]+?)(?:\.git)?$/.exec(t);if(e)return{protocol:`https`,hostname:`github.com`,owner:e[1],name:e[2]}}return null}function D(e){let t;try{t=new URL(e)}catch{return null}if(t.hostname!==`github.com`&&t.hostname!==`www.github.com`)return null;let n=t.pathname.split(`/`).filter(e=>e.length>0);if(n.length<5||n[2]!==`blob`)return null;let r,i,a,o;try{r=decodeURIComponent(n[0]),i=decodeURIComponent(n[1]),a=decodeURIComponent(n[3]),o=n.slice(4).map(e=>decodeURIComponent(e))}catch{return null}return!r||!i||!a||o.length===0||o.some(e=>e.length===0)?null:{owner:r,repo:i,branch:a,path:o.join(`/`)}}function O(e){let t;try{t=new URL(e)}catch{return null}if(t.hostname!==`github.com`&&t.hostname!==`www.github.com`)return null;let n=t.pathname.split(`/`);if(n.length<5||n[0]!==``||n[3]!==`tree`)return null;let r=n.slice(5);r.length===1&&r[0]===``&&r.pop();let i,a,o,s;try{i=decodeURIComponent(n[1]),a=decodeURIComponent(n[2]),o=decodeURIComponent(n[4]),s=r.map(e=>decodeURIComponent(e))}catch{return null}return!i||!a||!o||s.some(e=>e.length===0)?null:{owner:i,repo:a,branch:o,path:s.join(`/`)}}function ae(e){let t=D(e);if(t)return{kind:`doc`,...t};let n=O(e);return n?{kind:`folder`,...n}:null}const oe=`# >>> open-knowledge cli >>>`,se=`# <<< open-knowledge cli <<<`,k=/^# >>> open-knowledge cli >>>\n[\s\S]*?^# <<< open-knowledge cli <<<\n?/m;function A(e){return g(e,`Library`,`Application Support`,`OpenKnowledge`,`path-install.json`)}const j={existsSync:e=>b(e),readFileSync:(e,t)=>x(e,t),lstatSync:e=>ne(e),readlinkSync:e=>re(e)};function M(e,t=j){let n=A(e);if(!t.existsSync(n))return null;try{let e=JSON.parse(t.readFileSync(n,`utf8`));return e?.version===1?e:null}catch{return null}}function N(e){let t=e.replace(k,``);return{text:t,changed:t!==e,emptyAfter:t.trim()===``}}function P(e,t,n=j){try{return n.lstatSync(e).isSymbolicLink()?n.readlinkSync(e)===t:!1}catch{return!1}}const F=new Set([`start`,`stop`,`status`,`clean`,`ui`,`mcp`,`preview`,`deinit`]);function I(e,t,n=o){if(e!==void 0&&!F.has(e))return null;let r=n(t);return r===null||r.distance===0?null:r.rootPath}let L=null;function R(e){L=e}function z(){return L??process.cwd()}var B=e(m(),1);function V(e){return e==null?!1:e.includes(`--type=utility`)&&e.includes(`--utility-sub-type=node.mojom.NodeService`)}function H(e,t=Date.now()){let n=new Date(e).getTime();if(Number.isNaN(n))return`—`;let r=t-n,i=Math.floor(r/1e3);if(i<60)return`${i}s`;let a=Math.floor(i/60);if(a<60)return`${a}m ago`;let o=Math.floor(a/60);return o<24?`${o}h ago`:`${Math.floor(o/24)}d ago`}function U(e,t,n,r,i,a){if(t.status===`missing`||t.status===`corrupt`)return null;let o=t.lock,s=null;if(n.status!==`missing`&&n.status!==`corrupt`){let e=n.lock;s={port:e.port,status:n.status,pid:e.pid,startedAt:e.startedAt,usage:a}}return{directory:o.worktreeRoot,server:{port:o.port,status:t.status,pid:o.pid,startedAt:o.startedAt,usage:i},ui:s,hostname:o.hostname,lockPath:t.lockPath,binary:r==null?null:l(r),command:r,isDesktop:V(r)}}function W(e){return e.ui==null?!1:e.ui.status===`alive`||e.ui.status===`foreign-host`}function G(e){let t=e.server.status;return t===`alive`||t===`foreign-host`?e.isDesktop?`desktop`:t===`alive`?`running`:`foreign`:t===`dead-pid`&&W(e)?`ui-orphan`:`stale`}const K=new Set([`running`,`desktop`,`foreign`,`ui-orphan`]);function ce(e){switch(e){case`running`:return B.default.green(e);case`desktop`:return B.default.blue(e);case`foreign`:return B.default.cyan(e);case`ui-orphan`:return B.default.magenta(e);case`stale`:return B.default.yellow(e)}}function q(e){return e==null?`—`:`${e.cpuPercent.toFixed(1)}% / ${e.memPercent.toFixed(1)}%`}function le(e){return`${q(e.server.usage)} | ${q(e.ui?.usage??null)}`}function ue(e){return`${e.server.port===0?`(starting)`:String(e.server.port)} / ${e.ui==null||e.ui.status===`dead-pid`?`—`:String(e.ui.port)}`}function de(e){if(e.length===0)return`No open-knowledge servers found.`;let t=[`DIRECTORY`,`PORTS (API/UI)`,`CPU/MEM (API | UI)`,`STATUS`,`PID`,`STARTED`,`BINARY`],n=e.map(e=>{let t=G(e),n=t===`ui-orphan`&&e.ui!=null?e.ui.pid:e.server.pid;return[e.directory,ue(e),le(e),t,String(n),H(e.server.startedAt),e.binary??`—`]}),r=t.length,i=t.map(e=>e.length);for(let e of n)for(let t=0;t<r;t++)i[t]=Math.max(i[t]??0,(e[t]??``).length);let a=t.map((e,t)=>e.padEnd(i[t]??0)).join(` `).trimEnd(),o=e.map((e,t)=>{let a=n[t]??[],o=[];for(let t=0;t<r;t++){let n=(a[t]??``).padEnd(i[t]??0);if(t===3){let r=a[t]??``;n=ce(G(e))+` `.repeat(Math.max(0,(i[t]??0)-r.length))}o.push(n)}return o.join(` `).trimEnd()}),s=B.default.dim(`To stop a server: ok stop <port|pid|directory|all>`);return[a,...o,``,s].join(`
2
2
  `)}async function J(e={}){let t=e.discover??s,n=e.inspect??w,r=e.log??(e=>console.log(e)),o=e.resolveCommand??i,c=e.resolveUsage??a,l=await t(),u=[];for(let e of l){let t=n(e,`server`),r=n(e,`ui`),i=U(e,t,r,t.status===`missing`||t.status===`corrupt`?null:o(t.lock.pid),t.status===`missing`||t.status===`corrupt`?null:c(t.lock.pid),r.status===`missing`||r.status===`corrupt`?null:c(r.lock.pid));i!=null&&u.push(i)}if(e.json){let e=u.map(e=>({...e,displayStatus:G(e)}));r(JSON.stringify(e,null,2));return}r(de(e.all?u:u.filter(e=>K.has(G(e)))))}function fe(){return new u(`ps`).description(`List all running open-knowledge servers`).argument(`[modifier]`,`"all" to include stale (dead-pid) entries`).option(`--all`,`Include stale (dead-pid) entries (foreign-host shows by default)`).option(`--json`,`Emit structured JSON (always includes all statuses)`).action(async(e,t)=>{await J({all:t.all===!0||e===`all`,json:t.json===!0})})}function pe(e,t,n={}){let i=n.isAlive??r,a=[];for(let[n,r]of[[`server`,e],[`ui`,t]])(r.status===`alive`||r.status===`foreign-host`&&i(r.lock.pid))&&a.push({name:n,pid:r.lock.pid,port:r.lock.port});return{targets:a}}function Y(e){let t=e.inspect??(t=>w(e.lockDir,t)),n=e.kill??((e,t)=>process.kill(e,t)),r=e.log??(e=>console.log(e)),i=e.error??(e=>console.error(e)),a=pe(t(`server`),t(`ui`),{isAlive:e.isAlive});if(a.targets.length===0)return r(`No running open-knowledge processes.`),{stopped:[],failed:[],hadTargets:!1};let o=[],s=[];for(let e of a.targets)try{n(e.pid,`SIGTERM`),o.push(e)}catch(t){s.push({target:e,error:t instanceof Error?t.message:String(t)})}return o.length>0&&r(`Stopped: ${o.map(e=>`${e.name} (pid=${e.pid}, port=${e.port})`).join(`, `)}`),s.length>0&&i(`Failed to stop: ${s.map(({target:e,error:t})=>`${e.name} (pid=${e.pid}): ${t}`).join(`; `)}`),{stopped:o,failed:s,hadTargets:!0}}function X(e,t){return e.status===`alive`?!0:e.status===`foreign-host`?t(e.lock.pid):!1}async function me(e,t=r){let n=await s(),i=null;for(let r of n){let n=w(r,`server`),a=w(r,`ui`);if(X(n,t)&&n.lock.port===e||X(a,t)&&a.lock.port===e)return r;i===null&&(X(n,t)&&n.lock.pid===e||X(a,t)&&a.lock.pid===e)&&(i=r)}return i}function Z(e){let t=Y({lockDir:e});return t.failed.length>0&&(process.exitCode=1),t}function he(e){return new u(`stop`).description(`Stop open-knowledge server(s). With no argument: stops the server for the current directory. Pass a port number, a directory path, or "all" to target globally.`).argument(`[target...]`,`port number, directory path (spaces OK), or "all"`).action(async t=>{let n=t.length===0?void 0:t.join(` `);if(n===void 0){e();let t=Y({lockDir:c(process.cwd()),log:()=>{}});if(t.hadTargets){if(t.stopped.length>0){let e=t.stopped.map(e=>`${e.name} (pid=${e.pid}, port=${e.port})`).join(`, `);console.log(`Stopped: ${e}`)}t.failed.length>0&&(process.exitCode=1)}else await J({});return}if(n===`all`){let e=await s();if(e.length===0){console.log(`No running open-knowledge servers found.`);return}let t=0;for(let n of e){let e=w(n,`server`),i=w(n,`ui`);!X(e,r)&&!X(i,r)||(Z(n),t++)}t===0&&console.log(`No running open-knowledge servers found.`);return}if(/^\d+$/.test(n)){let e=Number.parseInt(n,10),t=await me(e);if(t===null){console.log(`No running open-knowledge server found with port or PID ${e}.`);return}Z(t);return}Z(c(v(z(),n)))})}function ge(e){return{event:`mcp-config-decline`,scope:e.scope,surface:e.surface,editorId:e.editorId,reason:e.reason}}async function _e(e,t){let n,r;try{n=await C(v(e)),r=await C(v(te(e)))}catch{return{kind:`not-git`}}if(!$(n,r))return{kind:`symlink-escape`};let i=g(n,`.git`),a;try{a=ie(i)}catch{return{kind:`not-git`}}let o;if(a.isDirectory()){let e;try{e=await C(i)}catch{return{kind:`not-git`}}if(!$(e,n))return{kind:`symlink-escape`};o=e}else if(a.isFile()){let e;try{e=await S(i,`utf-8`)}catch{return{kind:`not-git`}}let t=/^gitdir:\s*(.+)$/m.exec(e.trim());if(!t)return{kind:`not-git`};let r=t[1].trim(),a=h(r)?r:v(n,r);try{o=await C(a)}catch{return{kind:`not-git`}}}else return{kind:`not-git`};let s=g(await Q(o),`config`),c;try{c=await S(s,`utf-8`)}catch{return{kind:`not-git`}}let l=ye(c);if(l===null)return{kind:`no-origin`};let u=E(l);if(u===null||u.hostname!==`github.com`)return{kind:`non-github`};let d=u.owner.toLowerCase()===t.owner.toLowerCase(),f=u.name.toLowerCase()===t.repo.toLowerCase();return!d||!f?{kind:`wrong-repo`,actualOwner:u.owner,actualRepo:u.name}:{kind:`ok`,gitRemoteUrl:`https://github.com/${u.owner}/${u.name}.git`}}async function Q(e){let t;try{t=(await S(g(e,`commondir`),`utf-8`)).trim()}catch{return e}if(t.length===0)return e;let n=h(t)?t:v(e,t);try{return await C(n)}catch{return n}}function $(e,t){if(e===t)return!0;let n=_(t,e);return n.length>0&&!n.startsWith(`..`)&&!h(n)}function ve(e){let t=e.indexOf(`#`),n=e.indexOf(`;`),r=-1;return t>=0&&n>=0?r=Math.min(t,n):t>=0?r=t:n>=0&&(r=n),(r===-1?e:e.slice(0,r)).trim()}function ye(e){let t=!1;for(let n of e.split(/\r?\n/)){let e=ve(n);if(e.length===0)continue;if(e.startsWith(`[`)){t=/^\[\s*remote\s+["']origin["']\s*\]$/.test(e);continue}if(!t)continue;let r=/^url\s*=\s*(.+)$/.exec(e);if(r)return be(r[1])}return null}function be(e){let t=e.trim();return t.startsWith(`"`)&&t.endsWith(`"`)||t.startsWith(`'`)&&t.endsWith(`'`)?t.slice(1,-1):t}const xe=[{id:`mcp-config`,write(e,t,n){let r=e.projectConfigPath?.(t);if(!r)return{integration:`mcp-config`,editorId:e.id,action:`skipped-unsupported`};try{let i=d(e,t,n,void 0,r);return i.action===`written`||i.action===`overwritten`?{integration:`mcp-config`,editorId:e.id,action:i.action,path:i.configPath}:i.action===`failed`?{integration:`mcp-config`,editorId:e.id,action:`failed`,path:i.configPath,error:i.error??`unknown failure`}:i.action===`declined`?{integration:`mcp-config`,editorId:e.id,action:`declined`,path:i.configPath,...i.declineReason===void 0?{}:{reason:i.declineReason}}:{integration:`mcp-config`,editorId:e.id,action:`failed`,path:i.configPath,error:`unexpected project-scope action: ${i.action}`}}catch(t){return{integration:`mcp-config`,editorId:e.id,action:`failed`,path:r,error:t instanceof Error?t.message:String(t)}}}},{id:`project-skill`,write(e,t,n){try{let n=ee(e,t);return{integration:`project-skill`,editorId:e.id,action:n.action,...n.path?{path:n.path}:{},...n.error?{error:n.error}:{}}}catch(t){return{integration:`project-skill`,editorId:e.id,action:`failed`,error:t instanceof Error?t.message:String(t)}}}}];function Se(e,t,n={},r=xe){let i=[];for(let a of t){let t=p[a];for(let a of r)i.push(a.write(t,e,n))}return i}function Ce(e,t,n={}){return{integrations:Se(e,t,n),claudeLaunchJson:t.includes(`claude`)?f(e,n):void 0}}export{ae as _,he as a,w as b,I as c,se as d,P as f,D as g,N as h,Y as i,oe as l,M as m,_e as n,fe as o,A as p,ge as r,R as s,Ce as t,k as u,O as v,E as y};
3
- //# sourceMappingURL=src-CZBXfnwD.mjs.map
3
+ //# sourceMappingURL=src-w1N05aF-.mjs.map
@@ -1,3 +1,3 @@
1
- import{On as e,dt as t}from"./server-lock-ltHt39S2-CPmTXbVG.mjs";import{cr as n,jr as r,xr as i}from"./dist-BNI6AO8O.mjs";import{n as a,t as o}from"./esm-CsQUg9js.mjs";import{i as s,t as c}from"./gh-detect-B3B56f-Q.mjs";import{n as l}from"./constants-CS2nL68U.mjs";import{spawn as u}from"node:child_process";import{basename as d,dirname as f,join as p}from"node:path";import{homedir as m}from"node:os";import{closeSync as h,existsSync as g,mkdirSync as _,openSync as v,statSync as y}from"node:fs";import{rm as b}from"node:fs/promises";import{setTimeout as x}from"node:timers/promises";const S=`OpenKnowledge.app`,C=`/Applications/${S}`;function w(){return{platform:process.platform,env:process.env,execPath:process.execPath,isTTY:process.stdout.isTTY,statSync:e=>{try{return y(e,{throwIfNoEntry:!1})??null}catch{return null}}}}function T(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`){let t=/(.+?\.app)\/Contents\/MacOS\//.exec(e.execPath);if(t?.[1])return t[1]}if(E(e,C))return C;let t=p(e.homeDir??m(),`Applications`,S);return E(e,t)?t:null}function E(e,t){try{let n=p(t,`Contents`,`MacOS`,`OpenKnowledge`),r=e.statSync(n);return r&&typeof r.isFile==`function`?r.isFile():!1}catch{return!1}}function D(e){if(e.env.OK_FORCE_BROWSER===`1`)return{available:!1,reason:`force-browser`};if(e.platform!==`darwin`)return{available:!1,reason:`darwin-only`};let t;try{t=T(e)}catch{return{available:!1,reason:`stat-error`}}return t?e.env.OK_FORCE_DESKTOP===`1`?{available:!0,reason:`available`,bundlePath:t}:e.isTTY!==!0||e.env.SSH_CONNECTION||e.env.SSH_TTY?{available:!1,reason:`headless`,bundlePath:t}:{available:!0,reason:`available`,bundlePath:t}:{available:!1,reason:`no-bundle`}}function O(e){(e.log??(e=>console.error(e)))("Launching OpenKnowledge desktop (use `ok start` for the browser server, or `OK_FORCE_BROWSER=1` to always skip)");let t={...process.env};delete t.ELECTRON_RUN_AS_NODE,e.spawn(`open`,[`-b`,`com.inkeep.open-knowledge`],{detached:!0,stdio:`ignore`,env:t}).unref()}function k(e=`no-bundle`){switch(e){case`no-bundle`:return`Desktop app not found at ${C}. Install via DMG, or omit --mode for browser mode.`;case`darwin-only`:return`Desktop app is macOS-only on this release. Use --mode=browser, or omit --mode for the server fallback.`;case`headless`:return`Desktop launch is gated in headless contexts (CI, SSH, non-TTY stdout). Set OK_FORCE_DESKTOP=1 to override, or use --mode=browser.`;case`force-browser`:return`OK_FORCE_BROWSER=1 is set — desktop dispatch is disabled. Unset it to use --mode=app.`;case`stat-error`:return`Failed to inspect desktop bundle at ${C} (filesystem error). Check permissions or use --mode=browser.`;case`available`:return`Desktop app appears available at ${C} but launch dispatch did not fire (caller bug).`}}function A(e){return p(f(e),`..`,`Frameworks`,`OpenKnowledge Server.app`,`Contents`,`MacOS`,`OpenKnowledge Helper`)}const j=/\/[^/]+\.app\/Contents\/MacOS\/[^/]+$/;function M(e){if(e.platform!==`darwin`||!j.test(e.execPath))return null;let t=A(e.execPath);return e.exists(t)?t:null}function N(e={}){let t=e.execPath??process.execPath,n=e.platform??process.platform,r=e.argv??process.argv,i=e.exists??g,a=r[1];return a?{command:M({execPath:t,platform:n,exists:i})??t,prefixArgs:[a]}:(console.warn(`[self-spawn] process.argv[1] is empty — falling back to \`npx -y @inkeep/open-knowledge@latest\`. This re-introduces the registry-fetch surface that re-exec was fixing. Observed argv: ${JSON.stringify(r)}`),{command:`npx`,prefixArgs:[`-y`,`@inkeep/open-knowledge@latest`]})}function P(e,t){return e.host??t.HOST??`127.0.0.1`}function F(e){let t=d(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var I=class extends Error{cwd;constructor(e){super("This directory isn't set up yet. Run `ok init` first, then `ok start` again."),this.name=`OkDirMissingError`,this.cwd=e}};function L(e){return e.uiLock?e.isAlive(e.uiLock.pid)?{action:`skip`,reason:`alive`,pid:e.uiLock.pid,port:e.uiLock.port}:{action:`spawn`,reason:`stale`,stalePid:e.uiLock.pid}:{action:`spawn`,reason:`absent`}}function R(t){g(t.lockDir)||_(t.lockDir,{recursive:!0});let n=v(p(t.lockDir,e),`w`),r=t.spawn??u,{PORT:i,...a}=process.env,o=N();try{let e=r(o.command,[...o.prefixArgs,...t.args??[`ui`]],{detached:!0,stdio:[`ignore`,`ignore`,n],cwd:t.cwd,env:{...a,ELECTRON_RUN_AS_NODE:`1`}});return e.unref(),e}finally{try{h(n)}catch{}}}function z(e,t,n){return e??(n===void 0?t:void 0)}function B(e,t){return e!==void 0&&t!==null&&t.port>0}function V(e,t,n){return e??(t!=null&&!n?1:0)}async function H(e){let t=e.spawn??u,n=N(),{PORT:r,...i}=process.env,a=t(n.command,[...n.prefixArgs,`ui`,`--port`,String(e.uiPort)],{cwd:e.cwd,stdio:`inherit`,env:{...i,ELECTRON_RUN_AS_NODE:`1`}}),o=!1,s=e=>{o=!0;try{a.kill(e)}catch{}},c=()=>s(`SIGINT`),l=()=>s(`SIGTERM`);process.once(`SIGINT`,c),process.once(`SIGTERM`,l),await new Promise(e=>{a.on(`exit`,(t,n)=>{process.exitCode=V(t,n,o),e()}),a.on(`error`,t=>{console.error(`[start] connect fallback: failed to spawn ok ui — ${t instanceof Error?t.message:String(t)}`),process.exitCode=1,e()})}),process.removeListener(`SIGINT`,c),process.removeListener(`SIGTERM`,l)}async function U(e){let t=e.now()+e.timeoutMs;for(;e.now()<t;){let t=e.readUiLock();if(t&&t.port>0)return t.port;await e.sleep(e.pollIntervalMs)}let n=e.readUiLock();return n&&n.port>0?n.port:null}const W=t;function G(e,t,n=e=>b(e,{recursive:!0,force:!0})){return async()=>{try{await e()}finally{try{await n(t)}catch(e){process.stderr.write(`[start] ephemeral temp dir reap failed for ${t}: ${e instanceof Error?e.message:String(e)}\n`)}}}}function K(e){let t=e.sigtermGraceMs??W,n=e.sigtermPollIntervalMs??200,r=e.sleep??(e=>x(e));return async()=>{try{let i=e.readUiLock();if(i&&e.isAlive(i.pid))try{e.killPid(i.pid,`SIGTERM`),e.log?.info({pid:i.pid,port:i.port},`idle-shutdown: SIGTERM UI sibling`);let a=Date.now()+t;for(;Date.now()<a&&e.isAlive(i.pid);)await r(n);if(e.isAlive(i.pid))try{e.killPid(i.pid,`SIGKILL`),e.log?.warn({pid:i.pid,graceMs:t},`idle-shutdown: SIGTERM grace expired — escalated to SIGKILL`)}catch(t){e.log?.error({pid:i.pid,err:t instanceof Error?t.message:String(t)},`idle-shutdown: SIGKILL failed`)}}catch(t){e.log?.warn({pid:i.pid,err:t instanceof Error?t.message:String(t)},`idle-shutdown: failed to SIGTERM UI sibling`)}}catch(t){e.log?.warn({err:t instanceof Error?t.message:String(t)},`idle-shutdown: UI lookup failed; proceeding with destroy`)}await e.destroy()}}async function q(e){let{config:t,cwd:a,host:o}=e,l=e.skipAutoInit??!1,u=e.skipUiAutoSpawn??!1,d=e.idleThresholdMs??18e5,{existsSync:f,mkdirSync:p}=await import(`node:fs`),{basename:m,dirname:h}=await import(`node:path`),{bootServer:g,getLogger:_,isProcessAlive:v,readUiLock:y,resolveContentDir:b}=await import(`./dist-s-76L6SV.mjs`),S=e.log??_(`start`),C=e.singleFile!==void 0,w=e.projectDir??a,T=C?r(e.singleFile).canonicalFilePath:void 0,E=T?h(T):void 0,D=T?m(T):void 0;if(!C){if(!l&&!n(a))throw new I(a);let t=process.env.OK_RECLAIM_DISABLE??null,r=e=>{let t=typeof e.event==`string`?e.event:``;(t.endsWith(`-failed`)||t.endsWith(`-error`)||t.endsWith(`-missing`))&&S.warn({event:e},`[start] reclaim sweep reported a problem`)};try{(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-D-iMOSEE.mjs`)).repairMcpConfigs)({projectDir:a,reclaimDisableEnv:t,logger:r})}catch(e){S.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-CS6C6O3X.mjs`)).repairLaunchJson)({projectDir:a,reclaimDisableEnv:t,logger:r})}catch(e){S.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}try{await(e.repairSkillsFn??(await import(`./repair-skills-BUsNTNSG.mjs`)).repairSkills)({projectDir:a,reclaimDisableEnv:t,logger:r})}catch(e){S.warn({err:e},`[start] skill repair sweep failed; continuing`)}}let O=E??b(t,a);!C&&!f(O)&&(p(O,{recursive:!0}),S.info({contentDir:O},`Created content directory`));let k=null,A=async({lockDir:t})=>{if(k=L({uiLock:y(t),isAlive:v}),k.action===`spawn`&&!u)try{let n=e.uiPort===void 0?void 0:[`ui`,`--port`,String(e.uiPort)];R({lockDir:t,cwd:a,spawn:e.spawn,args:n}),S.info({reason:k.reason,uiPort:e.uiPort},`[start] auto-spawned ok ui sibling`)}catch(e){console.warn(`[start] failed to auto-spawn ok ui: ${e instanceof Error?e.message:String(e)}`)}else k.action===`skip`&&S.info({port:k.port,pid:k.pid},`UI already running at port ${k.port}`)},j=e.reactShellDistDir===void 0,M=s(),N=i(),P=await g({config:t,contentDir:O,projectDir:C?w:a,contentRoot:C?void 0:t.content.dir,port:e.port,host:o,quiet:!1,detectGh:c,tokenStore:M,embeddingsKeyStore:N,...C?{ephemeral:!0,singleDocRelPath:D,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],attachUiSibling:j,idleShutdownMs:d,skipAutoInit:!0,...j?{spawnUiSiblingFn:A}:{},idleShutdownHandler:e=>{let t=K({readUiLock:()=>y(P.lockDir),isAlive:v,killPid:(e,t)=>{process.kill(e,t)},destroy:e,log:S});return C?G(t,w):t},log:S,...e.serveContentAssets?{serveContentAssets:!0}:{},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{}});k||={action:`skip`,reason:`alive`,pid:0,port:0};let F=k,z=null;if(F.action===`skip`)z=F.port>0?F.port:null;else if(!u){let t=e.uiBindTimeoutMs??3e3;z=await U({readUiLock:()=>y(P.lockDir),now:Date.now,sleep:e=>x(e),timeoutMs:t,pollIntervalMs:50}),z===null&&S.warn({timeoutMs:t},`[start] ok ui did not bind within timeout — banner falls back to API URL`)}return{httpServer:P.httpServer,destroy:P.destroy,lockDir:P.lockDir,contentDir:O,port:P.port,ready:P.ready,degraded:P.degraded,uiSpawnDecision:k,resolvedUiPort:z}}function J(e){if(e===`browser`||e===`app`)return e;throw new a(`--mode must be 'browser' or 'app'`)}function ee(e){let t=Number.parseInt(e,10);if(Number.isNaN(t)||t<1||t>65535)throw new a(`--ui-port must be a port number between 1 and 65535`);return t}function Y(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function X(e){let t=[`Stopping OpenKnowledge…`,`Saving pending changes and releasing the server lock — this can take a few seconds.`];return e===`SIGINT`&&t.push(`Press Ctrl+C again to force quit.`),t}async function Z(e,t){let n=Y(process.env);n!==null&&(process.env.OK_CONSOLE_LEVEL=n);let{renderBanner:r}=await import(`./banner-BxCFCyu8.mjs`),{accent:i,dim:a,error:o,warning:s}=await import(`./colors-CmkIIbww.mjs`),c=process.cwd(),u=e;process.title=F(c);let d=P(t,process.env),f=t.port===void 0?void 0:Number(t.port),p=process.env.PORT?Number(process.env.PORT):void 0,m=t.uiPort===void 0?void 0:Number(t.uiPort),h=z(f,p,m);if(m!==void 0){let{readServerLock:e,resolveLockDir:t}=await import(`./dist-s-76L6SV.mjs`);if(B(m,e(t(c)))){await H({cwd:c,uiPort:m});return}}let g;try{g=await q({config:u,cwd:c,host:d,port:h,...m===void 0?{}:{uiPort:m},...t.serveContentAssets?{serveContentAssets:!0}:{},...t.reactShellDistDir?{reactShellDistDir:t.reactShellDistDir}:{},...t.singleFile?{singleFile:t.singleFile}:{},...t.projectDir?{projectDir:t.projectDir}:{}})}catch(e){e instanceof I&&(console.error(o(e.message)),process.exit(1));let t=await import(`./dist-s-76L6SV.mjs`);if((e instanceof t.GitNotAvailableError||e instanceof t.GitTooOldError)&&process.exit(78),(e instanceof t.SingleFileNotFoundError||e instanceof t.SingleFileNotAFileError||e instanceof t.SingleFileNotMarkdownError)&&(console.error(o(e.message)),process.exit(1)),m!==void 0&&Q(e,t)){await H({cwd:c,uiPort:m});return}let n=$(e,c,t);n!==null&&(console.error(o(n)),process.exit(1)),console.error(`${o(`Failed to start:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exit(1)}let _=!1,v=async e=>{if(_)return;_=!0;let[t,...n]=X(e);console.log(i(`\n${t}`));for(let e of n)console.log(a(` ${e}`));try{await g.destroy()}catch(e){console.error(`${o(`destroy() failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exitCode=1}process.exit(process.exitCode??0)};process.once(`SIGINT`,()=>{v(`SIGINT`)}),process.once(`SIGTERM`,()=>{v(`SIGTERM`)});let y=`http://${d}:${g.port}`,b=d===`0.0.0.0`||d===`::`?`http://0.0.0.0:${g.port}`:void 0,x=g.resolvedUiPort,S=x!==null&&x>0?`http://${d}:${x}`:y;console.log(r({name:`open-knowledge`,version:l,localUrl:S,apiUrl:S===y?void 0:y,networkUrl:b,nextSteps:[`Open the Editor URL in your browser to start editing.`]}));let C={"shadow-repo":`Version history and branch-switch safety unavailable`,"file-watcher":`External file changes will not sync to the editor`,"head-watcher":`Git branch switches may cause document inconsistency`};g.ready.then(async()=>{if(g.degraded.length>0){console.log();for(let e of g.degraded){let t=C[e]??`${e} (check server logs for details)`;console.warn(` ${s(`⚠`)} ${s(e)}: ${a(t)}`)}console.log()}if(t.open){let{openBrowser:e}=await import(`./open-browser-DHTbHSqx.mjs`);e(S)}}).catch(e=>{console.error(` ${o(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})}function Q(e,t){let n=t.ServerLockCollisionError;return n!==void 0&&e instanceof n}function $(e,t,n){let r=n.ServerLockCollisionError;if(r===void 0||!(e instanceof r))return null;try{let e=p(t,`.ok`),r=n.readServerLock(e);return r?r.kind===`interactive`?`OpenKnowledge desktop is currently running on this project. Quit it or use --cwd to point elsewhere.`:r.kind===`mcp-spawned`?"An MCP-spawned server holds this lock; it should release on idle-shutdown (~30 min). Or run `ok stop`.":"OpenKnowledge server is already running on this project — check `ok status` or `ok stop`.":"OpenKnowledge server is already running on this project — check `ok status` or `ok stop`."}catch{return null}}function te(e){return new o(`start`).description(`Start the knowledge base collab server`).option(`-p, --port <port>`,`Server port`,void 0).option(`--ui-port <port>`,`Pin the ok ui sibling to <port> and connect (not exit) if a server already runs here — the worktree-preview recipe path`,ee).option(`-H, --host <host>`,`Server host`,void 0).option(`--open`,`Open browser after start`).option(`--mode <mode>`,`Force dispatch mode: 'browser' or 'app'`,J).option(`--serve-content-assets`,`Serve content assets from this server`).option(`--react-shell-dist-dir <path>`,`Serve React shell from <path> (suppresses ok ui sibling)`).option(`--single-file <path>`,`No-project ephemeral single-file mode: scope the server to one markdown file (git + MCP off)`).option(`--project-dir <dir>`,`Throwaway project root for --single-file (where ephemeral .ok/ state lives)`).action(async t=>{let n=e();if(t.mode===`app`){t.open&&(process.stderr.write(`error: option '--mode=app' cannot be combined with '--open' (--open opens a browser tab against the local server, which app mode does not boot)
1
+ import{On as e,dt as t}from"./server-lock-ltHt39S2-FrJuEUby.mjs";import{cr as n,jr as r,xr as i}from"./dist-CefxLzs-.mjs";import{n as a,t as o}from"./esm-CsQUg9js.mjs";import{i as s,t as c}from"./gh-detect-agW-_3XF.mjs";import{n as l}from"./constants-u4lg1sDo.mjs";import{spawn as u}from"node:child_process";import{basename as d,dirname as f,join as p}from"node:path";import{homedir as m}from"node:os";import{closeSync as h,existsSync as g,mkdirSync as _,openSync as v,statSync as y}from"node:fs";import{rm as b}from"node:fs/promises";import{setTimeout as x}from"node:timers/promises";const S=`OpenKnowledge.app`,C=`/Applications/${S}`;function w(){return{platform:process.platform,env:process.env,execPath:process.execPath,isTTY:process.stdout.isTTY,statSync:e=>{try{return y(e,{throwIfNoEntry:!1})??null}catch{return null}}}}function T(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`){let t=/(.+?\.app)\/Contents\/MacOS\//.exec(e.execPath);if(t?.[1])return t[1]}if(E(e,C))return C;let t=p(e.homeDir??m(),`Applications`,S);return E(e,t)?t:null}function E(e,t){try{let n=p(t,`Contents`,`MacOS`,`OpenKnowledge`),r=e.statSync(n);return r&&typeof r.isFile==`function`?r.isFile():!1}catch{return!1}}function D(e){if(e.env.OK_FORCE_BROWSER===`1`)return{available:!1,reason:`force-browser`};if(e.platform!==`darwin`)return{available:!1,reason:`darwin-only`};let t;try{t=T(e)}catch{return{available:!1,reason:`stat-error`}}return t?e.env.OK_FORCE_DESKTOP===`1`?{available:!0,reason:`available`,bundlePath:t}:e.isTTY!==!0||e.env.SSH_CONNECTION||e.env.SSH_TTY?{available:!1,reason:`headless`,bundlePath:t}:{available:!0,reason:`available`,bundlePath:t}:{available:!1,reason:`no-bundle`}}function O(e){(e.log??(e=>console.error(e)))("Launching OpenKnowledge desktop (use `ok start` for the browser server, or `OK_FORCE_BROWSER=1` to always skip)");let t={...process.env};delete t.ELECTRON_RUN_AS_NODE,e.spawn(`open`,[`-b`,`com.inkeep.open-knowledge`],{detached:!0,stdio:`ignore`,env:t}).unref()}function k(e=`no-bundle`){switch(e){case`no-bundle`:return`Desktop app not found at ${C}. Install via DMG, or omit --mode for browser mode.`;case`darwin-only`:return`Desktop app is macOS-only on this release. Use --mode=browser, or omit --mode for the server fallback.`;case`headless`:return`Desktop launch is gated in headless contexts (CI, SSH, non-TTY stdout). Set OK_FORCE_DESKTOP=1 to override, or use --mode=browser.`;case`force-browser`:return`OK_FORCE_BROWSER=1 is set — desktop dispatch is disabled. Unset it to use --mode=app.`;case`stat-error`:return`Failed to inspect desktop bundle at ${C} (filesystem error). Check permissions or use --mode=browser.`;case`available`:return`Desktop app appears available at ${C} but launch dispatch did not fire (caller bug).`}}function A(e){return p(f(e),`..`,`Frameworks`,`OpenKnowledge Server.app`,`Contents`,`MacOS`,`OpenKnowledge Helper`)}const j=/\/[^/]+\.app\/Contents\/MacOS\/[^/]+$/;function M(e){if(e.platform!==`darwin`||!j.test(e.execPath))return null;let t=A(e.execPath);return e.exists(t)?t:null}function N(e={}){let t=e.execPath??process.execPath,n=e.platform??process.platform,r=e.argv??process.argv,i=e.exists??g,a=r[1];return a?{command:M({execPath:t,platform:n,exists:i})??t,prefixArgs:[a]}:(console.warn(`[self-spawn] process.argv[1] is empty — falling back to \`npx -y @inkeep/open-knowledge@latest\`. This re-introduces the registry-fetch surface that re-exec was fixing. Observed argv: ${JSON.stringify(r)}`),{command:`npx`,prefixArgs:[`-y`,`@inkeep/open-knowledge@latest`]})}function P(e,t){return e.host??t.HOST??`127.0.0.1`}function F(e){let t=d(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var I=class extends Error{cwd;constructor(e){super("This directory isn't set up yet. Run `ok init` first, then `ok start` again."),this.name=`OkDirMissingError`,this.cwd=e}};function L(e){return e.uiLock?e.isAlive(e.uiLock.pid)?{action:`skip`,reason:`alive`,pid:e.uiLock.pid,port:e.uiLock.port}:{action:`spawn`,reason:`stale`,stalePid:e.uiLock.pid}:{action:`spawn`,reason:`absent`}}function R(t){g(t.lockDir)||_(t.lockDir,{recursive:!0});let n=v(p(t.lockDir,e),`w`),r=t.spawn??u,{PORT:i,...a}=process.env,o=N();try{let e=r(o.command,[...o.prefixArgs,...t.args??[`ui`]],{detached:!0,stdio:[`ignore`,`ignore`,n],cwd:t.cwd,env:{...a,ELECTRON_RUN_AS_NODE:`1`}});return e.unref(),e}finally{try{h(n)}catch{}}}function z(e,t,n){return e??(n===void 0?t:void 0)}function B(e,t){return e!==void 0&&t!==null&&t.port>0}function V(e,t,n){return e??(t!=null&&!n?1:0)}async function H(e){let t=e.spawn??u,n=N(),{PORT:r,...i}=process.env,a=t(n.command,[...n.prefixArgs,`ui`,`--port`,String(e.uiPort)],{cwd:e.cwd,stdio:`inherit`,env:{...i,ELECTRON_RUN_AS_NODE:`1`}}),o=!1,s=e=>{o=!0;try{a.kill(e)}catch{}},c=()=>s(`SIGINT`),l=()=>s(`SIGTERM`);process.once(`SIGINT`,c),process.once(`SIGTERM`,l),await new Promise(e=>{a.on(`exit`,(t,n)=>{process.exitCode=V(t,n,o),e()}),a.on(`error`,t=>{console.error(`[start] connect fallback: failed to spawn ok ui — ${t instanceof Error?t.message:String(t)}`),process.exitCode=1,e()})}),process.removeListener(`SIGINT`,c),process.removeListener(`SIGTERM`,l)}async function U(e){let t=e.now()+e.timeoutMs;for(;e.now()<t;){let t=e.readUiLock();if(t&&t.port>0)return t.port;await e.sleep(e.pollIntervalMs)}let n=e.readUiLock();return n&&n.port>0?n.port:null}const W=t;function G(e,t,n=e=>b(e,{recursive:!0,force:!0})){return async()=>{try{await e()}finally{try{await n(t)}catch(e){process.stderr.write(`[start] ephemeral temp dir reap failed for ${t}: ${e instanceof Error?e.message:String(e)}\n`)}}}}function K(e){let t=e.sigtermGraceMs??W,n=e.sigtermPollIntervalMs??200,r=e.sleep??(e=>x(e));return async()=>{try{let i=e.readUiLock();if(i&&e.isAlive(i.pid))try{e.killPid(i.pid,`SIGTERM`),e.log?.info({pid:i.pid,port:i.port},`idle-shutdown: SIGTERM UI sibling`);let a=Date.now()+t;for(;Date.now()<a&&e.isAlive(i.pid);)await r(n);if(e.isAlive(i.pid))try{e.killPid(i.pid,`SIGKILL`),e.log?.warn({pid:i.pid,graceMs:t},`idle-shutdown: SIGTERM grace expired — escalated to SIGKILL`)}catch(t){e.log?.error({pid:i.pid,err:t instanceof Error?t.message:String(t)},`idle-shutdown: SIGKILL failed`)}}catch(t){e.log?.warn({pid:i.pid,err:t instanceof Error?t.message:String(t)},`idle-shutdown: failed to SIGTERM UI sibling`)}}catch(t){e.log?.warn({err:t instanceof Error?t.message:String(t)},`idle-shutdown: UI lookup failed; proceeding with destroy`)}await e.destroy()}}async function q(e){let{config:t,cwd:a,host:o}=e,l=e.skipAutoInit??!1,u=e.skipUiAutoSpawn??!1,d=e.idleThresholdMs??18e5,{existsSync:f,mkdirSync:p}=await import(`node:fs`),{basename:m,dirname:h}=await import(`node:path`),{bootServer:g,getLogger:_,isProcessAlive:v,readUiLock:y,resolveContentDir:b}=await import(`./dist-CHMoEx27.mjs`),S=e.log??_(`start`),C=e.singleFile!==void 0,w=e.projectDir??a,T=C?r(e.singleFile).canonicalFilePath:void 0,E=T?h(T):void 0,D=T?m(T):void 0;if(!C){if(!l&&!n(a))throw new I(a);let t=process.env.OK_RECLAIM_DISABLE??null,r=e=>{let t=typeof e.event==`string`?e.event:``;(t.endsWith(`-failed`)||t.endsWith(`-error`)||t.endsWith(`-missing`))&&S.warn({event:e},`[start] reclaim sweep reported a problem`)};try{(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-D1udS6-V.mjs`)).repairMcpConfigs)({projectDir:a,reclaimDisableEnv:t,logger:r})}catch(e){S.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-Z-uZUDrj.mjs`)).repairLaunchJson)({projectDir:a,reclaimDisableEnv:t,logger:r})}catch(e){S.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}try{await(e.repairSkillsFn??(await import(`./repair-skills-CGLJdO86.mjs`)).repairSkills)({projectDir:a,reclaimDisableEnv:t,logger:r})}catch(e){S.warn({err:e},`[start] skill repair sweep failed; continuing`)}}let O=E??b(t,a);!C&&!f(O)&&(p(O,{recursive:!0}),S.info({contentDir:O},`Created content directory`));let k=null,A=async({lockDir:t})=>{if(k=L({uiLock:y(t),isAlive:v}),k.action===`spawn`&&!u)try{let n=e.uiPort===void 0?void 0:[`ui`,`--port`,String(e.uiPort)];R({lockDir:t,cwd:a,spawn:e.spawn,args:n}),S.info({reason:k.reason,uiPort:e.uiPort},`[start] auto-spawned ok ui sibling`)}catch(e){console.warn(`[start] failed to auto-spawn ok ui: ${e instanceof Error?e.message:String(e)}`)}else k.action===`skip`&&S.info({port:k.port,pid:k.pid},`UI already running at port ${k.port}`)},j=e.reactShellDistDir===void 0,M=s(),N=i(),P=await g({config:t,contentDir:O,projectDir:C?w:a,contentRoot:C?void 0:t.content.dir,port:e.port,host:o,quiet:!1,detectGh:c,tokenStore:M,embeddingsKeyStore:N,...C?{ephemeral:!0,singleDocRelPath:D,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],attachUiSibling:j,idleShutdownMs:d,skipAutoInit:!0,...j?{spawnUiSiblingFn:A}:{},idleShutdownHandler:e=>{let t=K({readUiLock:()=>y(P.lockDir),isAlive:v,killPid:(e,t)=>{process.kill(e,t)},destroy:e,log:S});return C?G(t,w):t},log:S,...e.serveContentAssets?{serveContentAssets:!0}:{},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{}});k||={action:`skip`,reason:`alive`,pid:0,port:0};let F=k,z=null;if(F.action===`skip`)z=F.port>0?F.port:null;else if(!u){let t=e.uiBindTimeoutMs??3e3;z=await U({readUiLock:()=>y(P.lockDir),now:Date.now,sleep:e=>x(e),timeoutMs:t,pollIntervalMs:50}),z===null&&S.warn({timeoutMs:t},`[start] ok ui did not bind within timeout — banner falls back to API URL`)}return{httpServer:P.httpServer,destroy:P.destroy,lockDir:P.lockDir,contentDir:O,port:P.port,ready:P.ready,degraded:P.degraded,uiSpawnDecision:k,resolvedUiPort:z}}function J(e){if(e===`browser`||e===`app`)return e;throw new a(`--mode must be 'browser' or 'app'`)}function ee(e){let t=Number.parseInt(e,10);if(Number.isNaN(t)||t<1||t>65535)throw new a(`--ui-port must be a port number between 1 and 65535`);return t}function Y(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function X(e){let t=[`Stopping OpenKnowledge…`,`Saving pending changes and releasing the server lock — this can take a few seconds.`];return e===`SIGINT`&&t.push(`Press Ctrl+C again to force quit.`),t}async function Z(e,t){let n=Y(process.env);n!==null&&(process.env.OK_CONSOLE_LEVEL=n);let{renderBanner:r}=await import(`./banner-BxCFCyu8.mjs`),{accent:i,dim:a,error:o,warning:s}=await import(`./colors-CmkIIbww.mjs`),c=process.cwd(),u=e;process.title=F(c);let d=P(t,process.env),f=t.port===void 0?void 0:Number(t.port),p=process.env.PORT?Number(process.env.PORT):void 0,m=t.uiPort===void 0?void 0:Number(t.uiPort),h=z(f,p,m);if(m!==void 0){let{readServerLock:e,resolveLockDir:t}=await import(`./dist-CHMoEx27.mjs`);if(B(m,e(t(c)))){await H({cwd:c,uiPort:m});return}}let g;try{g=await q({config:u,cwd:c,host:d,port:h,...m===void 0?{}:{uiPort:m},...t.serveContentAssets?{serveContentAssets:!0}:{},...t.reactShellDistDir?{reactShellDistDir:t.reactShellDistDir}:{},...t.singleFile?{singleFile:t.singleFile}:{},...t.projectDir?{projectDir:t.projectDir}:{}})}catch(e){e instanceof I&&(console.error(o(e.message)),process.exit(1));let t=await import(`./dist-CHMoEx27.mjs`);if((e instanceof t.GitNotAvailableError||e instanceof t.GitTooOldError)&&process.exit(78),(e instanceof t.SingleFileNotFoundError||e instanceof t.SingleFileNotAFileError||e instanceof t.SingleFileNotMarkdownError)&&(console.error(o(e.message)),process.exit(1)),m!==void 0&&Q(e,t)){await H({cwd:c,uiPort:m});return}let n=$(e,c,t);n!==null&&(console.error(o(n)),process.exit(1)),console.error(`${o(`Failed to start:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exit(1)}let _=!1,v=async e=>{if(_)return;_=!0;let[t,...n]=X(e);console.log(i(`\n${t}`));for(let e of n)console.log(a(` ${e}`));try{await g.destroy()}catch(e){console.error(`${o(`destroy() failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exitCode=1}process.exit(process.exitCode??0)};process.once(`SIGINT`,()=>{v(`SIGINT`)}),process.once(`SIGTERM`,()=>{v(`SIGTERM`)});let y=`http://${d}:${g.port}`,b=d===`0.0.0.0`||d===`::`?`http://0.0.0.0:${g.port}`:void 0,x=g.resolvedUiPort,S=x!==null&&x>0?`http://${d}:${x}`:y;console.log(r({name:`open-knowledge`,version:l,localUrl:S,apiUrl:S===y?void 0:y,networkUrl:b,nextSteps:[`Open the Editor URL in your browser to start editing.`]}));let C={"shadow-repo":`Version history and branch-switch safety unavailable`,"file-watcher":`External file changes will not sync to the editor`,"head-watcher":`Git branch switches may cause document inconsistency`};g.ready.then(async()=>{if(g.degraded.length>0){console.log();for(let e of g.degraded){let t=C[e]??`${e} (check server logs for details)`;console.warn(` ${s(`⚠`)} ${s(e)}: ${a(t)}`)}console.log()}if(t.open){let{openBrowser:e}=await import(`./open-browser-DHTbHSqx.mjs`);e(S)}}).catch(e=>{console.error(` ${o(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})}function Q(e,t){let n=t.ServerLockCollisionError;return n!==void 0&&e instanceof n}function $(e,t,n){let r=n.ServerLockCollisionError;if(r===void 0||!(e instanceof r))return null;try{let e=p(t,`.ok`),r=n.readServerLock(e);return r?r.kind===`interactive`?`OpenKnowledge desktop is currently running on this project. Quit it or use --cwd to point elsewhere.`:r.kind===`mcp-spawned`?"An MCP-spawned server holds this lock; it should release on idle-shutdown (~30 min). Or run `ok stop`.":"OpenKnowledge server is already running on this project — check `ok status` or `ok stop`.":"OpenKnowledge server is already running on this project — check `ok status` or `ok stop`."}catch{return null}}function te(e){return new o(`start`).description(`Start the knowledge base collab server`).option(`-p, --port <port>`,`Server port`,void 0).option(`--ui-port <port>`,`Pin the ok ui sibling to <port> and connect (not exit) if a server already runs here — the worktree-preview recipe path`,ee).option(`-H, --host <host>`,`Server host`,void 0).option(`--open`,`Open browser after start`).option(`--mode <mode>`,`Force dispatch mode: 'browser' or 'app'`,J).option(`--serve-content-assets`,`Serve content assets from this server`).option(`--react-shell-dist-dir <path>`,`Serve React shell from <path> (suppresses ok ui sibling)`).option(`--single-file <path>`,`No-project ephemeral single-file mode: scope the server to one markdown file (git + MCP off)`).option(`--project-dir <dir>`,`Throwaway project root for --single-file (where ephemeral .ok/ state lives)`).action(async t=>{let n=e();if(t.mode===`app`){t.open&&(process.stderr.write(`error: option '--mode=app' cannot be combined with '--open' (--open opens a browser tab against the local server, which app mode does not boot)
2
2
  `),process.exit(2));let e=[];if(t.port!==void 0&&e.push(`--port`),t.uiPort!==void 0&&e.push(`--ui-port`),t.host!==void 0&&e.push(`--host`),e.length>0){let t=process.env.OK_LOG_LEVEL??`info`;(t===`debug`||t===`trace`)&&console.error(`--mode=app: ignoring ${e.join(`, `)}`)}let n=D(w());if(n.available){O({spawn:u});return}console.error(k(n.reason)),process.exit(1)}await Z(n,t)})}export{O as C,D as S,te as _,V as a,N as b,F as c,z as d,P as f,R as g,B as h,K as i,X as l,Z as m,U as n,H as o,Y as p,q as r,L as s,I as t,Q as u,$ as v,w as x,G as y};
3
- //# sourceMappingURL=start-DnS2be8Y.mjs.map
3
+ //# sourceMappingURL=start-C7JGfaJq.mjs.map
@@ -0,0 +1 @@
1
+ import{_ as e,f as t,r as n}from"./start-C7JGfaJq.mjs";export{n as bootStartServer,t as resolveHost,e as startCommand};
@@ -1,4 +1,4 @@
1
- import{Mt as e,bt as t,tn as n,v as r}from"./server-lock-ltHt39S2-CPmTXbVG.mjs";import{$r as i}from"./dist-BNI6AO8O.mjs";import{basename as a,dirname as o,isAbsolute as s,join as c,posix as l,relative as u,resolve as d,sep as f,win32 as p}from"node:path";import{homedir as m}from"node:os";import{cpSync as h,existsSync as g,lstatSync as _,mkdirSync as v,realpathSync as y,rmSync as b}from"node:fs";const x=r,S=t,C=e,w=`node`,T={MCP_DEBUG:`1`,OK_LOG_FILE:`/tmp/ok-mcp.log`},E=`# ok-mcp-v1`,D=`# ok-mcp-v1
1
+ import{Mt as e,bt as t,tn as n,v as r}from"./server-lock-ltHt39S2-FrJuEUby.mjs";import{$r as i}from"./dist-CefxLzs-.mjs";import{basename as a,dirname as o,isAbsolute as s,join as c,posix as l,relative as u,resolve as d,sep as f,win32 as p}from"node:path";import{homedir as m}from"node:os";import{cpSync as h,existsSync as g,lstatSync as _,mkdirSync as v,realpathSync as y,rmSync as b}from"node:fs";const x=r,S=t,C=e,w=`node`,T={MCP_DEBUG:`1`,OK_LOG_FILE:`/tmp/ok-mcp.log`},E=`# ok-mcp-v1`,D=`# ok-mcp-v1
2
2
  USER_BUNDLE="$HOME/Applications/OpenKnowledge.app/Contents/Resources/cli/bin/ok.sh"
3
3
  [ -f "$USER_BUNDLE" ] && [ -x "$USER_BUNDLE" ] && exec "$USER_BUNDLE" mcp
4
4
  BUNDLE="/Applications/OpenKnowledge.app/Contents/Resources/cli/bin/ok.sh"
@@ -33,4 +33,4 @@ foreach ($d in $dirs) {
33
33
  }
34
34
  [Console]::Error.WriteLine('OpenKnowledge: install Node.js 24+ (npm i -g @inkeep/open-knowledge), then restart your editor')
35
35
  exit 127`;function A(e){if(typeof e!=`object`||!e)return!1;let t=e;if(t.command===`/bin/sh`){if(!Array.isArray(t.args)||t.args[0]!==`-l`||t.args[1]!==`-c`)return!1;let e=t.args[2];return typeof e==`string`&&e.includes(`# ok-mcp-v1`)}if(t.command===`powershell`){if(!Array.isArray(t.args)||t.args[0]!==`-NoProfile`||t.args[1]!==`-NonInteractive`||t.args[2]!==`-Command`)return!1;let e=t.args[3];return typeof e==`string`&&e.includes(`# ok-mcp-win-v1`)}if(t.type===`local`&&Array.isArray(t.command)){if(t.command[0]===`/bin/sh`){if(t.command[1]!==`-l`||t.command[2]!==`-c`)return!1;let e=t.command[3];return typeof e==`string`&&e.includes(`# ok-mcp-v1`)}if(t.command[0]===`powershell`){if(t.command[1]!==`-NoProfile`||t.command[2]!==`-NonInteractive`||t.command[3]!==`-Command`)return!1;let e=t.command[4];return typeof e==`string`&&e.includes(`# ok-mcp-win-v1`)}return!1}return!1}function j(e=process.argv[1]){if(!e)throw Error(`Cannot infer the local CLI entry for --dev-mcp because process.argv[1] is empty.`);let t=d(e);if(a(t)===`cli.mjs`&&a(o(t))===`dist`)return t;let n=t.split(f),r=n.lastIndexOf(`packages`);if(r===-1||n[r+1]!==`cli`)throw Error(`Cannot infer the repo root for --dev-mcp from ${t}. Run the local CLI from this repo so the built dist path can be derived.`);let i=n.slice(0,r);return c(i.length===0?f:i.join(f),`packages`,`cli`,`dist`,`cli.mjs`)}function M(e={}){return e.mode===`dev`?{command:w,args:[j(),`mcp`],env:{...T}}:(e.platformName??process.platform)===`win32`?{command:`powershell`,args:[`-NoProfile`,`-NonInteractive`,`-Command`,k]}:{command:`/bin/sh`,args:[`-l`,`-c`,D]}}function N(e={}){return e.mode===`dev`?{type:`local`,enabled:!0,command:[w,j(),`mcp`],environment:{...T}}:(e.platformName??process.platform)===`win32`?{type:`local`,enabled:!0,command:[`powershell`,`-NoProfile`,`-NonInteractive`,`-Command`,k]}:{type:`local`,enabled:!0,command:[`/bin/sh`,`-l`,`-c`,D]}}function P(e){if(typeof e!=`object`||!e)return!1;let t=e;return F(t,M({mode:`published`,platformName:`darwin`}))||F(t,M({mode:`published`,platformName:`win32`}))}function F(e,t){if(Object.keys(e).length!==Object.keys(t).length||e.command!==t.command)return!1;let n=t.args;return!Array.isArray(n)||!Array.isArray(e.args)||e.args.length!==n.length?!1:e.args.every((e,t)=>e===n[t])}function I(e){return e===`win32`?p:l}function L(e={}){let t=e.platformName??process.platform,n=e.home??m(),r=e.env??process.env,i=I(t);return t===`darwin`?i.join(n,`Library`,`Application Support`):t===`win32`?r.APPDATA??i.join(n,`AppData`,`Roaming`):r.XDG_CONFIG_HOME??i.join(n,`.config`)}function R(e={}){let t=e.platformName??process.platform,n=e.home??m();return I(t).join(n,`.claude.json`)}function z(e={}){let t=e.platformName??process.platform,n=e.home??m(),r=e.env??process.env;if(t===`darwin`)return l.join(n,`Library`,`Application Support`,`Claude`,`claude_desktop_config.json`);if(t===`win32`){let e=r.APPDATA??p.join(n,`AppData`,`Roaming`);return p.join(e,`Claude`,`claude_desktop_config.json`)}throw Error(`Claude Desktop is not available on ${t}. Supported: macOS, Windows.`)}function B(e={}){let t=e.platformName??process.platform,n=e.home??m();return I(t).join(n,`.cursor`,`mcp.json`)}function V(e={}){let t=e.platformName??process.platform,n=e.home??m();return(e.env??process.env).CODEX_HOME??I(t).join(n,`.codex`)}function H(e={}){return I(e.platformName??process.platform).join(V(e),`config.toml`)}function U(e={}){let t=e.platformName??process.platform,n=e.home??m(),r=e.env??process.env,i=I(t);if(t===`win32`){let e=r.APPDATA??i.join(n,`AppData`,`Roaming`);return i.join(e,`opencode`)}let a=r.XDG_CONFIG_HOME??i.join(n,`.config`);return i.join(a,`opencode`)}function W(e={}){return I(e.platformName??process.platform).join(U(e),`opencode.json`)}function G(e={}){let t=e.platformName??process.platform,n=e.home??m();return I(t).join(n,`.openclaw`,`openclaw.json`)}const K={claude:{id:`claude`,label:S.claude,configPath:(e,t)=>R({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>n,buildEntry:(e,t)=>M(t),scope:`global`,detectPath:(e,t)=>c(t??m(),`.claude`),projectConfigPath:e=>c(e,`.mcp.json`),projectSkillPath:e=>c(e,`.claude`,`skills`,`open-knowledge`,`SKILL.md`)},"claude-desktop":{id:`claude-desktop`,label:S[`claude-desktop`],configPath:(e,t)=>z({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>n,buildEntry:(e,t)=>M(t),scope:`global`,detectPath:(e,t)=>o(z({home:t}))},cursor:{id:`cursor`,label:S.cursor,configPath:(e,t)=>B({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>n,buildEntry:(e,t)=>M(t),scope:`global`,detectPath:(e,t)=>o(B({home:t})),projectConfigPath:e=>c(e,`.cursor`,`mcp.json`),projectSkillPath:e=>c(e,`.cursor`,`skills`,`open-knowledge`,`SKILL.md`)},codex:{id:`codex`,label:S.codex,configPath:(e,t)=>H({home:t}),format:`toml`,topLevelKey:`mcp_servers`,serverName:()=>n,buildEntry:(e,t)=>M(t),scope:`global`,detectPath:(e,t)=>o(H({home:t})),projectConfigPath:e=>c(e,`.codex`,`config.toml`),projectSkillPath:e=>c(e,`.codex`,`skills`,`open-knowledge`,`SKILL.md`)},opencode:{id:`opencode`,label:S.opencode,configPath:(e,t)=>W({home:t}),format:`json`,topLevelKey:`mcp`,serverName:()=>n,buildEntry:(e,t)=>N(t),scope:`global`,detectPath:(e,t)=>o(W({home:t})),projectConfigPath:e=>c(e,`opencode.json`),projectSkillPath:e=>c(e,`.opencode`,`skills`,`open-knowledge`,`SKILL.md`)},openclaw:{id:`openclaw`,label:S.openclaw,configPath:(e,t)=>G({home:t}),format:`json`,topLevelKey:`mcp`,serverMapSubKey:`servers`,serverName:()=>n,buildEntry:(e,t)=>M(t),scope:`global`,detectPath:(e,t)=>c(t??m(),`.openclaw`),offerOnlyWhenDetected:!0}};function q(e){let t=e.filter(e=>!Object.hasOwn(K,e));if(t.length>0)throw Error(`Unknown editor(s): ${t.join(`, `)}. Valid options: ${x.join(`, `)}`);return e.map(e=>K[e])}function J(e,t){let n;try{n=y(t)}catch{n=d(t)}let r;try{r=_(e)}catch(e){if(e.code!==`ENOENT`)throw e}if(r?.isSymbolicLink())throw Error(`Refusing to write through a symbolic link at ${e}. Remove the symlink and re-run project setup.`);let i=o(e);for(;i.length>1&&i!==f;){let t;try{t=y(i)}catch(e){if(e.code===`ENOENT`){i=o(i);continue}throw e}let r=u(n,t);if(r===``||!r.startsWith(`..`)&&!s(r))return;throw Error(`Refusing to write at ${e}: ancestor ${i} resolves to ${t}, which is outside the project directory ${n}. A symbolic link in the path likely escapes the project. Remove the symlink and re-run project setup.`)}}function Y(e,t){let n=e.projectSkillPath?.(t);if(!n)return{editorId:e.id,label:e.label,action:`skipped-unsupported`,path:``};try{let r=i(`project`,{checkDesktop:!0}),a=o(n);J(a,t);let s=g(n)?`overwritten`:`written`;return b(a,{recursive:!0,force:!0}),v(o(a),{recursive:!0}),h(r,a,{recursive:!0}),{editorId:e.id,label:e.label,action:s,path:n}}catch(t){return{editorId:e.id,label:e.label,action:`failed`,path:n,error:t instanceof Error?t.message:String(t)}}}export{O as a,C as c,P as d,L as f,E as i,M as l,q as m,Y as n,S as o,j as p,x as r,K as s,J as t,A as u};
36
- //# sourceMappingURL=write-project-skill-DUum3kyh.mjs.map
36
+ //# sourceMappingURL=write-project-skill-D_ylGqEf.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inkeep/open-knowledge",
3
- "version": "0.25.0-beta.15",
3
+ "version": "0.25.0-beta.17",
4
4
  "license": "GPL-3.0-or-later",
5
5
  "private": false,
6
6
  "type": "module",
@@ -1,2 +0,0 @@
1
- import"./server-lock-ltHt39S2-CPmTXbVG.mjs";var e=`0.25.0-beta.15`;const t=`config.yml`,n=e;export{n,t};
2
- //# sourceMappingURL=constants-CS2nL68U.mjs.map
@@ -1 +0,0 @@
1
- import{n as e}from"./git-handle-BM0b1rwW-DuV-KO4L.mjs";export{e as createGitInstance};
@@ -1 +0,0 @@
1
- import{_ as e}from"./init-CeV6DYvh.mjs";export{e as runInit};
@@ -1 +0,0 @@
1
- import{n as e}from"./loader-CRiGx4e0.mjs";export{e as loadConfig};
@@ -1 +0,0 @@
1
- import{n as e,t}from"./preview-IaeY2esx.mjs";export{t as formatPreviewBlock,e as previewContent};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ActivityPanelDiffView-TEHR9A38.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{Cr as a,Or as o,n as s,pt as c,r as l}from"./DocumentContext-BGDV4Qfa.js";import{n as u,r as d}from"./dist-CQw2y-s3.js";import{a as f,i as p,rt as m}from"./dist-B2N5XdpF.js";import{t as h,u as g}from"./button-DGf25ccp.js";import{a as _,c as v,i as y,o as b,s as x,t as S}from"./dialog-CIq9aQLf.js";import{t as C}from"./chevron-down-CzFz_0zd.js";import{t as w}from"./chevron-right-jyIhGBkw.js";import{i as T}from"./prop-types-CU5h6mJM.js";import{d as E}from"./config-context-DhhN0rlf.js";import{c as D,i as O,r as k,t as A}from"./agent-presence-BRmBPq78.js";import{n as j}from"./dist-KBKQayVB.js";import{o as M,u as N}from"./documents-events-BQEuksqI.js";import{i as P,n as ee,t as te}from"./tooltip-DiL7DBhT.js";import{o as ne}from"./navigation-targets-0j0dncXj.js";var re=g(`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 c(`Could not parse /api/agent-activity response.`,{cause:e,status:n.status})}if(!n.ok){let e=m.safeParse(r);throw e.success?Error(e.data.title):new c(`/api/agent-activity returned a non-RFC-9457 error response.`,{cause:e.error,status:n.status})}let i=p.safeParse(r);if(!i.success)throw new c(`/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 c(`Could not parse /api/agent-burst-diff response.`,{cause:e,status:i.status})}if(!i.ok){let e=m.safeParse(a);throw e.success?Error(e.data.title):new c(`/api/agent-burst-diff returned a non-RFC-9457 error response.`,{cause:e.error,status:i.status})}let o=f.safeParse(a);if(!o.success)throw new c(`/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}=s(),[r,i]=(0,I.useState)(null),[a,o]=(0,I.useState)(`idle`),[c,l]=(0,I.useState)(null),u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=new O(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;o(`loading`),l(null),ae(e).then(r=>{if(f.current!==t)return;let a=le(n,e);i({...r,writingDocs:a}),o(`ready`)}).catch(e=>{f.current===t&&(l(e instanceof Error?e.message:String(e)),o(`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),o(`idle`),l(null),d.current.clear();return}d.current.clear(),m(e);let t=null,n=M(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]!==a?(C={data:r,status:a,error:c,reload:S,fetchBurstDiff:b},t[17]=r,t[18]=c,t[19]=b,t[20]=S,t[21]=a,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(!A(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-TEHR9A38.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}=d(),[o,s]=(0,I.useState)(!1),[c,l]=(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]!==c||t[4]!==r||t[5]!==o||t[6]!==i||t[7]!==m?(b=()=>{let e=!o;s(e),e&&c===null&&!m&&(h(!0),p(null),i(r,n.stackIndex).then(e=>{l(e),h(!1)}).catch(e=>{p(e instanceof Error?e.message:String(e)),h(!1)}))},t[2]=n.stackIndex,t[3]=c,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,T;t[9]!==a||t[10]!==S||t[11]!==o?(T=a(o?{id:`-i7ik4`,values:{burstNumber:S}}:{id:`EeRZnZ`,values:{burstNumber:S}}),t[9]=a,t[10]=S,t[11]=o,t[12]=T):T=t[12];let E;t[13]===o?E=t[14]:(E=o?(0,R.jsx)(C,{className:`size-3 shrink-0`,"aria-hidden":`true`}):(0,R.jsx)(w,{className:`size-3 shrink-0`,"aria-hidden":`true`}),t[13]=o,t[14]=E);let D;t[15]!==n.ts||t[16]!==g?(D=de(n.ts,g),t[15]=n.ts,t[16]=g,t[17]=D):D=t[17];let O;t[18]===D?O=t[19]:(O=(0,R.jsx)(`span`,{className:`font-mono`,children:D}),t[18]=D,t[19]=O);let k;t[20]===n.additions?k=t[21]:(k=(0,R.jsxs)(`span`,{className:`text-green-600 dark:text-green-400`,children:[`+`,n.additions]}),t[20]=n.additions,t[21]=k);let A;t[22]===n.deletions?A=t[23]:(A=(0,R.jsxs)(`span`,{className:`text-red-600 dark:text-red-400`,children:[`−`,n.deletions]}),t[22]=n.deletions,t[23]=A);let j;t[24]!==k||t[25]!==A?(j=(0,R.jsxs)(`span`,{className:`ml-auto font-mono`,children:[k,` `,A]}),t[24]=k,t[25]=A,t[26]=j):j=t[26];let M;t[27]!==o||t[28]!==j||t[29]!==T||t[30]!==E||t[31]!==O||t[32]!==x?(M=(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":T,children:[E,O,j]}),t[27]=o,t[28]=j,t[29]=T,t[30]=E,t[31]=O,t[32]=x,t[33]=M):M=t[33];let N;t[34]!==c||t[35]!==o||t[36]!==f||t[37]!==m?(N=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)(u,{id:`38foVZ`})}):f?(0,R.jsx)(`div`,{className:`px-4 py-2 text-xs text-destructive`,children:(0,R.jsx)(u,{id:`pmKdif`,values:{loadError:f}})}):c===null?(0,R.jsx)(`div`,{className:`px-4 py-2 text-xs text-muted-foreground italic`,children:(0,R.jsx)(u,{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)(u,{id:`38foVZ`})}),children:(0,R.jsx)(ue,{diff:c})})}):null,t[34]=c,t[35]=o,t[36]=f,t[37]=m,t[38]=N):N=t[38];let P;return t[39]!==M||t[40]!==N?(P=(0,R.jsxs)(`div`,{className:`border-t border-border/50`,children:[M,N]}),t[39]=M,t[40]=N,t[41]=P):P=t[41],P}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:s,fetchBurstDiff:c}=e,{_:l}=d(),{docName:f}=n,[p,m]=(0,I.useState)(!1),[g,T]=(0,I.useState)(!1),[E,O]=(0,I.useState)(!1),[k,A]=(0,I.useState)(he),j,M;if(t[0]===Symbol.for(`react.memo_cache_sentinel`)?(j=()=>{let e=setInterval(()=>A(Date.now()),3e4);return()=>clearInterval(e)},M=[],t[0]=j,t[1]=M):(j=t[0],M=t[1]),(0,I.useEffect)(j,M),n.bursts.length===0)return null;let N=!r||n.bursts.length===0||E,ne=n.bursts.length,ie;t[2]!==l||t[3]!==n.bursts.length||t[4]!==r?(ie=r?n.bursts.length===0?l({id:`2fkdnR`}):null:l({id:`NzFvyK`}),t[2]=l,t[3]=n.bursts.length,t[4]=r,t[5]=ie):ie=t[5];let L=ie,ae;t[6]!==N||t[7]!==n.docName||t[8]!==o?(ae=e=>{e.stopPropagation(),!N&&(O(!0),Promise.resolve(o(n.docName)).finally(()=>O(!1)))},t[6]=N,t[7]=n.docName,t[8]=o,t[9]=ae):ae=t[9];let oe=ae,se;t[10]===N?se=t[11]:(se=e=>{e.stopPropagation(),!N&&T(!0)},t[10]=N,t[11]=se);let ce=se,le;t[12]!==N||t[13]!==n.docName||t[14]!==s?(le=()=>{T(!1),!N&&(O(!0),Promise.resolve(s(n.docName)).finally(()=>O(!1)))},t[12]=N,t[13]=n.docName,t[14]=s,t[15]=le):le=t[15];let ue=le,de;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(de=()=>m(me),t[16]=de):de=t[16];let z;t[17]!==l||t[18]!==f||t[19]!==p?(z=l(p?{id:`rVgSRB`,values:{docName:f}}:{id:`tW_yvQ`,values:{docName:f}}),t[17]=l,t[18]=f,t[19]=p,t[20]=z):z=t[20];let B;t[21]===p?B=t[22]:(B=p?(0,R.jsx)(C,{className:`size-4`,"aria-hidden":`true`}):(0,R.jsx)(w,{className:`size-4`,"aria-hidden":`true`}),t[21]=p,t[22]=B);let V;t[23]!==p||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":p,"aria-label":z,"data-testid":`activity-panel-file-row-carrot`,children:B}),t[23]=p,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]!==l||t[31]!==f?(U=l({id:`QcpeeE`,values:{docName:f}}),t[30]=l,t[31]=f,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]!==l||t[38]!==f?(G=l({id:`m4v3XT`,values:{docName:f}}),t[37]=l,t[38]=f,t[39]=G):G=t[39];let ge;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(ge=(0,R.jsx)(D,{className:`size-3.5`,"aria-hidden":`true`}),t[40]=ge):ge=t[40];let K;t[41]!==N||t[42]!==oe||t[43]!==G?(K=(0,R.jsx)(P,{asChild:!0,children:(0,R.jsx)(h,{type:`button`,variant:`ghost`,size:`icon`,className:`size-6 shrink-0`,onClick:oe,disabled:N,"aria-label":G,"data-testid":`activity-panel-undo-last`,children:ge})}),t[41]=N,t[42]=oe,t[43]=G,t[44]=K):K=t[44];let q;t[45]!==l||t[46]!==L?(q=L??l({id:`ArBWJf`}),t[45]=l,t[46]=L,t[47]=q):q=t[47];let J;t[48]===q?J=t[49]:(J=(0,R.jsx)(ee,{side:`bottom`,children:q}),t[48]=q,t[49]=J);let Y;t[50]!==K||t[51]!==J?(Y=(0,R.jsxs)(te,{children:[K,J]}),t[50]=K,t[51]=J,t[52]=Y):Y=t[52];let X;t[53]!==l||t[54]!==f?(X=l({id:`J2MgzQ`,values:{docName:f}}),t[53]=l,t[54]=f,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]!==N||t[58]!==ce||t[59]!==X?(Z=(0,R.jsx)(P,{asChild:!0,children:(0,R.jsx)(h,{type:`button`,variant:`ghost`,size:`icon`,className:`size-6 shrink-0`,onClick:ce,disabled:N,"aria-label":X,"data-testid":`activity-panel-undo-all`,children:_e})}),t[57]=N,t[58]=ce,t[59]=X,t[60]=Z):Z=t[60];let Q;t[61]!==l||t[62]!==L?(Q=L??l({id:`mNY1G6`}),t[61]=l,t[62]=L,t[63]=Q):Q=t[63];let ve;t[64]===Q?ve=t[65]:(ve=(0,R.jsx)(ee,{side:`bottom`,children:Q}),t[64]=Q,t[65]=ve);let ye;t[66]!==Z||t[67]!==ve?(ye=(0,R.jsxs)(te,{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]!==k?(Ce=pe(n.lastTs,k),t[76]=n.lastTs,t[77]=k,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)(u,{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]!==p||t[92]!==c||t[93]!==n.bursts||t[94]!==n.docName?(Ee=p?(0,R.jsx)(`div`,{children:n.bursts.map(e=>(0,R.jsx)(fe,{burst:e,docName:n.docName,fetchBurstDiff:c},`${n.docName}:${e.stackIndex}`))}):null,t[91]=p,t[92]=c,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)(v,{children:(0,R.jsx)(u,{id:`SEYWYq`})}),t[96]=De):De=t[96];let Oe;t[97]!==ne||t[98]!==f?(Oe={docName:f,burstCount:ne},t[97]=ne,t[98]=f,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)(x,{children:[De,(0,R.jsx)(_,{children:(0,R.jsx)(u,{id:`ZBYKxv`,values:Oe,components:ke})})]}),t[101]=Oe,t[102]=Ae);let je;t[103]===Symbol.for(`react.memo_cache_sentinel`)?(je=()=>T(!1),t[103]=je):je=t[103];let Me;t[104]===Symbol.for(`react.memo_cache_sentinel`)?(Me=(0,R.jsx)(h,{type:`button`,variant:`outline`,onClick:je,"data-testid":`activity-panel-undo-all-cancel`,children:(0,R.jsx)(u,{id:`dEgA5A`})}),t[104]=Me):Me=t[104];let Ne;t[105]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=(0,R.jsx)(u,{id:`MWrUEd`}),t[105]=Ne):Ne=t[105];let Pe;t[106]===ue?Pe=t[107]:(Pe=(0,R.jsxs)(b,{children:[Me,(0,R.jsx)(h,{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)(y,{className:`sm:max-w-md`,children:[Ae,Pe]}),t[108]=Ae,t[109]=Pe,t[110]=Fe):Fe=t[110];let Ie;t[111]!==g||t[112]!==Fe?(Ie=(0,R.jsx)(S,{open:g,onOpenChange:T,children:Fe}),t[111]=g,t[112]=Fe,t[113]=Ie):Ie=t[113];let Le;return t[114]!==Te||t[115]!==Ee||t[116]!==Ie?(Le=(0,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)(E,{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)(u,{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)(a,{className:`size-6 text-destructive`,"aria-hidden":`true`}),t[0]=i):i=t[0];let o;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,R.jsx)(`p`,{className:`text-sm font-medium`,children:(0,R.jsx)(u,{id:`DhLHEb`})}),t[1]=o):o=t[1];let s;t[2]===n?s=t[3]:(s=(0,R.jsxs)(`div`,{className:`space-y-1`,children:[o,(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:n})]}),t[2]=n,t[3]=s);let c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,R.jsx)(u,{id:`6gRgw8`}),t[4]=c):c=t[4];let l;t[5]===r?l=t[6]:(l=(0,R.jsx)(h,{type:`button`,variant:`outline`,size:`sm`,onClick:r,children:c}),t[5]=r,t[6]=l);let d;return t[7]!==s||t[8]!==l?(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,s,l]}),t[7]=s,t[8]=l,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)(u,{id:`iuTKci`})})}),e[0]=t):t=e[0],t}function K(e){let t=(0,F.c)(12),{onExit:n,showBackButton:r}=e,{_:i}=d(),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 s;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,R.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:(0,R.jsx)(u,{id:`kYL1lH`})}),t[5]=s):s=t[5];let c;t[6]===o?c=t[7]:(c=(0,R.jsxs)(`div`,{className:`flex shrink-0 flex-row items-center gap-2 border-b border-border px-3 py-2`,children:[o,s]}),t[6]=o,t[7]=c);let l;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(l=(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)(u,{id:`D_WKe_`})})}),t[8]=l):l=t[8];let f;return t[9]!==a||t[10]!==c?(f=(0,R.jsxs)(`section`,{className:`flex h-full min-h-0 flex-col`,"data-testid":`activity-panel-no-agent`,"aria-label":a,children:[c,l]}),t[9]=a,t[10]=c,t[11]=f):f=t[11],f}function q(e){let t=(0,F.c)(9),{onClick:n}=e,{_:r}=d(),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)(o,{}),t[2]=a):a=t[2];let s;t[3]!==n||t[4]!==i?(s=(0,R.jsx)(P,{asChild:!0,children:(0,R.jsx)(h,{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]=s):s=t[5];let c;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,R.jsx)(ee,{side:`bottom`,children:(0,R.jsx)(u,{id:`ogAuyr`})}),t[6]=c):c=t[6];let l;return t[7]===s?l=t[8]:(l=(0,R.jsxs)(te,{children:[s,c]}),t[7]=s,t[8]=l),l}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)(u,{id:`LCUy_N`})}),t[3]=o):o=t[3];let s;t[4]===a?s=t[5]:(s=a?(0,R.jsxs)(`span`,{children:[` · `,a]}):null,t[4]=a,t[5]=s);let c;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,R.jsx)(`div`,{className:`mt-1 opacity-80`,children:(0,R.jsx)(u,{id:`GK-IRZ`})}),t[6]=c):c=t[6];let l;return t[7]===s?l=t[8]:(l=(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,s,c]}),t[7]=s,t[8]=l),l}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)(k,{icon:n.icon,width:o,height:s}),t[3]=n.icon,t[4]=o,t[5]=s,t[6]=c):c=t[6];let l;return t[7]!==a||t[8]!==c?(l=(0,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:s,onNavigate:c,onUndoLast:l,onUndoAll:f,showBackButton:p}=e,{_:m}=d(),h=n?.files?.[0]?.lastTs??null,g=n?.files?.length??0,_;t[0]===m?_=t[1]:(_=m({id:`kYL1lH`}),t[0]=m,t[1]=_);let v;t[2]!==s||t[3]!==p?(v=p?(0,R.jsx)(q,{onClick:s}):null,t[2]=s,t[3]=p,t[4]=v):v=t[4];let y;t[5]!==n||t[6]!==g||t[7]!==h?(y=n?.agent?(0,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)(u,{id:`F6pfE9`}):h===null?(0,R.jsx)(u,{id:`PMyJ9C`}):(0,R.jsx)(u,{id:`237hSL`}),n.files.length>0?(0,R.jsxs)(R.Fragment,{children:[` · `,(0,R.jsx)(u,{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)(u,{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]!==c||t[17]!==f||t[18]!==l||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:c,onUndoLast:l,onUndoAll:f,fetchBurstDiff:o},e.docName))]})}),t[12]=n,t[13]=i,t[14]=o,t[15]=h,t[16]=c,t[17]=f,t[18]=l,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,{_:a}=d(),{docPanelAgentId:o,closeActivityPanel:c}=s(),{openTargetTransition:u}=l(),{pageMeta:f}=T(),{data:p,status:m,error:h,reload:g,fetchBurstDiff:_}=se(o);if(o===null){let e;return t[2]!==c||t[3]!==i?(e=(0,R.jsx)(K,{onExit:c,showBackButton:i}),t[2]=c,t[3]=i,t[4]=e):e=t[4],e}let v;t[5]!==u||t[6]!==f?(v=e=>{u(ne({kind:`doc`,target:e,docName:e},f)),U(e)},t[5]=u,t[6]=f,t[7]=v):v=t[7];let y=v,b;t[8]!==a||t[9]!==p||t[10]!==o||t[11]!==g?(b=async e=>{try{await V({connectionId:o,docName:e,scope:`last`,agentName:p?.agent?.displayName}),g()}catch(e){let t=e,n=t instanceof Error?t.message:String(t);j.error(a({id:`EqrC_R`,values:{message:n}})),g()}},t[8]=a,t[9]=p,t[10]=o,t[11]=g,t[12]=b):b=t[12];let x=b,S;t[13]!==a||t[14]!==p||t[15]!==o||t[16]!==g?(S=async e=>{try{await V({connectionId:o,docName:e,scope:`file`,agentName:p?.agent?.displayName}),j.success(a({id:`pRc-Im`,values:{docName:e}})),g()}catch(e){let t=e,n=t instanceof Error?t.message:String(t);j.error(a({id:`7KeV5F`,values:{message:n}})),g()}},t[13]=a,t[14]=p,t[15]=o,t[16]=g,t[17]=S):S=t[17];let C=S,w;return t[18]!==c||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:c,onNavigate:y,onUndoLast:x,onUndoAll:C,showBackButton:i}),t[18]=c,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};
@@ -1,2 +0,0 @@
1
- import{o as e}from"./chunk-CFjPhJqf.js";import{n as t,r as n,t as r}from"./compiler-runtime-CVnuRdak.js";import{n as i,r as a}from"./dist-CQw2y-s3.js";import{t as o}from"./button-DGf25ccp.js";import{a as s,c,i as l,n as u,o as d,s as f,t as p}from"./dialog-CIq9aQLf.js";import{t as ee}from"./chevron-right-jyIhGBkw.js";import{n as te,r as ne,t as re}from"./collapsible-CjgfK1G5.js";import{n as m}from"./dist-KBKQayVB.js";import{t as h}from"./checkbox-EGJP9xna.js";import{t as g}from"./input-DkQ8Zmzd.js";import{i as _,n as ie,r as ae,t as oe}from"./project-paths-CcPGtodV.js";import{t as se}from"./textarea-BQFFQ9_l.js";var ce=r(),v=e(t(),1),y=n(),le=750,ue={root:{id:`ZWolSV`},home:{id:`_RcqUM`},"home-documents":{id:`of3tF-`},"home-desktop":{id:`vfWA_g`},"home-downloads":{id:`wlwXUk`},"volumes-mount":{id:`nMSYz5`},"drive-root":{id:`M3ytY_`}},b={error:e=>m.error(e)};function x(e){let t=(0,ce.c)(9),n;t[0]===e?n=t[1]:(n=e===void 0?{}:e,t[0]=e,t[1]=n);let{store:r,toast:i,payload:a}=n,o=r===void 0?_:r,s=i===void 0?b:i,c;t[2]!==a||t[3]!==o?(c=a??o.getSnapshot(),t[2]=a,t[3]=o,t[4]=c):c=t[4];let l=c;if(!l)return null;let u;return t[5]!==l||t[6]!==o||t[7]!==s?(u=(0,y.jsx)(de,{payload:l,store:o,toast:s}),t[5]=l,t[6]=o,t[7]=s,t[8]=u):u=t[8],u}function de(e){let t=(0,ce.c)(125),{payload:n,store:r,toast:m}=e,{_}=a(),b=(0,v.useId)(),[x,de]=(0,v.useState)(n.defaultContentDir),[S,he]=(0,v.useState)(``),ge;t[0]===n.editorOptions?ge=t[1]:(ge=()=>new Set(n.editorOptions.map(pe)),t[0]=n.editorOptions,t[1]=ge);let[C,_e]=(0,v.useState)(ge),[w,ve]=(0,v.useState)(`shared`),[ye,be]=(0,v.useState)(null),[T,xe]=(0,v.useState)(!1),[E,Se]=(0,v.useState)(null),[Ce,we]=(0,v.useState)(!1),Te,Ee;t[2]!==_||t[3]!==x?(Te=()=>{if(!oe(x)){be(null);return}let e=!1,t=setTimeout(()=>{let t=window.okDesktop;t&&t.onboarding.probeContent({contentDir:x}).then(t=>{e||be(t)}).catch(t=>{e||be({ok:!1,error:t instanceof Error?t.message:_({id:`snrVQ7`})})})},le);return()=>{e=!0,clearTimeout(t)}},Ee=[x,_],t[2]=_,t[3]=x,t[4]=Te,t[5]=Ee):(Te=t[4],Ee=t[5]),(0,v.useEffect)(Te,Ee);let De;t[6]===x?De=t[7]:(De=oe(x),t[6]=x,t[7]=De);let D=De,O=T||!D,Oe=Ce||!D,ke=n.projectDir,Ae;t[8]!==n.pickedPath||t[9]!==n.projectDir?(Ae=ie(n.projectDir,n.pickedPath)??n.pickedPath,t[8]=n.pickedPath,t[9]=n.projectDir,t[10]=Ae):Ae=t[10];let je=Ae,Me;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(Me=function(e){_e(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},t[11]=Me):Me=t[11];let Ne=Me,Pe;t[12]!==_||t[13]!==n.projectDir?(Pe=async function(){let e=window.okDesktop;if(!e)return;let t;try{t=await e.dialog.openFolder({defaultPath:n.projectDir})}catch(e){let t=e;Se(t instanceof Error?t.message:_({id:`P-ye9o`}));return}if(t===null)return;let r=ie(n.projectDir,t);if(r===null){Se(_({id:`UTZ97u`}));return}Se(null),de(r)},t[12]=_,t[13]=n.projectDir,t[14]=Pe):Pe=t[14];let Fe=Pe,k;t[15]!==S||t[16]!==x||t[17]!==C||t[18]!==w||t[19]!==r||t[20]!==m?(k=async function(){xe(!0);let e=await r.confirm({initGit:!0,contentDir:x,additionalIgnores:S,editorIds:Array.from(C),sharing:w});e.ok||(m.error(e.error),xe(!1))},t[15]=S,t[16]=x,t[17]=C,t[18]=w,t[19]=r,t[20]=m,t[21]=k):k=t[21];let Ie=k,Le;t[22]!==Ie||t[23]!==O?(Le=function(e){e.preventDefault(),!O&&Ie()},t[22]=Ie,t[23]=O,t[24]=Le):Le=t[24];let Re=Le,ze;t[25]!==r||t[26]!==m?(ze=async function(){xe(!0);let e=await r.cancel();e.ok||(m.error(e.error),xe(!1))},t[25]=r,t[26]=m,t[27]=ze):ze=t[27];let A=ze,Be;t[28]!==T||t[29]!==A?(Be=function(e){!e&&!T&&A()},t[28]=T,t[29]=A,t[30]=Be):Be=t[30];let Ve=Be,He;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(He=(0,y.jsx)(c,{children:(0,y.jsx)(i,{id:`seeS6l`})}),t[31]=He):He=t[31];let Ue;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(Ue=(0,y.jsxs)(f,{children:[He,(0,y.jsx)(s,{children:(0,y.jsx)(i,{id:`HqiZvw`,components:{0:(0,y.jsx)(`code`,{})}})})]}),t[32]=Ue):Ue=t[32];let j;t[33]!==n.gitRootPromoted||t[34]!==je||t[35]!==ke?(j=n.gitRootPromoted?(0,y.jsx)(`p`,{className:`text-1sm text-muted-foreground`,children:(0,y.jsx)(i,{id:`Y1kX2z`,values:{projectDir:ke,pickedRelative:je},components:{0:(0,y.jsx)(`code`,{}),1:(0,y.jsx)(`code`,{}),2:(0,y.jsx)(`code`,{}),3:(0,y.jsx)(`code`,{}),4:(0,y.jsx)(`code`,{})}})}):null,t[33]=n.gitRootPromoted,t[34]=je,t[35]=ke,t[36]=j):j=t[36];let M;t[37]!==_||t[38]!==n.warnings?(M=n.warnings.length>0?(0,y.jsx)(`div`,{role:`alert`,className:`rounded-md border border-amber-300 bg-amber-50 px-3 py-2 text-sm text-amber-900 dark:border-amber-700 dark:bg-amber-950 dark:text-amber-200`,children:n.warnings.map(e=>(0,y.jsx)(`p`,{className:`mb-1 last:mb-0`,children:_(ue[e.kind])},e.kind))}):null,t[37]=_,t[38]=n.warnings,t[39]=M):M=t[39];let N;t[40]!==D||t[41]!==ye?(N=D?(0,y.jsx)(me,{probe:ye}):null,t[40]=D,t[41]=ye,t[42]=N):N=t[42];let P;t[43]!==T||t[44]!==b||t[45]!==w?(P=(0,y.jsx)(ae,{idPrefix:b,testIdPrefix:`consent-sharing`,value:w,onValueChange:ve,disabled:T}),t[43]=T,t[44]=b,t[45]=w,t[46]=P):P=t[46];let We;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(We=(0,y.jsxs)(ne,{className:`group flex w-full items-center justify-between gap-2 px-3 py-2 text-sm font-medium hover:bg-muted/50`,"data-testid":`consent-advanced-trigger`,children:[(0,y.jsx)(i,{id:`VNgKZz`}),(0,y.jsx)(ee,{className:`size-4 transition-transform group-data-[state=open]:rotate-90 motion-reduce:transition-none`,"aria-hidden":!0})]}),t[47]=We):We=t[47];let Ge;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(Ge=(0,y.jsx)(`label`,{htmlFor:`consent-content-dir`,className:`text-sm font-medium`,children:(0,y.jsx)(i,{id:`ll2yNl`})}),t[48]=Ge):Ge=t[48];let Ke;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(Ke=e=>{de(e.target.value),Se(null)},t[49]=Ke):Ke=t[49];let qe=!D,Je=E===null?D?void 0:`consent-content-dir-error`:`consent-content-dir-browse-error`,F;t[50]!==T||t[51]!==x||t[52]!==qe||t[53]!==Je?(F=(0,y.jsx)(g,{id:`consent-content-dir`,value:x,onChange:Ke,disabled:T,"aria-invalid":qe,"aria-describedby":Je,"data-testid":`consent-content-dir`,className:`flex-1`}),t[50]=T,t[51]=x,t[52]=qe,t[53]=Je,t[54]=F):F=t[54];let I;t[55]===Fe?I=t[56]:(I=()=>void Fe(),t[55]=Fe,t[56]=I);let Ye;t[57]===Symbol.for(`react.memo_cache_sentinel`)?(Ye=(0,y.jsx)(i,{id:`O2UpM1`}),t[57]=Ye):Ye=t[57];let L;t[58]!==T||t[59]!==I?(L=(0,y.jsx)(o,{type:`button`,variant:`outline`,disabled:T,onClick:I,"data-testid":`consent-content-dir-browse`,children:Ye}),t[58]=T,t[59]=I,t[60]=L):L=t[60];let R;t[61]!==F||t[62]!==L?(R=(0,y.jsxs)(`div`,{className:`flex items-stretch gap-2`,children:[F,L]}),t[61]=F,t[62]=L,t[63]=R):R=t[63];let z;t[64]!==E||t[65]!==D?(z=E===null?D?null:(0,y.jsx)(`p`,{id:`consent-content-dir-error`,className:`text-1sm text-destructive`,"data-testid":`consent-content-dir-error`,children:(0,y.jsx)(i,{id:`U5Spo9`})}):(0,y.jsx)(`p`,{id:`consent-content-dir-browse-error`,className:`text-1sm text-destructive`,"data-testid":`consent-content-dir-browse-error`,children:E}),t[64]=E,t[65]=D,t[66]=z):z=t[66];let B;t[67]!==R||t[68]!==z?(B=(0,y.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[Ge,R,z]}),t[67]=R,t[68]=z,t[69]=B):B=t[69];let Xe;t[70]===Symbol.for(`react.memo_cache_sentinel`)?(Xe=(0,y.jsx)(`label`,{htmlFor:`consent-additional-ignores`,className:`text-sm font-medium`,children:(0,y.jsx)(i,{id:`3zyg_A`})}),t[70]=Xe):Xe=t[70];let Ze;t[71]===Symbol.for(`react.memo_cache_sentinel`)?(Ze=e=>he(e.target.value),t[71]=Ze):Ze=t[71];let V;t[72]!==S||t[73]!==T?(V=(0,y.jsx)(se,{id:`consent-additional-ignores`,value:S,onChange:Ze,disabled:T,placeholder:`tmp/
2
- *.draft.md`,rows:3,"data-testid":`consent-additional-ignores`}),t[72]=S,t[73]=T,t[74]=V):V=t[74];let Qe;t[75]===Symbol.for(`react.memo_cache_sentinel`)?(Qe=(0,y.jsx)(`p`,{className:`text-1sm text-muted-foreground`,children:(0,y.jsx)(i,{id:`aE2_XM`,components:{0:(0,y.jsx)(`code`,{})}})}),t[75]=Qe):Qe=t[75];let H;t[76]===V?H=t[77]:(H=(0,y.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[Xe,V,Qe]}),t[76]=V,t[77]=H);let $e;t[78]===Symbol.for(`react.memo_cache_sentinel`)?($e=(0,y.jsx)(`legend`,{className:`text-sm font-medium`,children:(0,y.jsx)(i,{id:`0YEbfk`})}),t[78]=$e):$e=t[78];let et;t[79]===Symbol.for(`react.memo_cache_sentinel`)?(et=(0,y.jsx)(`p`,{className:`text-1sm text-muted-foreground`,children:(0,y.jsx)(i,{id:`eSu2Xn`,components:{0:(0,y.jsx)(`code`,{})}})}),t[79]=et):et=t[79];let U;if(t[80]!==T||t[81]!==C||t[82]!==n.editorOptions){let e;t[84]!==T||t[85]!==C?(e=e=>{let t=`consent-editor-${e.id}-cb`;return(0,y.jsxs)(`label`,{htmlFor:t,className:`flex items-center gap-2 text-sm`,children:[(0,y.jsx)(h,{id:t,checked:C.has(e.id),onCheckedChange:()=>Ne(e.id),disabled:T,"data-testid":`consent-editor-${e.id}`}),(0,y.jsx)(`span`,{children:e.label}),(0,y.jsx)(`span`,{className:`text-xs text-muted-foreground`,"data-testid":`consent-editor-${e.id}-scope`,children:e.hasProjectConfig?(0,y.jsx)(i,{id:`cKjLuT`}):(0,y.jsx)(i,{id:`nYKerc`})})]},e.id)},t[84]=T,t[85]=C,t[86]=e):e=t[86],U=n.editorOptions.map(e),t[80]=T,t[81]=C,t[82]=n.editorOptions,t[83]=U}else U=t[83];let W;t[87]===U?W=t[88]:(W=(0,y.jsxs)(`fieldset`,{className:`flex flex-col space-y-2 pb-2`,children:[$e,et,U]}),t[87]=U,t[88]=W);let G;t[89]!==B||t[90]!==H||t[91]!==W?(G=(0,y.jsxs)(te,{className:`space-y-6 border-t border-border px-3 py-4`,children:[B,H,W]}),t[89]=B,t[90]=H,t[91]=W,t[92]=G):G=t[92];let K;t[93]!==Oe||t[94]!==G?(K=(0,y.jsxs)(re,{open:Oe,onOpenChange:we,className:`rounded-md border border-border`,"data-testid":`consent-advanced`,children:[We,G]}),t[93]=Oe,t[94]=G,t[95]=K):K=t[95];let q;t[96]!==b||t[97]!==Re||t[98]!==N||t[99]!==P||t[100]!==K?(q=(0,y.jsxs)(`form`,{id:b,onSubmit:Re,"data-testid":`consent-form`,className:`space-y-6`,children:[N,P,K]}),t[96]=b,t[97]=Re,t[98]=N,t[99]=P,t[100]=K,t[101]=q):q=t[101];let J;t[102]!==j||t[103]!==M||t[104]!==q?(J=(0,y.jsxs)(u,{className:`space-y-6`,children:[j,M,q]}),t[102]=j,t[103]=M,t[104]=q,t[105]=J):J=t[105];let Y;t[106]===A?Y=t[107]:(Y=()=>void A(),t[106]=A,t[107]=Y);let tt;t[108]===Symbol.for(`react.memo_cache_sentinel`)?(tt=(0,y.jsx)(i,{id:`dEgA5A`}),t[108]=tt):tt=t[108];let X;t[109]!==T||t[110]!==Y?(X=(0,y.jsx)(o,{type:`button`,variant:`outline`,className:`font-mono uppercase`,onClick:Y,disabled:T,"data-testid":`consent-cancel`,children:tt}),t[109]=T,t[110]=Y,t[111]=X):X=t[111];let nt;t[112]===Symbol.for(`react.memo_cache_sentinel`)?(nt=(0,y.jsx)(i,{id:`RDjuBN`}),t[112]=nt):nt=t[112];let Z;t[113]!==b||t[114]!==O?(Z=(0,y.jsx)(o,{type:`submit`,form:b,disabled:O,"data-testid":`consent-start`,children:nt}),t[113]=b,t[114]=O,t[115]=Z):Z=t[115];let Q;t[116]!==X||t[117]!==Z?(Q=(0,y.jsxs)(d,{children:[X,Z]}),t[116]=X,t[117]=Z,t[118]=Q):Q=t[118];let $;t[119]!==J||t[120]!==Q?($=(0,y.jsxs)(l,{className:`sm:max-w-lg`,onOpenAutoFocus:fe,children:[Ue,J,Q]}),t[119]=J,t[120]=Q,t[121]=$):$=t[121];let rt;return t[122]!==Ve||t[123]!==$?(rt=(0,y.jsx)(p,{open:!0,onOpenChange:Ve,children:$}),t[122]=Ve,t[123]=$,t[124]=rt):rt=t[124],rt}function fe(e){e.preventDefault(),e.currentTarget.querySelector(`[role="radio"]`)?.focus()}function pe(e){return e.id}function me(e){let t=(0,ce.c)(24),{probe:n}=e,{_:r}=a();if(n===null){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,y.jsx)(`p`,{className:`text-1sm text-muted-foreground`,"data-testid":`consent-preview`,children:(0,y.jsx)(i,{id:`DiFKSL`})}),t[0]=e):e=t[0],e}if(!n.ok){let e=n.error,r;return t[1]===e?r=t[2]:(r=(0,y.jsx)(`p`,{className:`text-1sm text-muted-foreground`,"data-testid":`consent-preview`,children:(0,y.jsx)(i,{id:`9fvog2`,values:{errorDetail:e}})}),t[1]=e,t[2]=r),r}let o=n.truncated?`≥ 50,000`:String(n.count),s;t[3]!==r||t[4]!==o?(s=r({id:`MV-Dkb`,values:{countDisplay:o}}),t[3]=r,t[4]=o,t[5]=s):s=t[5];let c=s;if(n.sample.length===0){let e;return t[6]===c?e=t[7]:(e=(0,y.jsx)(`p`,{className:`text-1sm text-muted-foreground`,"data-testid":`consent-preview`,children:c}),t[6]=c,t[7]=e),e}let l=n.truncated?null:n.count-n.sample.length,u;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,y.jsx)(ee,{className:`size-3 transition-transform motion-reduce:transition-none`,"aria-hidden":!0}),t[8]=u):u=t[8];let d;t[9]===c?d=t[10]:(d=(0,y.jsxs)(ne,{className:`flex items-center gap-1 text-1sm text-muted-foreground hover:text-foreground [&[data-state=open]>svg]:rotate-90`,children:[u,(0,y.jsx)(`span`,{children:c})]}),t[9]=c,t[10]=d);let f;t[11]===n.sample?f=t[12]:(f=n.sample.map(S),t[11]=n.sample,t[12]=f);let p;t[13]===f?p=t[14]:(p=(0,y.jsx)(`ul`,{className:`space-y-1.5 font-mono`,children:f}),t[13]=f,t[14]=p);let m;t[15]!==n.truncated||t[16]!==l?(m=n.truncated||l!==null&&l>0?(0,y.jsx)(`p`,{className:`mt-1 italic`,children:n.truncated?(0,y.jsx)(i,{id:`5wV2qQ`}):(0,y.jsx)(i,{id:`nNYV3Y`,values:{remaining:l}})}):null,t[15]=n.truncated,t[16]=l,t[17]=m):m=t[17];let h;t[18]!==p||t[19]!==m?(h=(0,y.jsxs)(te,{className:`pt-1 pl-4 text-1sm text-muted-foreground`,children:[p,m]}),t[18]=p,t[19]=m,t[20]=h):h=t[20];let g;return t[21]!==d||t[22]!==h?(g=(0,y.jsxs)(re,{"data-testid":`consent-preview`,children:[d,h]}),t[21]=d,t[22]=h,t[23]=g):g=t[23],g}function S(e){return(0,y.jsx)(`li`,{children:e},e)}export{x as default};