@inkeep/open-knowledge 0.51.1 → 0.52.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (512) hide show
  1. package/dist/THIRD_PARTY_NOTICES.md +2 -2
  2. package/dist/{acp-harness-probe-CC4ubVJ1.mjs → acp-harness-probe-C6aHonBT.mjs} +2 -2
  3. package/dist/cli.mjs +61 -61
  4. package/dist/constants-FLf5VoJT.mjs +2 -0
  5. package/dist/index.d.mts +17 -17
  6. package/dist/index.mjs +1 -1
  7. package/dist/init-B3eO621O.mjs +638 -0
  8. package/dist/init-_151q0wb.mjs +1 -0
  9. package/dist/{launch-json-removal-Dm80Psms.mjs → launch-json-removal-CmGm0tF9.mjs} +2 -2
  10. package/dist/loader-CFKng11E.mjs +1 -0
  11. package/dist/{loader-93NFlOsA.mjs → loader-DAPg_yR9.mjs} +2 -2
  12. package/dist/{open-browser-De70N-tU.mjs → open-browser-CQP79XeJ.mjs} +2 -2
  13. package/dist/preview-BfP9Jf_p.mjs +1 -0
  14. package/dist/{preview-BY3uu_oE.mjs → preview-DJFUv75T.mjs} +2 -2
  15. package/dist/public/assets/{ActivityModeContent-Cjkui6nd.js → ActivityModeContent-inbZ6Imy.js} +1 -1
  16. package/dist/public/assets/AgentDiffPane-D79ADgrY.js +2 -0
  17. package/dist/public/assets/{AgentThreadClientBinder-BrrOZdn1.js → AgentThreadClientBinder-BFNjsn1A.js} +1 -1
  18. package/dist/public/assets/AppMenubar-CYaE7Hn6.js +1 -0
  19. package/dist/public/assets/BugReportHistory-C59fSH13.js +1 -0
  20. package/dist/public/assets/{BugReportHistoryDialog-DpBx3OAi.js → BugReportHistoryDialog-C2b4xA3d.js} +1 -1
  21. package/dist/public/assets/ChangedOutsideBadge-B70WiFvp.js +7 -0
  22. package/dist/public/assets/{CodeMirrorPropInput-D50z9yLP.js → CodeMirrorPropInput-Dk5Y6lfV.js} +3 -3
  23. package/dist/public/assets/{ConfigSharingInfoTooltip-BPA8HEYl.js → ConfigSharingInfoTooltip-4T5uhyyt.js} +1 -1
  24. package/dist/public/assets/{ConsentDialogBody-KXeO_ZFL.js → ConsentDialogBody-DfhGpXdb.js} +1 -1
  25. package/dist/public/assets/{CopyButton-DhHoiQJR.js → CopyButton-ByR_1gcU.js} +1 -1
  26. package/dist/public/assets/{DiffView-BjOsi4GM.js → DiffView-BkhkquRc.js} +1 -1
  27. package/dist/public/assets/DocumentContext-0PqIw4Mp.js +38 -0
  28. package/dist/public/assets/EditorModeToggle-Dn28eLKD.js +1 -0
  29. package/dist/public/assets/EnableSyncConfirmDialog-DHSjSooL.js +1 -0
  30. package/dist/public/assets/FeedbackForm-BhNBNOJ7.js +1 -0
  31. package/dist/public/assets/{GraphPanel-H0Dz8I1Y.js → GraphPanel-D3eqDrvs.js} +2 -2
  32. package/dist/public/assets/ImportSkillDialog-CIwaj3Ws.js +1 -0
  33. package/dist/public/assets/{LintConfigEditor-DGxetApx.js → LintConfigEditor-B8H3gshD.js} +1 -1
  34. package/dist/public/assets/ManagedArtifactProperties-CnEs-Git.js +2 -0
  35. package/dist/public/assets/ManagedArtifactProperties-diaPr-SS.js +1 -0
  36. package/dist/public/assets/McpConsentDialogBody-CmWQQsvA.js +1 -0
  37. package/dist/public/assets/{Mermaid-D-pcyGRV.js → Mermaid-BHfANkja.js} +2 -2
  38. package/dist/public/assets/{MermaidDocEditor-BDExs-LW.js → MermaidDocEditor-CJTLkZwc.js} +1 -1
  39. package/dist/public/assets/{RegisteredAgentIcon-BgDInKA9.js → RegisteredAgentIcon-gjOJZp_B.js} +1 -1
  40. package/dist/public/assets/ReportBugDialogBody-AcYxCdAP.js +3 -0
  41. package/dist/public/assets/{SchemaConfigEditor-Dbn9RObT.js → SchemaConfigEditor-DkNcAkEt.js} +1 -1
  42. package/dist/public/assets/SessionsHost-BGHy03KJ.js +2 -0
  43. package/dist/public/assets/SettingsDialogBody-BWvLQrNH.js +12 -0
  44. package/dist/public/assets/ShareBranchSwitchDialog-ClrT-3XL.js +1 -0
  45. package/dist/public/assets/ShareReceiveDialog-CGp7LdmP.js +1 -0
  46. package/dist/public/assets/{ShareReceiveMissDialog-BHMkU4HH.js → ShareReceiveMissDialog-Cg4-FLXt.js} +1 -1
  47. package/dist/public/assets/{SkillEditBanner-UvWXpguP.js → SkillEditBanner-DAXtbz8B.js} +1 -1
  48. package/dist/public/assets/{SkillOriginInline-D8kmShJA.js → SkillOriginInline-CSKIzMpb.js} +1 -1
  49. package/dist/public/assets/{SkillToolbarControls-B9upYwy8.js → SkillToolbarControls-SVwkGBOq.js} +1 -1
  50. package/dist/public/assets/SlidesToolbarControls-bvIjkbin.js +1 -0
  51. package/dist/public/assets/SourceEditor-lnGI0Y3Z.js +1 -0
  52. package/dist/public/assets/{TerminalPanel-D5dGBcUr.js → TerminalPanel-CCfioVTh.js} +1 -1
  53. package/dist/public/assets/{TerminalWindowApp-DxDcT0Nb.js → TerminalWindowApp-CNkz8ED8.js} +1 -1
  54. package/dist/public/assets/TextDocEditor-Cetftapm.js +1 -0
  55. package/dist/public/assets/ThreadView-BKPSGviS.js +10 -0
  56. package/dist/public/assets/TimelineDiffPane-Dgh-wIDe.js +2 -0
  57. package/dist/public/assets/{abnfDiagram-VRR7QNED-CQ5y3jGZ.js → abnfDiagram-VRR7QNED-By0_za11.js} +1 -1
  58. package/dist/public/assets/{agent-diff-store-ghKYlKOr.js → agent-diff-store-CKnzpnHj.js} +1 -1
  59. package/dist/public/assets/{arc-DllfmQO6.js → arc-5_RUQzQ7.js} +1 -1
  60. package/dist/public/assets/architecture-TIHT7OUA-DwJXOzeg.js +1 -0
  61. package/dist/public/assets/{architectureDiagram-ZJ3FMSHR-DEDVgPeV.js → architectureDiagram-ZJ3FMSHR-PHjEFax1.js} +1 -1
  62. package/dist/public/assets/arrow-up-right-CGe6dTck.js +1 -0
  63. package/dist/public/assets/auth-state-cache-jQDyjv8z.js +11 -0
  64. package/dist/public/assets/{badge-zHd29IKW.js → badge-DFX4S3a5.js} +1 -1
  65. package/dist/public/assets/{blockDiagram-677ZJIJ3-Biovo5Vk.js → blockDiagram-677ZJIJ3-BUuJiGZl.js} +1 -1
  66. package/dist/public/assets/{braces-B2tgJ4cu.js → braces-CJEjDc1f.js} +1 -1
  67. package/dist/public/assets/{button-RQ5o7P7w.js → button-CA0dewJJ.js} +1 -1
  68. package/dist/public/assets/{c4Diagram-LMCZKHZV-BUMbkcfU.js → c4Diagram-LMCZKHZV-D4UjQlwU.js} +1 -1
  69. package/dist/public/assets/{calendar-q3K0fDI1.js → calendar-BTcSoUWo.js} +1 -1
  70. package/dist/public/assets/{case-sensitive-Cz58rAyi.js → case-sensitive-CE1B0vR4.js} +1 -1
  71. package/dist/public/assets/channel-DPiKu0N2.js +1 -0
  72. package/dist/public/assets/check-CGfmW4da.js +1 -0
  73. package/dist/public/assets/{checkbox-DxTkAw0k.js → checkbox-vidgONxv.js} +1 -1
  74. package/dist/public/assets/{chevron-down-DmoBYxyq.js → chevron-down-DabHDQTe.js} +1 -1
  75. package/dist/public/assets/chevron-left-UUhIKmW4.js +1 -0
  76. package/dist/public/assets/chevron-right-Diamp-K_.js +1 -0
  77. package/dist/public/assets/{chevron-up-eNJS5_XA.js → chevron-up-BNZIobnQ.js} +1 -1
  78. package/dist/public/assets/chunk-2Q5K7J3B-CSqFa28W.js +1 -0
  79. package/dist/public/assets/{chunk-32BRIVSS-CJfLw0io.js → chunk-32BRIVSS-CqHtBxci.js} +1 -1
  80. package/dist/public/assets/{chunk-52WLFC77-CKUXR-Lo.js → chunk-52WLFC77-Ct--wlEg.js} +1 -1
  81. package/dist/public/assets/{chunk-5FCAYU7R-Blhoqerk.js → chunk-5FCAYU7R-D4Qemx4Q.js} +1 -1
  82. package/dist/public/assets/{chunk-5HE753X5-Be3l52OO.js → chunk-5HE753X5-AFxpbWC8.js} +1 -1
  83. package/dist/public/assets/{chunk-5JV3BV7I-COJRGdXn.js → chunk-5JV3BV7I-DQech1b8.js} +1 -1
  84. package/dist/public/assets/{chunk-5TONJI2A-6Fwn-ZXg.js → chunk-5TONJI2A-DhQn7UEA.js} +1 -1
  85. package/dist/public/assets/{chunk-5VM5RSS4-CBB7ddJZ.js → chunk-5VM5RSS4-Mk-moEej.js} +1 -1
  86. package/dist/public/assets/{chunk-7BUUIJ7U-BCqa-5nq.js → chunk-7BUUIJ7U-NgiLm4do.js} +1 -1
  87. package/dist/public/assets/{chunk-BIQX33UG-DzD4i2B0.js → chunk-BIQX33UG-BGOx5d7P.js} +1 -1
  88. package/dist/public/assets/{chunk-BO2N2NFS-KCTBsTca.js → chunk-BO2N2NFS-BD-R2P8f.js} +4 -4
  89. package/dist/public/assets/{chunk-C7G6YPKG-DxT1wdEz.js → chunk-C7G6YPKG-ETQuvHy_.js} +1 -1
  90. package/dist/public/assets/{chunk-CQNSW5MT-DFeH5OJq.js → chunk-CQNSW5MT-BtseeAyV.js} +1 -1
  91. package/dist/public/assets/{chunk-CYSBUYHQ-BnJMwkKI.js → chunk-CYSBUYHQ-BMn0BrMO.js} +1 -1
  92. package/dist/public/assets/{chunk-EMLP6XTP-MSvlJ735.js → chunk-EMLP6XTP-CMh4Lfqa.js} +1 -1
  93. package/dist/public/assets/{chunk-EX3LRPZG-DUzsTxw6.js → chunk-EX3LRPZG-9JJX2N4p.js} +1 -1
  94. package/dist/public/assets/{chunk-FWX5IMBZ-D3EMolHi.js → chunk-FWX5IMBZ-BG7sIfOm.js} +2 -2
  95. package/dist/public/assets/{chunk-HOUHSVGY-CA499J_e.js → chunk-HOUHSVGY-DZGPL4gA.js} +1 -1
  96. package/dist/public/assets/{chunk-ICXQ74PX-CNLojPkU.js → chunk-ICXQ74PX-CKtDW9ht.js} +1 -1
  97. package/dist/public/assets/{chunk-JG7HCLWE-BjvLoZ4O.js → chunk-JG7HCLWE-Bx0614Ks.js} +1 -1
  98. package/dist/public/assets/{chunk-JWPE2WC7-DKo0ygBr.js → chunk-JWPE2WC7-CTPvDarN.js} +1 -1
  99. package/dist/public/assets/{chunk-MOJQB5TN-hxtcpfx_.js → chunk-MOJQB5TN-BAhZ0kPA.js} +1 -1
  100. package/dist/public/assets/{chunk-MOZMSUNE-DQOK9LgW.js → chunk-MOZMSUNE-Cw75i_mo.js} +1 -1
  101. package/dist/public/assets/{chunk-OGEWGWER-DmUP6YIh.js → chunk-OGEWGWER-CXRXvI-G.js} +1 -1
  102. package/dist/public/assets/{chunk-OSBZ3O6U-D1WpsIpR.js → chunk-OSBZ3O6U-3rlBFXeF.js} +1 -1
  103. package/dist/public/assets/{chunk-PUDLZKDR-CQKVQESS.js → chunk-PUDLZKDR-m0_LideR.js} +1 -1
  104. package/dist/public/assets/{chunk-Q4XR5HBZ-CChmYrK9.js → chunk-Q4XR5HBZ-DtfMFxTy.js} +1 -1
  105. package/dist/public/assets/{chunk-QBLGF6JB-CgndLuEz.js → chunk-QBLGF6JB-ClgYvCDk.js} +1 -1
  106. package/dist/public/assets/{chunk-R7FJI6CG-DCv2sUq2.js → chunk-R7FJI6CG-Byfy5jLm.js} +1 -1
  107. package/dist/public/assets/{chunk-RYQCIY6F-AIaldrY4.js → chunk-RYQCIY6F-BcYiXXs_.js} +1 -1
  108. package/dist/public/assets/{chunk-U6XO7XAA-CxMMdww-.js → chunk-U6XO7XAA-BgHi1_DT.js} +1 -1
  109. package/dist/public/assets/{chunk-V7JOEXUC-CXy9SmJk.js → chunk-V7JOEXUC-87Dg_1li.js} +1 -1
  110. package/dist/public/assets/chunk-VAUOI2AC-BRgZjfPj.js +1 -0
  111. package/dist/public/assets/{chunk-VR4S4FIN-KG7H_g4c.js → chunk-VR4S4FIN-CgLu4IqR.js} +1 -1
  112. package/dist/public/assets/{chunk-WYO6CB5R-B368j75q.js → chunk-WYO6CB5R-DDQFGPZ4.js} +2 -2
  113. package/dist/public/assets/chunk-XXDRQBXY-CSo_IP1t.js +1 -0
  114. package/dist/public/assets/{chunk-YOTPTUD7-Cqb1OWoI.js → chunk-YOTPTUD7-Bb6P7QJ5.js} +1 -1
  115. package/dist/public/assets/{chunk-ZGVPDNZ5-BKdDRJat.js → chunk-ZGVPDNZ5-Cps1Smx5.js} +1 -1
  116. package/dist/public/assets/{chunk-ZIRB5QZD-CvXXd6Mf.js → chunk-ZIRB5QZD-BUb1k7IW.js} +1 -1
  117. package/dist/public/assets/classDiagram-OUVF2IWQ-B4b2FFhv.js +1 -0
  118. package/dist/public/assets/classDiagram-v2-EOCWNBFH-D-BosVMB.js +1 -0
  119. package/dist/public/assets/client-version-Bqbynb6h.js +1 -0
  120. package/dist/public/assets/{cm-theme-ChFGbVCe.js → cm-theme-NiQt8zc0.js} +1 -1
  121. package/dist/public/assets/{code-highlighter-impl-CHS525hA.js → code-highlighter-impl-Dk8zJoMV.js} +1 -1
  122. package/dist/public/assets/{collapsible-OhEmjTXw.js → collapsible-COrqeoHr.js} +1 -1
  123. package/dist/public/assets/comment-chips-WeFvqsHB.js +5 -0
  124. package/dist/public/assets/{config-provider-BIse3_Yo.js → config-provider-CvgB96vD.js} +3 -3
  125. package/dist/public/assets/{context-menu-CYgsnEgV.js → context-menu-D1MgERPo.js} +1 -1
  126. package/dist/public/assets/{cose-bilkent-JH36ORCC-CwtkHR1Y.js → cose-bilkent-JH36ORCC-B5G6WpVe.js} +1 -1
  127. package/dist/public/assets/cynefin-VYW2F7L2-DCXxsTQd.js +1 -0
  128. package/dist/public/assets/{cynefinDiagram-TSTJHNR4-LsplRO2K.js → cynefinDiagram-TSTJHNR4-xWzANYbb.js} +1 -1
  129. package/dist/public/assets/{dagre-C6VKrNvO.js → dagre-DU0bSWB3.js} +1 -1
  130. package/dist/public/assets/{dagre-VKFMJZFB-DhzjgRUZ.js → dagre-VKFMJZFB-DRyoGqzk.js} +1 -1
  131. package/dist/public/assets/{diagram-FQU43EPY-a4jh9ybB.js → diagram-FQU43EPY-nZKoVz4B.js} +1 -1
  132. package/dist/public/assets/{diagram-G47NLZAW-Jgkwuc6y.js → diagram-G47NLZAW-DPNtUg-P.js} +1 -1
  133. package/dist/public/assets/{diagram-NH7WQ7WH-Cz1HEitz.js → diagram-NH7WQ7WH-Zm853285.js} +1 -1
  134. package/dist/public/assets/{diagram-OA4YK3LP-CIcVtjXP.js → diagram-OA4YK3LP-DAhRUKgQ.js} +1 -1
  135. package/dist/public/assets/{diagram-WEI45ONY-C8wU887b.js → diagram-WEI45ONY-D3E8BHEU.js} +1 -1
  136. package/dist/public/assets/dialog-DztIj-ZS.js +5 -0
  137. package/dist/public/assets/{dist-G89kioZo.js → dist-6Kl8HTi9.js} +1 -1
  138. package/dist/public/assets/{dist-Bb1r1o6u.js → dist-B55799jR.js} +1 -1
  139. package/dist/public/assets/{dist-B0Beym3_.js → dist-BSAh-TK7.js} +1 -1
  140. package/dist/public/assets/{dist-Bx9oFJRu.js → dist-BUDkMEzD.js} +1 -1
  141. package/dist/public/assets/{dist-DMj9iIHH.js → dist-Bme5LuHX.js} +1 -1
  142. package/dist/public/assets/{dist-DY-494HN.js → dist-BvwnbioL.js} +1 -1
  143. package/dist/public/assets/{dist-D_1xxRDt.js → dist-C6lhy_gK.js} +1 -1
  144. package/dist/public/assets/{dist-DuPjpj5-.js → dist-CADCdgrq.js} +1 -1
  145. package/dist/public/assets/{dist-BOhFaMG0.js → dist-CrYLos7c.js} +1 -1
  146. package/dist/public/assets/{dist-DRg5A_HQ.js → dist-DPG-4B8V.js} +1 -1
  147. package/dist/public/assets/{dist-DL1WTl5d.js → dist-DU3mip8Z.js} +1 -1
  148. package/dist/public/assets/{dist-CR6aO28t.js → dist-DX6BuR0m.js} +1 -1
  149. package/dist/public/assets/{dist-EpVTQF77.js → dist-DbcFk_pj.js} +1 -1
  150. package/dist/public/assets/{dist-DpaqLIPT.js → dist-DmTWt7nC.js} +1 -1
  151. package/dist/public/assets/{dist-CHVHOG7X2.js → dist-DoYGOGZp.js} +4 -4
  152. package/dist/public/assets/{dist-C9uRrl_E.js → dist-DpjZjxsY.js} +1 -1
  153. package/dist/public/assets/{dist-DgRDZMLf.js → dist-Ds8NLlxa.js} +1 -1
  154. package/dist/public/assets/{dist-Bi80hc1t.js → dist-DsLZcVyZ.js} +1 -1
  155. package/dist/public/assets/{dist-DrCK4JBL.js → dist-DwFjOxj-.js} +1 -1
  156. package/dist/public/assets/{dist-CFyOS6pn.js → dist-RxK2lKIj.js} +1 -1
  157. package/dist/public/assets/{dist-By2lAhKX.js → dist-gTGB_-tT.js} +1 -1
  158. package/dist/public/assets/{dist-CXSIgvvA.js → dist-lGeJn8Qx.js} +1 -1
  159. package/dist/public/assets/doc-paths-SFSlIMRQ.js +1 -0
  160. package/dist/public/assets/documents-events-a5eIuqSk.js +1 -0
  161. package/dist/public/assets/{download-btG_KeFQ.js → download-C3PYuI1f.js} +1 -1
  162. package/dist/public/assets/{dropdown-menu-K4eCFwQy.js → dropdown-menu-CLgDYkh1.js} +1 -1
  163. package/dist/public/assets/{ebnfDiagram-CCIWWBDH-CjptFZja.js → ebnfDiagram-CCIWWBDH-BildoPpV.js} +1 -1
  164. package/dist/public/assets/{erDiagram-Q63AITRT-BYiJa_5G.js → erDiagram-Q63AITRT-CrQn__5X.js} +1 -1
  165. package/dist/public/assets/{es2015-B2hWAwcf.js → es2015-wpLRKwCl.js} +1 -1
  166. package/dist/public/assets/eventmodeling-45OFAUF4-CrAU37MM.js +1 -0
  167. package/dist/public/assets/{eye-j_4QS15C.js → eye-CSz7ogHo.js} +1 -1
  168. package/dist/public/assets/{field-9eXIpxzl.js → field-CtVP3IIV.js} +1 -1
  169. package/dist/public/assets/file-tree-adapter-oSszPvAJ.js +1 -0
  170. package/dist/public/assets/file-tree-utils-BG5IgULP.js +1 -0
  171. package/dist/public/assets/flowDiagram-23GEKE2U-BDzq_lmd.js +1 -0
  172. package/dist/public/assets/{folder-C8rE1Soy.js → folder-CopDpuy5.js} +1 -1
  173. package/dist/public/assets/{folder-config-api-Cm-dSVuA.js → folder-config-api-7-6Lsx3w.js} +1 -1
  174. package/dist/public/assets/{folder-open-CB-trByC.js → folder-open-DUSc8NL8.js} +1 -1
  175. package/dist/public/assets/follow-file-DtlRQ8jG.js +4 -0
  176. package/dist/public/assets/{form-_Bm7VdZa.js → form-dlFqxdSN.js} +1 -1
  177. package/dist/public/assets/{ganttDiagram-NO4QXBWP-TYuuGc0X.js → ganttDiagram-NO4QXBWP-D3jf9kZJ.js} +1 -1
  178. package/dist/public/assets/{git-branch-JnfmLuHd.js → git-branch-CCnsAeFH.js} +1 -1
  179. package/dist/public/assets/gitGraph-TEB2WS4Q-C3je2KR3.js +1 -0
  180. package/dist/public/assets/{gitGraphDiagram-IHSO6WYX-BrjUrrk2.js → gitGraphDiagram-IHSO6WYX-DlDGz9cq.js} +1 -1
  181. package/dist/public/assets/globals-DXwGOGPM.css +1 -0
  182. package/dist/public/assets/{graphlib-D8PlvV2o.js → graphlib-C4PVrCSd.js} +1 -1
  183. package/dist/public/assets/{hash-DKiwvmF3.js → hash-DI30zEBt.js} +1 -1
  184. package/dist/public/assets/{highlighted-body-OFNGDK62-eJrwOujA.js → highlighted-body-OFNGDK62-BRij1le7.js} +1 -1
  185. package/dist/public/assets/{history-eaFgPZWX.js → history-B1SZDFzE.js} +1 -1
  186. package/dist/public/assets/i18n-BAXNC2k8.js +1 -0
  187. package/dist/public/assets/index-Ca_TfGWK.js +2095 -0
  188. package/dist/public/assets/{info-CsTy513y.js → info-CV59RycV.js} +1 -1
  189. package/dist/public/assets/info-DKCQHKI2-CT9KyzjE.js +1 -0
  190. package/dist/public/assets/{infoDiagram-FWYZ7A6U-B6_Knuir.js → infoDiagram-FWYZ7A6U-Bl9xWhB1.js} +1 -1
  191. package/dist/public/assets/{input-group-BA2Li4LU.js → input-group-BiaQ-rIw.js} +1 -1
  192. package/dist/public/assets/{ishikawaDiagram-FXEZZL3T-CqxHoebw.js → ishikawaDiagram-FXEZZL3T-gaFrf2SM.js} +1 -1
  193. package/dist/public/assets/{journeyDiagram-5HDEW3XC-B1-3fVtR.js → journeyDiagram-5HDEW3XC-DpjawWEP.js} +1 -1
  194. package/dist/public/assets/{kanban-definition-HUTT4EX6-CdhMOBCU.js → kanban-definition-HUTT4EX6-CEd1M9Jf.js} +1 -1
  195. package/dist/public/assets/{label-BT2yjpKR.js → label-B5yNUINo.js} +1 -1
  196. package/dist/public/assets/{lib-DcrRfjuF.js → lib-Bgq5iQnh.js} +1 -1
  197. package/dist/public/assets/{lib-BHGXbMkc.js → lib-C0Wr4O8I.js} +1 -1
  198. package/dist/public/assets/{line-C0o9Fjf4.js → line-DF4qqG3z.js} +1 -1
  199. package/dist/public/assets/{linear-CjM1R4zy.js → linear-B3i0ZXFo.js} +1 -1
  200. package/dist/public/assets/lint-config-client-DPKnQGxT.js +1 -0
  201. package/dist/public/assets/{list-plus-ByOuGBSE.js → list-plus-DBdmIc6v.js} +1 -1
  202. package/dist/public/assets/{local-menu-action-bus-BKJCODnD.js → local-menu-action-bus-Cypryz6Z.js} +1 -1
  203. package/dist/public/assets/{map-Cu759seX.js → map-DtIcVWDF.js} +1 -1
  204. package/dist/public/assets/markdownlint-rule-browser-CljNGtQ4.js +1 -0
  205. package/dist/public/assets/{mcp-consent-store-CBPF1Ll9.js → mcp-consent-store-BASpxNOZ.js} +1 -1
  206. package/dist/public/assets/mermaid-GHXKKRXX-8B8K64kM.js +1 -0
  207. package/dist/public/assets/{mermaid-parser.core-DpHycRcl.js → mermaid-parser.core-ByQzJt56.js} +2 -2
  208. package/dist/public/assets/{mermaid.core-BnYdLHjl.js → mermaid.core-q87AkGda.js} +3 -3
  209. package/dist/public/assets/messages-B6vvv7H-.js +1 -0
  210. package/dist/public/assets/messages-Bf16a61t.js +1 -0
  211. package/dist/public/assets/messages-BlMkdPL-.js +1 -0
  212. package/dist/public/assets/messages-BrwWcQ1q.js +1 -0
  213. package/dist/public/assets/messages-Bsokz5p_.js +1 -0
  214. package/dist/public/assets/messages-CWnVB_17.js +1 -0
  215. package/dist/public/assets/messages-CgqvsJOb.js +1 -0
  216. package/dist/public/assets/messages-D3GzXczV.js +1 -0
  217. package/dist/public/assets/messages-DAiMiSQb.js +1 -0
  218. package/dist/public/assets/messages-DKla4fHa.js +1 -0
  219. package/dist/public/assets/messages-DhVrLKqA.js +1 -0
  220. package/dist/public/assets/{mindmap-definition-LN4V7U3C-D6FYi_vY.js → mindmap-definition-LN4V7U3C-Dn7sM2vD.js} +1 -1
  221. package/dist/public/assets/minus-D07ZsfDZ.js +1 -0
  222. package/dist/public/assets/{miss-dialog-store-DKfFwAsF.js → miss-dialog-store-sSyy54tn.js} +1 -1
  223. package/dist/public/assets/navigation-targets-CmqNPgrG.js +1 -0
  224. package/dist/public/assets/{now-Cd_fQsCQ.js → now-Bs9xiL-y.js} +1 -1
  225. package/dist/public/assets/{open-managed-artifact-tab-DflI2eed.js → open-managed-artifact-tab-ChY4GdUc.js} +1 -1
  226. package/dist/public/assets/{ordinal-oNJqAlZi.js → ordinal-CBsC_qub.js} +1 -1
  227. package/dist/public/assets/packet-7NZHBO7P-CH_5gegW.js +1 -0
  228. package/dist/public/assets/{panel-right-open-JxkSMPMb.js → panel-right-open-B66oA9M1.js} +1 -1
  229. package/dist/public/assets/{paperclip-BxFhnUjq.js → paperclip-BlKB6Xwa.js} +1 -1
  230. package/dist/public/assets/pdf-BFuk-PLE.js +54 -0
  231. package/dist/public/assets/pdf.worker-C9DGCxWN.js +1 -0
  232. package/dist/public/assets/{pdf.worker-B1D2UnXD.mjs → pdf.worker-CLesOks4.mjs} +10361 -8637
  233. package/dist/public/assets/{pegDiagram-2B236MQR-Cic2_Ooi.js → pegDiagram-2B236MQR-C05FQYWa.js} +1 -1
  234. package/dist/public/assets/{pending-receive-nav-store-yXsV1Iit.js → pending-receive-nav-store-BHhLK9ql.js} +1 -1
  235. package/dist/public/assets/pie-RZYD4A2V-aYfmJZ12.js +1 -0
  236. package/dist/public/assets/{pieDiagram-ENE6RG2P-DgqO0C3j.js → pieDiagram-ENE6RG2P-yyTCawlg.js} +1 -1
  237. package/dist/public/assets/platform-labels-glrfxkSh.js +1 -0
  238. package/dist/public/assets/progress-BdSO2c_8.js +6 -0
  239. package/dist/public/assets/{project-paths-DC6bWLUQ.js → project-paths-_w2mRvRX.js} +1 -1
  240. package/dist/public/assets/prop-types-BuByQU-C.js +1 -0
  241. package/dist/public/assets/{propagation-api-DSg7UKuw.js → propagation-api-PBYTadVM.js} +1 -1
  242. package/dist/public/assets/{quadrantDiagram-ABIIQ3AL-CC3ZGpWb.js → quadrantDiagram-ABIIQ3AL-B3sRVPYy.js} +1 -1
  243. package/dist/public/assets/radar-I7S5WNFK-DADBQ4w5.js +1 -0
  244. package/dist/public/assets/{radio-group-CmCnommQ.js → radio-group-BSCe7mNt.js} +1 -1
  245. package/dist/public/assets/railroad-3IZDKUUU-pWB1DEQS.js +1 -0
  246. package/dist/public/assets/railroad-abnf-AHOZXSZD-DyMKsKhG.js +1 -0
  247. package/dist/public/assets/railroad-ebnf-EBAXGLYW-D6s4IM0k.js +1 -0
  248. package/dist/public/assets/railroad-peg-LSFZ7HO6-BTTgV3Yi.js +1 -0
  249. package/dist/public/assets/{railroadDiagram-RFXS5EU6-DaoKPEli.js → railroadDiagram-RFXS5EU6-BU6ZoyHj.js} +1 -1
  250. package/dist/public/assets/{receive-store-DrPPaP0S.js → receive-store-BJRLpWDq.js} +1 -1
  251. package/dist/public/assets/{refresh-cw-CAV3aG7d.js → refresh-cw-DQervzDZ.js} +1 -1
  252. package/dist/public/assets/{requirementDiagram-TGXJPOKE-qmFI0ev3.js → requirementDiagram-TGXJPOKE-CUJr32-2.js} +1 -1
  253. package/dist/public/assets/{sankeyDiagram-HTMAVEWB-CYeZQsa5.js → sankeyDiagram-HTMAVEWB-bGsSEqGh.js} +1 -1
  254. package/dist/public/assets/{schema-fields-view-intent-CeZOW3HG.js → schema-fields-view-intent-DiE8NL9y.js} +1 -1
  255. package/dist/public/assets/{select-BjNoD_FX.js → select-CguJodwX.js} +1 -1
  256. package/dist/public/assets/{selection-context-BxRPPU5Z.js → selection-context-Upvq3X7n.js} +1 -1
  257. package/dist/public/assets/{separator-BKbgOjgy.js → separator-vdmCepR4.js} +1 -1
  258. package/dist/public/assets/{sequenceDiagram-DBY2YBRQ-DfXkoRwp.js → sequenceDiagram-DBY2YBRQ-d6rntmdd.js} +1 -1
  259. package/dist/public/assets/{sizeCapture-X5ZJPWSS-Bd7A4fpz.js → sizeCapture-X5ZJPWSS-CJquhL5U.js} +1 -1
  260. package/dist/public/assets/skill-actions-B0GhZcr8.js +2 -0
  261. package/dist/public/assets/skill-scope-ByxyMqpD.js +1 -0
  262. package/dist/public/assets/skills-api-CD1FoT1f.js +1 -0
  263. package/dist/public/assets/{spinner-D7fgqgRw.js → spinner-BqySY7qY.js} +1 -1
  264. package/dist/public/assets/{square-pen-hwoIfi3M.js → square-pen-Cb57Y3fg.js} +1 -1
  265. package/dist/public/assets/{src-CbX6YXDU.js → src-DGx6DijB.js} +1 -1
  266. package/dist/public/assets/{src-XHagG0Wj.js → src-DTnqSW2M.js} +1 -1
  267. package/dist/public/assets/{stateDiagram-2N3HPSRC-CCh_abZC.js → stateDiagram-2N3HPSRC-kGd_FNp8.js} +1 -1
  268. package/dist/public/assets/stateDiagram-v2-6OUMAXLB-6-zLyJUk.js +1 -0
  269. package/dist/public/assets/{swimlanes-5IMT3BWC-Dk2uoutn.js → swimlanes-5IMT3BWC-v_MAyooN.js} +2 -2
  270. package/dist/public/assets/swimlanesDiagram-G3AALYLV-BBH-ZYmT.js +8 -0
  271. package/dist/public/assets/{switch-0kSGDL9E.js → switch-B2sF5R0q.js} +1 -1
  272. package/dist/public/assets/{tabs-CjOEhhKP.js → tabs-DlmsMbtD.js} +1 -1
  273. package/dist/public/assets/tag-pill-input-D9TPdQQY.js +1 -0
  274. package/dist/public/assets/{target-navigation-intent-CqhpK9cj.js → target-navigation-intent-Dn77egCV.js} +1 -1
  275. package/dist/public/assets/{telemetry-impl-DlE3Lv5F.js → telemetry-impl-Dv6H2_tV.js} +2 -2
  276. package/dist/public/assets/telemetry-startup-BUcdYLE3.js +1 -0
  277. package/dist/public/assets/terminal-Cvoe7pfU.js +1 -0
  278. package/dist/public/assets/terminal-cli-display-ceeLXdxI.js +1 -0
  279. package/dist/public/assets/terminal-launch-events-un6YHfuE.js +1 -0
  280. package/dist/public/assets/{terminal-telemetry-BdrnMW3b.js → terminal-telemetry-DATv4VP7.js} +1 -1
  281. package/dist/public/assets/{text-viewer-languages-BmEIetCD.js → text-viewer-languages-4qbY4VOt.js} +2 -2
  282. package/dist/public/assets/{thread-client-DySYYPC9.js → thread-client-DnaLPSLV.js} +1 -1
  283. package/dist/public/assets/{timeline-definition-FHXFAJF6-tb13RhWP.js → timeline-definition-FHXFAJF6-B79HsAbT.js} +1 -1
  284. package/dist/public/assets/{toggle-group-DAYvcc1F.js → toggle-group-CZcn-1gX.js} +1 -1
  285. package/dist/public/assets/{tooltip-x7BNUa3s.js → tooltip-DHXgxWLL.js} +1 -1
  286. package/dist/public/assets/{trash-2-CSpv7np3.js → trash-2-N0ilsnnr.js} +1 -1
  287. package/dist/public/assets/treeView-QDETBFTQ-Dx6w4y7n.js +1 -0
  288. package/dist/public/assets/treemap-6X3UGDF4-BDQteRlb.js +1 -0
  289. package/dist/public/assets/{triangle-alert-xKPljhlK.js → triangle-alert-COo6wbUK.js} +1 -1
  290. package/dist/public/assets/{typing-burst-detector-COX8FDXD.js → typing-burst-detector-seDaKpRf.js} +2 -2
  291. package/dist/public/assets/{undo-2-D5cqFzyJ.js → undo-2-WGCwknr8.js} +1 -1
  292. package/dist/public/assets/uninstall-97GnPmGj.js +1 -0
  293. package/dist/public/assets/use-activity-panel-DR6Q_srT.js +1 -0
  294. package/dist/public/assets/use-apply-config-color-theme-Cwl6JTaa.js +1 -0
  295. package/dist/public/assets/use-collab-url-B6fAlmsp.js +1 -0
  296. package/dist/public/assets/{use-live-xterm-theme-CaipyTAZ.js → use-live-xterm-theme-XZ_rkAuD.js} +1 -1
  297. package/dist/public/assets/use-open-skill-CwUZqxzo.js +1 -0
  298. package/dist/public/assets/{use-popular-skills-BEpYkbxf.js → use-popular-skills-BI3UKF6g.js} +1 -1
  299. package/dist/public/assets/use-settings-route-D49weK6e.js +1 -0
  300. package/dist/public/assets/use-skill-origin-CbV3B2nV.js +1 -0
  301. package/dist/public/assets/use-skills-DWcQk94I.js +1 -0
  302. package/dist/public/assets/use-terminal-enabled-DOk0YJeH.js +1 -0
  303. package/dist/public/assets/{use-timeline-entry-diff-C9owRy-n.js → use-timeline-entry-diff--GTw5ypu.js} +1 -1
  304. package/dist/public/assets/use-workspace-DTMCKV7B.js +1 -0
  305. package/dist/public/assets/{vennDiagram-L72KCM5P-Cyp_-2xs.js → vennDiagram-L72KCM5P-CNfULt3I.js} +1 -1
  306. package/dist/public/assets/wardley-OPB4EBWU-D46U-qP9.js +1 -0
  307. package/dist/public/assets/{wardleyDiagram-EHGQE667-C5z1_r-x.js → wardleyDiagram-EHGQE667-CJYAF8du.js} +1 -1
  308. package/dist/public/assets/{wrench-yAsO-Pm9.js → wrench-CP2MIQHF.js} +1 -1
  309. package/dist/public/assets/x-DS57FvHW.js +1 -0
  310. package/dist/public/assets/{xychartDiagram-FW5EYKEG-DH9RxgRE.js → xychartDiagram-FW5EYKEG-CDXLQgim.js} +1 -1
  311. package/dist/public/index.html +162 -161
  312. package/dist/public/uninstall.html +30 -30
  313. package/dist/{repair-launch-json-aJerBRgL.mjs → repair-launch-json-DVvjguTT.mjs} +2 -2
  314. package/dist/{repair-mcp-configs-DGTO7xF0.mjs → repair-mcp-configs--mmvnnMC.mjs} +2 -2
  315. package/dist/{repair-skills-BFfQjF9F.mjs → repair-skills-CBiPGgau.mjs} +2 -2
  316. package/dist/repair-skills-D8TKPOmv.mjs +1 -0
  317. package/dist/{skill-teardown-BppNXkpR.mjs → skill-teardown-RIfU9RXJ.mjs} +2 -2
  318. package/dist/src-BGTR32Sk.mjs +1 -0
  319. package/dist/{src-CwuSSZyu.mjs → src-CLSt7s4C.mjs} +369 -368
  320. package/dist/src-DStuuia4.mjs +1 -0
  321. package/dist/{src-BDoOZy48.mjs → src-LTdZB7V7.mjs} +8 -8
  322. package/dist/start--CwVBgru.mjs +1 -0
  323. package/dist/start-BFe4OpsP.mjs +12 -0
  324. package/dist/ui-CjlnXaCK.mjs +3 -0
  325. package/dist/ui-DQkCLucF.mjs +1 -0
  326. package/dist/{write-project-skill-DHsuRyv9.mjs → write-project-skill-KUk3TJzG.mjs} +3 -3
  327. package/package.json +4 -4
  328. package/dist/constants-Cot22XLz.mjs +0 -2
  329. package/dist/init-Bw1sAHkg.mjs +0 -638
  330. package/dist/init-koQ7Wt5A.mjs +0 -1
  331. package/dist/loader-BxtW0j5I.mjs +0 -1
  332. package/dist/preview-B4x8Gv8H.mjs +0 -1
  333. package/dist/public/assets/AgentDiffPane-u-5ilTRE.js +0 -2
  334. package/dist/public/assets/AppMenubar-DzKyqu4x.js +0 -1
  335. package/dist/public/assets/BugReportHistory-mvsL4k28.js +0 -1
  336. package/dist/public/assets/ChangedOutsideBadge-BcoH6-nw.js +0 -1
  337. package/dist/public/assets/DocumentContext-CasGadtG.js +0 -38
  338. package/dist/public/assets/EditorModeToggle-6-QjT8Ga.js +0 -1
  339. package/dist/public/assets/EnableSyncConfirmDialog-CYGOKMM4.js +0 -1
  340. package/dist/public/assets/FeedbackForm-jU5fMAff.js +0 -1
  341. package/dist/public/assets/ImportSkillDialog-mMdMQEcu.js +0 -1
  342. package/dist/public/assets/ManagedArtifactProperties-5u803JAP.js +0 -2
  343. package/dist/public/assets/ManagedArtifactProperties-CutBH5nQ.js +0 -1
  344. package/dist/public/assets/McpConsentDialogBody-BB44PQE6.js +0 -1
  345. package/dist/public/assets/ReportBugDialogBody-Cedm28lz.js +0 -3
  346. package/dist/public/assets/SessionsHost-CPuk32sz.js +0 -2
  347. package/dist/public/assets/SettingsDialogBody-Cy0NXh6T.js +0 -12
  348. package/dist/public/assets/ShareBranchSwitchDialog-Co8TuLoa.js +0 -1
  349. package/dist/public/assets/ShareReceiveDialog-DHLrIRs0.js +0 -1
  350. package/dist/public/assets/SlidesToolbarControls-B_zJy_NS.js +0 -1
  351. package/dist/public/assets/SourceEditor-BYbqK1qo.js +0 -1
  352. package/dist/public/assets/TextDocEditor-GLvDavbc.js +0 -1
  353. package/dist/public/assets/ThreadView-B7F0lkW2.js +0 -10
  354. package/dist/public/assets/TimelineDiffPane-CjnN3faR.js +0 -2
  355. package/dist/public/assets/architecture-TIHT7OUA-CIR5HZsg.js +0 -1
  356. package/dist/public/assets/arrow-up-right-D_WN0VGP.js +0 -1
  357. package/dist/public/assets/auth-state-cache-Z9zb3Xiw.js +0 -11
  358. package/dist/public/assets/channel-C6KgPQqg.js +0 -1
  359. package/dist/public/assets/check-xiKupoJh.js +0 -1
  360. package/dist/public/assets/chevron-left-CiNweXA3.js +0 -1
  361. package/dist/public/assets/chevron-right-DJvandMc.js +0 -1
  362. package/dist/public/assets/chunk-2Q5K7J3B-CgG_zTm9.js +0 -1
  363. package/dist/public/assets/chunk-VAUOI2AC-ujVxk4Ze.js +0 -1
  364. package/dist/public/assets/chunk-XXDRQBXY-B7w13F3i.js +0 -1
  365. package/dist/public/assets/classDiagram-OUVF2IWQ-CrrbWSrl.js +0 -1
  366. package/dist/public/assets/classDiagram-v2-EOCWNBFH-BYbi6pvW.js +0 -1
  367. package/dist/public/assets/client-version-C6LF52yy.js +0 -1
  368. package/dist/public/assets/comment-chips-S0s83wIP.js +0 -5
  369. package/dist/public/assets/cynefin-VYW2F7L2-BdPtv88z.js +0 -1
  370. package/dist/public/assets/dialog-Bxcn1sLm.js +0 -5
  371. package/dist/public/assets/doc-paths-DEUIlKvV.js +0 -1
  372. package/dist/public/assets/documents-events-CNRzblNO.js +0 -1
  373. package/dist/public/assets/eventmodeling-45OFAUF4-ur3Hg9pT.js +0 -1
  374. package/dist/public/assets/file-tree-adapter-DYdb8QDM.js +0 -1
  375. package/dist/public/assets/file-tree-utils-CaXhxBar.js +0 -1
  376. package/dist/public/assets/flowDiagram-23GEKE2U-C1BAvCbz.js +0 -1
  377. package/dist/public/assets/follow-file-DIXrodzs.js +0 -1
  378. package/dist/public/assets/gitGraph-TEB2WS4Q-l_1SzZcb.js +0 -1
  379. package/dist/public/assets/globals-Ba8eSnNC.css +0 -1
  380. package/dist/public/assets/i18n-lVHP3BYW.js +0 -1
  381. package/dist/public/assets/index-DbydDmJw.js +0 -2097
  382. package/dist/public/assets/info-DKCQHKI2-CCDXfGhV.js +0 -1
  383. package/dist/public/assets/lint-config-client-Di_wU0g4.js +0 -1
  384. package/dist/public/assets/markdownlint-rule-browser-CepJct7F.js +0 -1
  385. package/dist/public/assets/mermaid-GHXKKRXX-C9G7CQ6h.js +0 -1
  386. package/dist/public/assets/messages-B12ABuMo.js +0 -1
  387. package/dist/public/assets/messages-BUufFcK8.js +0 -1
  388. package/dist/public/assets/messages-BV-Jgai1.js +0 -1
  389. package/dist/public/assets/messages-B_u6thtp.js +0 -1
  390. package/dist/public/assets/messages-CS-CWF8r.js +0 -1
  391. package/dist/public/assets/messages-CwQGRPEE.js +0 -1
  392. package/dist/public/assets/messages-Cwceyxby.js +0 -1
  393. package/dist/public/assets/messages-DGpodehZ.js +0 -1
  394. package/dist/public/assets/messages-DHl_AYzv.js +0 -1
  395. package/dist/public/assets/messages-DbRvxOAn.js +0 -1
  396. package/dist/public/assets/messages-DdKkPWw3.js +0 -1
  397. package/dist/public/assets/minus-H7UCODAH.js +0 -1
  398. package/dist/public/assets/navigation-targets-Dh0TaCXK.js +0 -1
  399. package/dist/public/assets/packet-7NZHBO7P-BBeRj-Du.js +0 -1
  400. package/dist/public/assets/pdf-19dxfod4.js +0 -54
  401. package/dist/public/assets/pdf.worker-Cn0IyjYR.js +0 -1
  402. package/dist/public/assets/pie-RZYD4A2V-BszLCTWh.js +0 -1
  403. package/dist/public/assets/prop-types-CLe_EOJt.js +0 -1
  404. package/dist/public/assets/radar-I7S5WNFK-CG0ShGDu.js +0 -1
  405. package/dist/public/assets/railroad-3IZDKUUU-N5ekmrCL.js +0 -1
  406. package/dist/public/assets/railroad-abnf-AHOZXSZD-DnjoKlG9.js +0 -1
  407. package/dist/public/assets/railroad-ebnf-EBAXGLYW-qDwmtJRh.js +0 -1
  408. package/dist/public/assets/railroad-peg-LSFZ7HO6-DSfMsKSD.js +0 -1
  409. package/dist/public/assets/skill-actions-Dj2NwLGa.js +0 -2
  410. package/dist/public/assets/skill-scope-BzUNaBG8.js +0 -1
  411. package/dist/public/assets/skills-api-VZRmji1_.js +0 -1
  412. package/dist/public/assets/stateDiagram-v2-6OUMAXLB-CUhlDos5.js +0 -1
  413. package/dist/public/assets/swimlanesDiagram-G3AALYLV-DHL99Ckz.js +0 -8
  414. package/dist/public/assets/tag-pill-input-GrIUFiT7.js +0 -1
  415. package/dist/public/assets/telemetry-startup-hv8lBqwj.js +0 -1
  416. package/dist/public/assets/terminal-bCsp6kPz.js +0 -1
  417. package/dist/public/assets/terminal-cli-display-DLfTA9tz.js +0 -1
  418. package/dist/public/assets/terminal-launch-events-DaPNTH_g.js +0 -1
  419. package/dist/public/assets/treeView-QDETBFTQ-DwFOcFO4.js +0 -1
  420. package/dist/public/assets/treemap-6X3UGDF4-D_-cggQd.js +0 -1
  421. package/dist/public/assets/uninstall-e3XxU518.js +0 -1
  422. package/dist/public/assets/use-activity-panel-CtHXJ4mx.js +0 -1
  423. package/dist/public/assets/use-apply-config-color-theme-Be4mSe54.js +0 -1
  424. package/dist/public/assets/use-collab-url-ChXwOaQi.js +0 -1
  425. package/dist/public/assets/use-open-skill-DASBRT-Y.js +0 -1
  426. package/dist/public/assets/use-settings-route-MF7LcF5y.js +0 -1
  427. package/dist/public/assets/use-skill-origin-qCGon4Nv.js +0 -1
  428. package/dist/public/assets/use-skills-C13KTW_J.js +0 -1
  429. package/dist/public/assets/use-terminal-enabled-r2pfLhCY.js +0 -1
  430. package/dist/public/assets/use-workspace-CEaEfKKU.js +0 -1
  431. package/dist/public/assets/wardley-OPB4EBWU-Dz0s9mBi.js +0 -1
  432. package/dist/public/assets/x-BopM5CF8.js +0 -1
  433. package/dist/repair-skills-Dz417BMs.mjs +0 -1
  434. package/dist/src-CHBsouW-.mjs +0 -1
  435. package/dist/src-DR51i3QD.mjs +0 -1
  436. package/dist/start-CHnZWFjF.mjs +0 -1
  437. package/dist/start-DDMuipA1.mjs +0 -10
  438. package/dist/ui-BBGFVQDX.mjs +0 -1
  439. package/dist/ui-CNA2d6cp.mjs +0 -3
  440. /package/dist/public/assets/{ActivityPanelDiffView-fDxLwTi2.js → ActivityPanelDiffView-GFnvFJPJ.js} +0 -0
  441. /package/dist/public/assets/{SkillModeBanner-d0ZDkWTk.js → SkillModeBanner-cMF-HPLA.js} +0 -0
  442. /package/dist/public/assets/{__vite-browser-external-D_48KNDi.js → __vite-browser-external-DD8Jl_VU.js} +0 -0
  443. /package/dist/public/assets/{agent-presence-DK_W4GTa.js → agent-presence-C3GIHDxc.js} +0 -0
  444. /package/dist/public/assets/{array-DYKIbRR-.js → array-Cf_JnmE6.js} +0 -0
  445. /package/dist/public/assets/{asset-dispatch-DsHoHhCG.js → asset-dispatch-Cz1weVX3.js} +0 -0
  446. /package/dist/public/assets/{auth-prompt-store-CyiGTt3C.js → auth-prompt-store-BYOv6_8O.js} +0 -0
  447. /package/dist/public/assets/{chunk-KEIR6QF5-Z0IgTo4K.js → chunk-KEIR6QF5-BOpPjw4C.js} +0 -0
  448. /package/dist/public/assets/{chunk-Y2CYZVJY-Bmis3P2F.js → chunk-Y2CYZVJY-Bw2nvaMQ.js} +0 -0
  449. /package/dist/public/assets/{clike-l3ublWpW.js → clike-BBEjy26W.js} +0 -0
  450. /package/dist/public/assets/{clipboard-adapter-DEJxizFj.js → clipboard-adapter-DqemxSWT.js} +0 -0
  451. /package/dist/public/assets/{colors-C77NTF6g.js → colors-CElM_Snc.js} +0 -0
  452. /package/dist/public/assets/{copilot-BdGxiVpg.js → copilot-Dh1BU6kS.js} +0 -0
  453. /package/dist/public/assets/{createLucideIcon-6iYxif1u.js → createLucideIcon-Bhw2PmPp.js} +0 -0
  454. /package/dist/public/assets/{cursor-CUtcHGV-.js → cursor-B6reg1lS.js} +0 -0
  455. /package/dist/public/assets/{cytoscape.esm-C2gIT5zZ.js → cytoscape.esm-h5J7wFxJ.js} +0 -0
  456. /package/dist/public/assets/{defaultLocale-BugBqEWo.js → defaultLocale-a-gWoIXg.js} +0 -0
  457. /package/dist/public/assets/{desktop-bridge-types-oYPdTDmz.js → desktop-bridge-types-NXCK8Pd7.js} +0 -0
  458. /package/dist/public/assets/{diff-TXhtTD_D.js → diff-CvpcR3NJ.js} +0 -0
  459. /package/dist/public/assets/{dist-Bkx5dDHT2.js → dist-B6jB2qbD2.js} +0 -0
  460. /package/dist/public/assets/{dist-1ia0sKe1.js → dist-CK4VZUF5.js} +0 -0
  461. /package/dist/public/assets/{dist-CIv09IXf.js → dist-DH4zqp8r.js} +0 -0
  462. /package/dist/public/assets/{dist-DoS8xGN6.js → dist-DUfEoSbR.js} +0 -0
  463. /package/dist/public/assets/{dist-DNiTklSL.js → dist-DvG1-wV_.js} +0 -0
  464. /package/dist/public/assets/{dist-DUWYPul7.js → dist-mv8e6dBX.js} +0 -0
  465. /package/dist/public/assets/{documents-fetch-I34CgFeh.js → documents-fetch-CV8lWh8v.js} +0 -0
  466. /package/dist/public/assets/{external-link-CHCx4FXC.js → external-link-BIMZpgNa.js} +0 -0
  467. /package/dist/public/assets/{file-tree-rename-validation-DEuNOzhg.js → file-tree-rename-validation-CCqiFGp1.js} +0 -0
  468. /package/dist/public/assets/{floating-ui.dom-C0wusa09.js → floating-ui.dom-By-yeALv.js} +0 -0
  469. /package/dist/public/assets/{format-Dx1Bv63R.js → format-I3YtNHrv.js} +0 -0
  470. /package/dist/public/assets/{gherkin-Bu_VunKM.js → gherkin-D3uEvcwv.js} +0 -0
  471. /package/dist/public/assets/{globals-BSqcs0wt.js → globals-Ctlj0TIx.js} +0 -0
  472. /package/dist/public/assets/{go-BYJ3ESi0.js → go-fa_HI4OB.js} +0 -0
  473. /package/dist/public/assets/{html-void-elements-Bkr32DGT.js → html-void-elements-C35FEqss.js} +0 -0
  474. /package/dist/public/assets/{init-B44NBVpk.js → init-B1Vy7sk-.js} +0 -0
  475. /package/dist/public/assets/{input-VnbFvuKd.js → input-BYiOK210.js} +0 -0
  476. /package/dist/public/assets/{isObject-Dhzo1ma6.js → isObject-DaQSDnzB.js} +0 -0
  477. /package/dist/public/assets/{katex-BE6VA85g.js → katex-Bbx57GnP.js} +0 -0
  478. /package/dist/public/assets/{libesm-BYxokP1G.js → libesm-DQtLkQQh.js} +0 -0
  479. /package/dist/public/assets/{lint-plugin-meta-FPoTE-0t.js → lint-plugin-meta-CKntN3M1.js} +0 -0
  480. /package/dist/public/assets/{lru-string-cache-BgNKFfCO.js → lru-string-cache-Ckr1Pjrr.js} +0 -0
  481. /package/dist/public/assets/{lua-De9v6Xwm.js → lua-D7ZxzT_Z.js} +0 -0
  482. /package/dist/public/assets/{markdownit-CIgVFnWs.js → markdownit-C1Squg6O.js} +0 -0
  483. /package/dist/public/assets/{min-CgRbfTQR.js → min-Dbr9KJ3U.js} +0 -0
  484. /package/dist/public/assets/{overlay-layers-C1Y78Wu8.js → overlay-layers-Bj-TVfKw.js} +0 -0
  485. /package/dist/public/assets/{panel-9S5Pf2VO.js → panel-CbGx_cRv.js} +0 -0
  486. /package/dist/public/assets/{panzoom.es-CebiCTnw.js → panzoom.es-BtVt9FgW.js} +0 -0
  487. /package/dist/public/assets/{parse-api-error-Mgtc4OJu.js → parse-api-error-DfesE4Y7.js} +0 -0
  488. /package/dist/public/assets/{path-DNVjzh9n.js → path-kpTbN09k.js} +0 -0
  489. /package/dist/public/assets/{perl-DAC-0-L4.js → perl-B2T_oOXa.js} +0 -0
  490. /package/dist/public/assets/{properties-BuEq0L0N.js → properties-BlzchQr8.js} +0 -0
  491. /package/dist/public/assets/{r-D6J_8GbJ.js → r-BuKMh1KL.js} +0 -0
  492. /package/dist/public/assets/{rough.esm-hH2VdTtm.js → rough.esm-CP-YPkih.js} +0 -0
  493. /package/dist/public/assets/{ruby-BulDdqGQ.js → ruby-CUkUilNJ.js} +0 -0
  494. /package/dist/public/assets/{share-metadata-rows-CBd7DuHz.js → share-metadata-rows-D5y9TY7o.js} +0 -0
  495. /package/dist/public/assets/{shell-FYbPjPiK.js → shell-DhuGq92J.js} +0 -0
  496. /package/dist/public/assets/{skeleton-BOVIbSHk.js → skeleton-D4wPMdlV.js} +0 -0
  497. /package/dist/public/assets/{sortable.esm-mqYoEMD5.js → sortable.esm-Dd5A8_XI.js} +0 -0
  498. /package/dist/public/assets/{sql-BTcd-g6A.js → sql-PCnKIGcH.js} +0 -0
  499. /package/dist/public/assets/{src-D2oHIihg.js → src-DlFhp60C.js} +0 -0
  500. /package/dist/public/assets/{startup-marks-BYurBbnW.js → startup-marks-Cdkh8q3E.js} +0 -0
  501. /package/dist/public/assets/{stex-BmYSnOnf.js → stex-PMopVeEZ.js} +0 -0
  502. /package/dist/public/assets/{swift-CnW5XUwC.js → swift-BxR8RYdU.js} +0 -0
  503. /package/dist/public/assets/{terminal-command-events-mSM3ArSl.js → terminal-command-events-DXmeHtnk.js} +0 -0
  504. /package/dist/public/assets/{textarea-D59GB_Zy.js → textarea-yZk4yd9U.js} +0 -0
  505. /package/dist/public/assets/{thread-draft-staging-BZaq81Sj.js → thread-draft-staging-BG7XGHEN.js} +0 -0
  506. /package/dist/public/assets/{timeline-diff-store-cCBpDgND.js → timeline-diff-store-DnRthkM7.js} +0 -0
  507. /package/dist/public/assets/{toml-vEnVjPi4.js → toml-nuQJU7MH.js} +0 -0
  508. /package/dist/public/assets/{trace-api-DH580DYm.js → trace-api-18gcBe0u.js} +0 -0
  509. /package/dist/public/assets/{use-installed-clis-CdB0ME5s.js → use-installed-clis-Cydpb5jd.js} +0 -0
  510. /package/dist/public/assets/{useLintConfigViewMode-C89oTBHY.js → useLintConfigViewMode-DX8l9aBY.js} +0 -0
  511. /package/dist/public/assets/{w3c-keyname-hgmz1BF7.js → w3c-keyname-Bw5giFqP.js} +0 -0
  512. /package/dist/public/assets/{workspace-paths-C2pS_Pbn.js → workspace-paths-CKUFX0v6.js} +0 -0
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-CYidjpOJ.js";import{t}from"./react-f2sANaYj.js";import{r as n}from"./dist-Nvb76hAm.js";import{t as r}from"./compiler-runtime-BfE3aGVn.js";import{po as i}from"./dist-CHVHOG7X2.js";import{n as a}from"./dist-Bkx5dDHT2.js";import{E as o,S as s}from"./skills-api-VZRmji1_.js";import{t as c}from"./use-skills-C13KTW_J.js";var l=r(),u=e(t(),1);function d(e,t,n){let r=(0,l.c)(13),[i,a]=(0,u.useState)(!1),[o,c]=(0,u.useState)(!1),[d,p]=(0,u.useState)(0),m;r[0]!==n||r[1]!==t||r[2]!==e?(m=()=>{if(!n){a(!1);return}let r=!1;return s({scope:e,name:t,dryRun:!0}).then(e=>{r||(a(e.ok&&e.updated===!0),c(e.ok&&e.gitTracked===!0))}),()=>{r=!0}},r[0]=n,r[1]=t,r[2]=e,r[3]=m):m=r[3];let h;r[4]!==n||r[5]!==t||r[6]!==d||r[7]!==e?(h=[e,t,n,d],r[4]=n,r[5]=t,r[6]=d,r[7]=e,r[8]=h):h=r[8],(0,u.useEffect)(m,h);let g;r[9]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>p(f),r[9]=g):g=r[9];let _;return r[10]!==i||r[11]!==o?(_={available:i,gitTracked:o,recheck:g},r[10]=i,r[11]=o,r[12]=_):_=r[12],_}function f(e){return e+1}function p(e,t){return e.publisher?i(e.source,e.skill??t)?.skillsUrl??null:null}function m(e){let t=e.trim();if(/^https?:\/\//i.test(t))return t.includes(`github.com`)?t.replace(/\.git$/,``):null;if(/^(?:\.|\/|~|file:|git@)/.test(t))return null;let n=/^([\w.-]+)\/([\w.-]+?)(?:\.git)?(?:\/.*)?$/.exec(t);return n?`https://github.com/${n[1]}/${n[2]}`:null}function h(e,t){return p(e,t)??e.marketplaceUrl??m(e.source)}var g=new Set;function _(e){if(!e)return!1;if(e.autoUpdate!==void 0)return e.autoUpdate;let t=e.source.trim();return t.startsWith(`/`)||t.startsWith(`.`)||t.startsWith(`~`)||t.startsWith(`file://`)||/^[A-Za-z]:[\\/]/.test(t)||t.startsWith(`\\\\`)}function v(e){let t=(0,l.c)(33),{scope:r,name:i}=e,{_:f}=n(),p=c(),m=p.status===`ready`?p.data.find(e=>e.scope===r&&e.name===i):void 0,v=m?.origin??null,y=v?/^adopt:(.+)$/.exec(v.source):null,b=y?y[1].charAt(0).toUpperCase()+y[1].slice(1):null,x=!!v&&!b,{available:S,gitTracked:C,recheck:w}=d(r,i,x),[T,E]=(0,u.useState)(!1),[D,O]=(0,u.useState)(!1),k=_(v),A=m?.modified??!1,j;t[0]!==f||t[1]!==i||t[2]!==w||t[3]!==r?(j=async function(){E(!0);let e=await s({scope:r,name:i});if(E(!1),!e.ok){a.error(f({id:`AYoYhU`,values:{0:e.error}}));return}e.updated?a.success(f({id:`YS9mSt`,values:{0:e.source,name:i}})):a.success(f({id:`ah_ekO`,values:{name:i}}));for(let t of e.warnings)a.warning(t);w()},t[0]=f,t[1]=i,t[2]=w,t[3]=r,t[4]=j):j=t[4];let M=j;(0,u.useEffect)(()=>{if(!S||!k||A||T||C)return;let e=`${r}:${i}`;g.has(e)||(g.add(e),M())});let N;t[5]!==f||t[6]!==i||t[7]!==r?(N=async function(){let e=await s({scope:r,name:i,dryRun:!0});return e.ok?!e.updated||e.upstreamBody===void 0?(a.success(f({id:`ah_ekO`,values:{name:i}})),null):{localBody:e.localBody??``,upstreamBody:e.upstreamBody}:(a.error(f({id:`AYoYhU`,values:{0:e.error}})),null)},t[5]=f,t[6]=i,t[7]=r,t[8]=N):N=t[8];let P=N,F;t[9]!==f||t[10]!==i?(F=async function(){O(!0);let e=await o({name:i});if(O(!1),!e.ok){a.error(f({id:`RO9IbI`,values:{0:e.error}}));return}a.success(f({id:`BhLPRk`,values:{name:i}}));for(let t of e.warnings)a.warning(t)},t[9]=f,t[10]=i,t[11]=F):F=t[11];let I=F,L=v?/\/plugins\/cache\/[^/]+\/([^/]+)\//.exec(v.source)??/\/plugins\/marketplaces\/([^/]+)\//.exec(v.source):null,R=v?b?f({id:`e6dMJT`,values:{harnessLabel:b}}):L?f({id:`xBFg6z`,values:{0:L[1]}}):v.source:null,z=v?new Date(v.importedAt):null,B=z&&!Number.isNaN(z.getTime())?z.toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`}):v?.importedAt??null,V=v?h(v,i):null,H=B?f({id:`9J8xNg`,values:{importedLabel:B}}):null,U;t[12]!==f||t[13]!==i||t[14]!==r?(U=async e=>{let t=await s({scope:r,name:i,setAutoUpdate:e});if(!t.ok){a.error(f({id:`fMsFdZ`,values:{0:t.error}}));return}a.success(f(e?{id:`UNwKSz`,values:{name:i}}:{id:`HAvHev`,values:{name:i}}))},t[12]=f,t[13]=i,t[14]=r,t[15]=U):U=t[15];let W=m?.revertable??!1,G;return t[16]!==k||t[17]!==x||t[18]!==R||t[19]!==C||t[20]!==A||t[21]!==v||t[22]!==P||t[23]!==M||t[24]!==T||t[25]!==I||t[26]!==D||t[27]!==V||t[28]!==H||t[29]!==U||t[30]!==W||t[31]!==S?(G={origin:v,github:V,displaySource:R,importedTitle:H,canReimport:x,updateAvailable:S,modified:A,autoUpdate:k,gitTracked:C,setAutoUpdate:U,revertable:W,reimport:M,reimporting:T,previewUpdate:P,revert:I,reverting:D},t[16]=k,t[17]=x,t[18]=R,t[19]=C,t[20]=A,t[21]=v,t[22]=P,t[23]=M,t[24]=T,t[25]=I,t[26]=D,t[27]=V,t[28]=H,t[29]=U,t[30]=W,t[31]=S,t[32]=G):G=t[32],G}export{v as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-CYidjpOJ.js";import{t}from"./react-f2sANaYj.js";import{t as n}from"./compiler-runtime-BfE3aGVn.js";import{Ht as r}from"./dist-CHVHOG7X2.js";import{t as i}from"./dist-DoS8xGN6.js";import{d as a,f as o,t as s}from"./documents-events-CNRzblNO.js";import{t as c}from"./parse-api-error-Mgtc4OJu.js";var l=n(),u=e(t(),1),d=null,f=null;function p(){return f??=fetch(`/api/skills`).then(async e=>{if(!e.ok){let t=await e.json().catch(()=>null);throw Error(c(t)??`HTTP ${e.status}`)}return e.json()}).finally(()=>{f=null}),f}function m(e){let t=(0,l.c)(9),n=e?.enabled??!0,[c,f]=(0,u.useState)(_),[m,v]=(0,u.useState)(0),y,b;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(y=()=>{let e=null,t=()=>{e&&clearTimeout(e),e=setTimeout(()=>v(g),200)},n=o(t),r=a(e=>{e.includes(`files`)&&t()});return()=>{e&&clearTimeout(e),n(),r()}},b=[],t[0]=y,t[1]=b):(y=t[0],b=t[1]),(0,u.useEffect)(y,b);let x;t[2]===n?x=t[3]:(x=()=>{if(!n)return;let e=!1;return f(h),p().then(t=>{if(e)return;let n=r.safeParse(t);if(!n.success){console.error(`[ok-skills] /api/skills response failed schema validation:`,n.error.issues),f({status:`error`,message:i._({id:`GbzBEk`})});return}d=n.data.skills,f({status:`ready`,data:n.data.skills})}).catch(t=>{e||f({status:`error`,message:t instanceof Error?t.message:String(t)})}),()=>{e=!0}},t[2]=n,t[3]=x);let S;t[4]!==n||t[5]!==m?(S=[m,n],t[4]=n,t[5]=m,t[6]=S):S=t[6],(0,u.useEffect)(x,S);let C;return t[7]===c?C=t[8]:(C=c.status===`ready`?{status:`ready`,data:s(c.data)}:c,t[7]=c,t[8]=C),C}function h(e){return e.status===`ready`?e:{status:`loading`}}function g(e){return e+1}function _(){return d===null?{status:`idle`}:{status:`ready`,data:d}}export{m as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./compiler-runtime-BfE3aGVn.js";import{t}from"./terminal-telemetry-BdrnMW3b.js";import{Ko as n}from"./dist-CHVHOG7X2.js";import{h as r}from"./use-apply-config-color-theme-Be4mSe54.js";import"./config-provider-BIse3_Yo.js";var i=e();function a(){let e=(0,i.c)(3),{projectLocalConfig:t,projectLocalSynced:n}=r(),a=t?.terminal?.enabled??null,o;return e[0]!==n||e[1]!==a?(o={enabled:a,synced:n},e[0]=n,e[1]=a,e[2]=o):o=e[2],o}function o(){let e=(0,i.c)(2),{projectLocalBinding:a}=r();if(a===null)return null;let o;return e[0]===a?o=e[1]:(o=e=>{let r=a.patch({terminal:{enabled:e}});return r.ok&&e&&t(),r.ok?{ok:!0}:{ok:!1,error:n(r.error)}},e[0]=a,e[1]=o),o}export{o as n,a as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-CYidjpOJ.js";import{t}from"./react-f2sANaYj.js";import{t as n}from"./compiler-runtime-BfE3aGVn.js";import{rn as r}from"./dist-CHVHOG7X2.js";var i=n(),a=e(t(),1);function o(){let e=(0,i.c)(3),[t,n]=(0,a.useState)(l),o,u;return e[0]===t?(o=e[1],u=e[2]):(o=()=>{if(t!==null||window.okDesktop)return;let e=!0;return fetch(`/api/workspace`).then(async t=>{let i=await t.json().catch(c);if(!e||!t.ok)return;let a=r.safeParse(i);a.success&&n({contentDir:a.data.contentDir,pathSeparator:a.data.pathSeparator})}).catch(s),()=>{e=!1}},u=[t],e[0]=t,e[1]=o,e[2]=u),(0,a.useEffect)(o,u),t}function s(e){console.warn(`[useWorkspace] /api/workspace fetch failed:`,e)}function c(){return null}function l(){return u()}function u(e=typeof window>`u`?void 0:window){if(!e)return null;let t=e.okDesktop;return t?{contentDir:t.config.projectPath,pathSeparator:t.platform===`win32`?`\\`:`/`}:null}export{o as t};
@@ -1 +0,0 @@
1
- import"./chunk-KEIR6QF5-Z0IgTo4K.js";import{n as e}from"./chunk-5FCAYU7R-Blhoqerk.js";export{e as createWardleyServices};
@@ -1 +0,0 @@
1
- import{t as e}from"./createLucideIcon-6iYxif1u.js";var t=e(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]);export{t};
@@ -1 +0,0 @@
1
- import{t as e}from"./repair-skills-BFfQjF9F.mjs";export{e as repairSkills};
@@ -1 +0,0 @@
1
- import"./src-DMpGVIiQ.mjs";import"./src-BDoOZy48.mjs";import"./acp-harness-probe-CC4ubVJ1.mjs";import"./init-Bw1sAHkg.mjs";import"./write-project-skill-DHsuRyv9.mjs";import{n as e}from"./loader-93NFlOsA.mjs";import"./skill-teardown-BppNXkpR.mjs";import"./preview-BY3uu_oE.mjs";import"./mcp-migrate-event-BsswfOLm.mjs";export{e as loadConfig};
@@ -1 +0,0 @@
1
- import{Go as e,Gs as t,Ho as n,Ko as r,P as i,R as a,cs as o,d as s,l as c,os as l,vs as u}from"./src-DMpGVIiQ.mjs";import{$ as d,$i as f,$n as p,$r as m,$t as h,A as g,Ai as _,An as v,Ar as y,At as b,B as x,Bi as S,Bn as C,Bt as w,C as T,Ca as E,Ci as D,Cn as O,Cr as k,Ct as A,D as j,Di as M,Dn as N,Dr as P,Dt as F,E as I,Ea as L,Ei as R,En as z,Er as B,Et as V,F as H,Fi as U,Fn as W,Fr as G,Ft as K,G as q,Gi as J,Gn as Y,Gr as X,Gt as Z,H as Q,Hi as $,Hn as ee,Ht as te,I as ne,Ii as re,In as ie,Ir as ae,It as oe,J as se,Ji as ce,Jn as le,Jr as ue,Jt as de,K as fe,Ki as pe,Kn as me,Kr as he,Kt as ge,L as _e,Li as ve,Ln as ye,Lr as be,Lt as xe,M as Se,Mi as Ce,Mn as we,Mr as Te,Mt as Ee,N as De,Ni as Oe,Nn as ke,Nr as Ae,Nt as je,O as Me,Oi as Ne,On as Pe,Or as Fe,Ot as Ie,P as Le,Pi as Re,Pn as ze,Pr as Be,Pt as Ve,Q as He,Qi as Ue,Qn as We,Qr as Ge,Qt as Ke,R as qe,Ri as Je,Rn as Ye,Rr as Xe,Rt as Ze,S as Qe,Sa as $e,Si as et,Sn as tt,Sr as nt,St as rt,T as it,Ta as at,Ti as ot,Tn as st,Tr as ct,Tt as lt,U as ut,Ui as dt,Un as ft,Ut as pt,V as mt,Vi as ht,Vn as gt,Vt as _t,W as vt,Wi as yt,Wn as bt,Wr as xt,Wt as St,X as Ct,Xi as wt,Xn as Tt,Xr as Et,Xt as Dt,Y as Ot,Yi as kt,Yn as At,Yr as jt,Yt as Mt,Z as Nt,Zi as Pt,Zn as Ft,Zr as It,Zt as Lt,_ as Rt,_a as zt,_i as Bt,_n as Vt,_r as Ht,_t as Ut,a as Wt,aa as Gt,ai as Kt,an as qt,ar as Jt,at as Yt,b as Xt,ba as Zt,bi as Qt,bn as $t,br as en,bt as tn,c as nn,ca as rn,ci as an,cn as on,cr as sn,d as cn,da as ln,di as un,dn,dr as fn,ea as pn,ei as mn,en as hn,er as gn,et as _n,f as vn,fa as yn,fi as bn,fn as xn,fr as Sn,g as Cn,ga as wn,gi as Tn,gn as En,gr as Dn,gt as On,h as kn,ha as An,hi as jn,hn as Mn,hr as Nn,ht as Pn,i as Fn,ia as In,ii as Ln,in as Rn,ir as zn,it as Bn,j as Vn,ji as Hn,jn as Un,jr as Wn,jt as Gn,k as Kn,ki as qn,kn as Jn,kr as Yn,kt as Xn,l as Zn,la as Qn,li as $n,ln as er,lr as tr,m as nr,ma as rr,mi as ir,mn as ar,mr as or,mt as sr,n as cr,na as lr,ni as ur,nn as dr,nr as fr,nt as pr,o as mr,oa as hr,oi as gr,on as _r,or as vr,ot as yr,p as br,pa as xr,pi as Sr,pn as Cr,pr as wr,q as Tr,qi as Er,qn as Dr,qr as Or,qt as kr,r as Ar,ra as jr,ri as Mr,rn as Nr,rr as Pr,rt as Fr,s as Ir,sa as Lr,si as Rr,sn as zr,sr as Br,st as Vr,t as Hr,ta as Ur,ti as Wr,tn as Gr,tr as Kr,tt as qr,u as Jr,ua as Yr,ui as Xr,un as Zr,ur as Qr,v as $r,va as ei,vi as ti,vn as ni,vr as ri,vt as ii,w as ai,wa as oi,wn as si,wr as ci,wt as li,x as ui,xa as di,xi as fi,xn as pi,xr as mi,xt as hi,y as gi,ya as _i,yi as vi,yn as yi,yr as bi,yt as xi,z as Si,zi as Ci,zn as wi,zt as Ti}from"./src-CwuSSZyu.mjs";import{C as Ei,E as Di,T as Oi,_ as ki,b as Ai,c as ji,d as Mi,g as Ni,i as Pi,l as Fi,m as Ii,n as Li,p as Ri,s as zi,t as Bi,u as Vi,v as Hi,w as Ui,x as Wi,y as Gi}from"./fs-traced-RPXwxrA5.mjs";import{a as Ki,d as qi,f as Ji,i as Yi,l as Xi,n as Zi,r as Qi,t as $i,u as ea}from"./logger-CnfEoHs1.mjs";import{C as ta,S as na,_ as ra,a as ia,c as aa,d as oa,g as sa,h as ca,i as la,l as ua,m as da,n as fa,o as pa,p as ma,r as ha,s as ga,t as _a,u as va,v as ya,y as ba}from"./server-lock-BV0Ktccm.mjs";export{zt as AGENT_ID_MAX_LEN,ei as AGENT_ID_RE,Oe as AGENT_WRITE_ORIGIN,oi as AcpPermissionStore,di as AcpRegistry,Ne as AcpThreadManager,R as AgentFocusBroadcaster,ot as AgentPresenceBroadcaster,Re as AgentSessionCapacityError,U as AgentSessionManager,Pn as AutoStartDisabledError,ci as BUNDLE_IDS,ct as BUNDLE_SCOPE,B as BUNDLE_SKILL_NAME,p as BacklinkIndex,J as CC1Broadcaster,o as CC1_CONTRACT_VERSION,Zr as CONFIG_FILENAME,Dr as CONFLICT_MARKER_RE,he as CURSOR_BUNDLE_PATHS_BY_PLATFORM,Rt as ConfigSchema,Pt as DEFAULT_CHECKPOINT_RETENTION,un as DEFAULT_EMBEDDINGS_DIMENSIONS,K as DEFAULT_PACK_ID,mt as DocumentDurabilityState,bn as EMBEDDINGS_API_KEY_ENV,ni as ExposureConsentError,$e as FEATURED_AGENT_IDS,Ue as FILE_SYSTEM_WRITER,Ft as FILE_WATCHER_ORIGIN,Kt as FileEmbeddingsBackend,Lt as GIT_PREFLIGHT_FAIL_SPAN_NAME,f as GIT_UPSTREAM_WRITER,at as GitDirAccessError,h as GitNotAvailableError,hn as GitTooOldError,On as HOCUSPOCUS_AUTH_REJECTION_REASONS,Ut as HocuspocusAuthRejection,ii as HocuspocusAuthTokenSchema,Ge as INSTALLED_AGENTS_SCHEMES,l as LINEAGE_EPOCH_KEY,qe as LIVE_DERIVED_INDEX_DEBOUNCE_MS,oe as LOG_MD_TEMPLATE,lt as MANAGED_RENAME_ORIGIN,qn as MAX_ACP_THREADS,re as MAX_AGENT_SESSIONS,Hn as MCP_CONNECTION_ID_HEADER,n as MCP_SERVER_NAME,ve as MIN_EVICTABLE_IDLE_MS,Gr as MIN_GIT_VERSION,Q as MISSING_OK_CONFIG_MESSAGE,L as MalformedGitPointerError,_n as McpLogger,ut as MissingOkConfigError,Ci as OBSERVER_SYNC_ORIGIN,dn as OK_OKIGNORE_TEMPLATE,e as ORPHAN_MODES,t as PROTOCOL_VERSION,$i as PinoLogger,aa as ProcessLockCollisionError,Zn as ProjectGitInitError,V as ROLLBACK_ORIGIN,xn as ROOT_GITIGNORE_TEMPLATE,ra as RUNTIME_VERSION,st as RemoteConfigError,pn as SERVICE_WRITER,bi as SKILL_INSTALL_EVENTS_FILE_REL,i as SKILL_STATE_TARGETS,xe as STARTER_FOLDERS,Ze as STARTER_FOLDER_FRONTMATTER_FILENAME,Ti as STARTER_PACKS,w as STARTER_PACK_IDS,_t as STARTER_TEMPLATES,it as STATE_MANIFEST_FILENAME,ya as STATE_SCHEMA_VERSION,u as SYSTEM_DOC_NAME,kr as SeedPrerequisiteError,de as SeedRootDirError,_a as ServerLockCollisionError,Hr as SingleFileNotAFileError,cr as SingleFileNotFoundError,Ar as SingleFileNotMarkdownError,I as StateManifestError,We as TagIndex,P as USER_GLOBAL_BUNDLE_IDS,Kr as UiLockCollisionError,F as __getShowAllWalkStatsForTesting,Ie as __resetShowAllWalkStatsForTesting,ua as acquireProcessLock,fa as acquireServerLock,fr as acquireUiLock,Je as applyAgentMarkdownWrite,Y as applyExternalChange,Ve as applySeed,j as assertCompatibleStateManifest,dr as assertGitAvailable,ke as assertNeverDiskEvent,M as attachAcpThreadSocket,sr as attachIdleShutdown,$r as bootServer,vr as buildAndOpenSkill,Cr as buildConfigYmlContent,Ot as buildExecResult,yi as buildIngressPolicy,_ as buildOkMcpStdioCommand,mi as buildSkillZip,te as buildStarterFolderFrontmatterYaml,Ur as buildWipTree,Fe as bundleSkillMdPath,gr as canonicalProjectKey,ze as classifyEvents,Bi as classifyFsPath,Rr as clearAllEmbeddingsKeys,ir as clearContributors,pt as coercePackId,c as colorFromSeed,lr as commitUpstreamImport,jr as commitWip,In as commitWipFromTree,Nr as compareSemver,Wn as composeEffectiveLinterConfig,Te as composeFrontmatterSchemasConfig,le as containsConflictMarkers,W as contentHash,jn as contributorCount,Le as countShadowObjects,H as countStaleAgentWipRefs,ne as countWipRefs,Xn as createApiExtension,li as createAssetServeMiddleware,q as createCollaborationHost,xt as createContentFilter,X as createContentFilterAsync,an as createEmbeddingsSecretStore,Fn as createEphemeralProjectDir,me as createExternalChangeHandler,vn as createFileLogger,Si as createLiveDerivedIndexExtension,Tr as createMcpHttpHandler,m as createOsProbe,De as createPersistenceExtension,T as createServer,Vn as createServerObserverExtension,$ as createStreamingErrorWriter,Zi as createTestLogger,$n as describeStoredEmbeddingsKey,Cn as detectClaudeDesktopPresence,Rn as detectGit,Me as detectProjectShape,Br as detectUserSkillHosts,Fr as discoverLockDirs,G as discoverMarkdownlintConfig,Ke as emitPreflightFailureSpan,Ct as encodeDocName,Nt as encodeFolderRoute,He as encodeSkillRoute,Jr as ensureProjectGit,ar as ensureProjectSkillGitignore,dt as errorResponse,ie as evictStaleTrackerEntries,b as extractHeadings,Bn as extractOkBinaryPath,gn as extractWikiLinksFromMarkdown,qt as fallbackPaths,cn as findEnclosingGitRoot,Un as findEnclosingProjectRoot,ae as findNativeMarkdownlintFile,br as flushFileLogger,xi as formatAuthRejectionWire,Tn as formatContributors,Bt as formatContributorsFrom,Ee as formatPackRationale,Gt as gcCheckpointRefs,qr as getCurrentMcpLogger,$t as getIngressContext,fi as getLocalDir,nr as getLogFilePath,Qi as getLogger,kn as getLogsDir,ba as getMachineId,Gi as getMeter,yn as getMetrics,Ai as getTracer,xr as handleCollabSocketError,Or as handleSpawnCursor,z as hasForwardingHeaders,_e as hasGcLogLatch,s as iconFromClientName,rr as incrementCollabSocketFilteredError,An as incrementServerObserverFire,Mn as initContent,hr as initShadowRepo,Wi as initTelemetry,Xt as initToleranceTelemetryWriter,Vr as installPrettyZodErrors,Yi as installTestLoggers,sn as installUserSkill,si as isAllowedApiOrigin,Jn as isAllowedWorkspaceHostHeader,pe as isConfigDoc,tn as isHocuspocusAuthRejectionReason,pi as isHostAdmitted,St as isKnownPackId,Er as isLinkIndexExcludedDoc,v as isLoopbackAddress,ce as isManagedArtifactDoc,tt as isOriginAdmitted,r as isOrphanMode,S as isPairedWriteOrigin,ue as isPathWithinDir,O as isPeerAdmitted,na as isProcessAlive,we as isProjectRoot,N as isRemoteAdmitted,kt as isReservedForUserTree,ye as isSelfWrite,wt as isSystemDoc,ui as isToleranceTelemetryEnabled,ta as isValidLockPid,Ye as lastKnownHash,Lr as listRescueCheckpoints,Z as listStarterPacks,E as loadCustomAgents,Se as loadPrincipal,va as lockBaseUrl,oa as lockFilePath,Ki as loggerFactory,Xi as logsCurrentPath,ea as logsPreviousPath,Xr as makeLazyEmbeddingsKeyStore,ha as markServerLockDraining,vt as mountMcpAndApi,Li as normalizeFsPath,Yn as originGitHubHost,En as packageVersionMajorMinor,hi as parseAuthRejectionWire,_r as parseGitVersion,rt as parseHocuspocusAuthToken,fe as parseKeepaliveConnectionId,wi as pathToDocName,je as planSeed,Wt as prepareSingleFileOpen,Yt as processCommand,yr as processUsage,Qr as readAllTargets,fn as readBundleDecision,be as readOwnNativeRules,ma as readProcessLock,da as readProcessLockDetailed,x as readProjectHeadState,Ln as readProjectLocalSemanticConfig,la as readServerLock,Sn as readServerPackageVersion,wr as readSkillInstallStateSnapshot,Kn as readStateManifest,or as readTargetRecordedAt,Nn as readTargetVersion,Pr as readUiLock,At as reconcile,ti as recordContributor,en as recordSkillInstallEvent,se as registerAllTools,C as registerWrite,ca as releaseProcessLock,ia as releaseServerLock,zn as releaseUiLock,gt as removeLastKnownHash,tr as reportSkillInstall,wn as resetMetrics,a as resolveBundleEnabled,nt as resolveBundledSkillDir,et as resolveContentDir,jt as resolveCursorBinaryDefault,Et as resolveCursorSpawnInvocation,Ae as resolveEffectiveLinterConfig,Sr as resolveEmbeddingsCredential,D as resolveLockDir,Be as resolveNativeConfigForDoc,Xe as resolveNativeMarkdownlintConfig,ge as resolvePack,Ir as resolvePackageVersion,Pe as resolveRemoteAccess,ri as resolveSkillInstallReportSettings,d as resolveUiInfo,vi as restoreContributors,gi as restoreLifecycleFromConflictsJson,ur as rewriteMarkdownLinksForDocumentRename,Mr as rewriteWikiLinksForDocumentRename,zr as runAuthReposSubprocess,on as runAuthStatusSubprocess,Mt as runCloneSubprocess,er as runDeviceFlowSubprocess,pr as runWithMcpLogger,Wr as safeContentPath,Gn as safeSubdir,rn as safetyCheckpoint,Ce as sanitizeClientName,Qn as saveInMemoryCheckpoint,Yr as saveVersion,A as seedBasenameIndex,mr as serializeError,Ei as setActiveSpanAttributes,ht as setupServerObservers,ln as shadowGit,Ui as shutdownTelemetry,qi as spansCurrentPath,Ji as spansPreviousPath,It as spawnDetached,Tt as splitMarkdownBlocks,ee as startWatcher,yt as streamingProblemEvent,Qt as swapContributors,Qe as teardownToleranceTelemetryWriter,_i as toBroadcasterKey,Pi as tracedAppendFileSync,zi as tracedLinkSync,ji as tracedMkdir,Fi as tracedMkdirSync,Vi as tracedRename,Mi as tracedRenameSync,Ri as tracedRmSync,Ii as tracedRmdirSync,Ni as tracedUnlinkSync,ki as tracedWriteFile,Hi as tracedWriteFileSync,ai as trustSystemCertificates,nn as untrackTrackedProjectSkillProjection,ft as updateLastKnownHash,sa as updateProcessLockPort,pa as updateServerLockPort,Jt as updateUiLockPort,Zt as validateAgentId,Dt as validateCloneInputs,k as validateSkillZip,ga as waitForServerLockDrain,mn as withHiddenWindowsConsole,Oi as withSpan,Di as withSpanSync,Dn as writeBundleDecision,y as writeMarkdownlintRule,Vt as writeRootGitignoreForNewRepo,g as writeStateManifest,Ht as writeTargetVersion,bt as writeTracker};
@@ -1 +0,0 @@
1
- import{D as e,g as t,r as n,v as r}from"./start-DDMuipA1.mjs";export{n as bootStartServer,t as resolveBundledReactShellDir,r as resolveHost,e as startCommand};
@@ -1,10 +0,0 @@
1
- import{M as e}from"./sleep-ChZE9826.mjs";import{As as t,Fs as n,Is as r,Ls as i,Ns as a,Q as o,Y as s}from"./src-DMpGVIiQ.mjs";import{Mn as c,a as l,ui as u}from"./src-CwuSSZyu.mjs";import{n as d,r as f,t as p}from"./esm-DmX1RzAi.mjs";import{a as m,c as h,d as g,i as _,o as v,r as y,t as b}from"./acp-harness-probe-CC4ubVJ1.mjs";import{n as ee}from"./constants-Cot22XLz.mjs";import{spawn as x}from"node:child_process";import{basename as S,join as C,posix as w,resolve as T}from"node:path";import{closeSync as E,existsSync as D,mkdirSync as O,openSync as k}from"node:fs";import{rm as A}from"node:fs/promises";import{setTimeout as j}from"node:timers/promises";function M(e){return w.join(w.dirname(e),`..`,`Frameworks`,`OpenKnowledge Server.app`,`Contents`,`MacOS`,`OpenKnowledge Helper`)}const N=/\/[^/]+\.app\/Contents\/MacOS\/[^/]+$/;function P(e){if(e.platform!==`darwin`||!N.test(e.execPath))return null;let t=M(e.execPath);return e.exists(t)?t:null}function F(e={}){let t=e.execPath??process.execPath,n=e.platform??process.platform,r=e.argv??process.argv,i=e.exists??D,a=r[1];return a?{command:P({execPath:t,platform:n,exists:i})??t,prefixArgs:[a]}:(console.warn(`[self-spawn] process.argv[1] is empty — falling back to \`npx -y @inkeep/open-knowledge@latest\`. This re-introduces the registry-fetch surface that re-exec was fixing. Observed argv: ${JSON.stringify(r)}`),{command:`npx`,prefixArgs:[`-y`,`@inkeep/open-knowledge@latest`]})}function I(e,t){return e.bind?.[0]??e.host??t.HOST??`127.0.0.1`}function L(e){if(e===`ui`||e===`server`)return e;throw new d(`--only must be 'ui' or 'server'`)}function R(e=D){let t=import.meta.dirname??new URL(`.`,import.meta.url).pathname;return[T(t,`public`),T(t,`../../app/dist`),T(t,`../../../app/dist`)].find(t=>e(t))}function z(e){if(e.explicitDir!==void 0)return{dir:e.explicitDir,missingBundle:!1};if(e.only===`server`||e.uiPortSet&&!e.remoteEnabled)return{dir:void 0,missingBundle:!1};let t=e.findBundledDir();return{dir:t,missingBundle:t===void 0}}function B(t){if(t===`off`)return`off`;if(!e.test(t))throw new d(`--idle-shutdown must be 'off' or a duration like 90s, 30m, 2h`);return t}function V(e){return e===`localhost`||e===`::1`||e===`[::1]`||e.startsWith(`127.`)}function te(e){return!e.flagBindSet&&!e.okBindSet&&e.hostEnvSet&&e.fileBindCount>1}function ne(e){return!e.openBrowser||e.remoteEnabled||e.ephemeral||e.only===`server`||!e.servesUi?!1:e.legacyOpen?!0:(e.explicitOn||V(e.host))&&e.isTTY}function re(e,t){return t&&(e===`::`||e===`::1`||e===`[::1]`||e===`localhost`||e===`0.0.0.0`)?{host:`127.0.0.1`,coerced:!0}:{host:e,coerced:!1}}function ie(e){let t=S(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var H=class extends Error{cwd;constructor(e){super("This directory isn't set up yet. Run `ok init` first, then `ok start` again."),this.name=`OkDirMissingError`,this.cwd=e}};function U(e){return e.uiLock?e.isAlive(e.uiLock.pid)?{action:`skip`,reason:`alive`,pid:e.uiLock.pid,port:e.uiLock.port}:{action:`spawn`,reason:`stale`,stalePid:e.uiLock.pid}:{action:`spawn`,reason:`absent`}}function W(e){D(e.lockDir)||O(e.lockDir,{recursive:!0});let t=k(C(e.lockDir,o),`w`),n=e.spawn??x,{PORT:r,...i}=process.env,a=F();try{let r=n(a.command,[...a.prefixArgs,...e.args??[`ui`]],{detached:!0,stdio:[`ignore`,`ignore`,t],windowsHide:!0,cwd:e.cwd,env:{...i,ELECTRON_RUN_AS_NODE:`1`}});return r.unref(),r}finally{try{E(t)}catch{}}}function ae(e,t,n,r=!1){return e??(n!==void 0||r?void 0:t)}function oe(e,t){return e!==void 0&&t!==null&&t.port>0&&t.draining!==!0}function G(e,t,n){return e??+(t!=null&&!n)}async function K(e){let t=e.spawn??x,n=F(),{PORT:r,...i}=process.env,a=t(n.command,[...n.prefixArgs,`ui`,`--port`,String(e.uiPort)],{cwd:e.cwd,stdio:`inherit`,windowsHide:!0,env:{...i,ELECTRON_RUN_AS_NODE:`1`}}),o=!1,s=e=>{o=!0;try{a.kill(e)}catch{}},c=()=>s(`SIGINT`),l=()=>s(`SIGTERM`);process.once(`SIGINT`,c),process.once(`SIGTERM`,l),await new Promise(e=>{a.on(`exit`,(t,n)=>{process.exitCode=G(t,n,o),e()}),a.on(`error`,t=>{console.error(`[start] connect fallback: failed to spawn ok ui — ${t instanceof Error?t.message:String(t)}`),process.exitCode=1,e()})}),process.removeListener(`SIGINT`,c),process.removeListener(`SIGTERM`,l)}async function q(e){let t=e.now()+e.timeoutMs;for(;e.now()<t;){let t=e.readUiLock();if(t&&t.port>0)return t.port;await e.sleep(e.pollIntervalMs)}let n=e.readUiLock();return n&&n.port>0?n.port:null}const se=s;function J(e,t,n=e=>A(e,{recursive:!0,force:!0})){return async()=>{try{await e()}finally{try{await n(t)}catch(e){process.stderr.write(`[start] ephemeral temp dir reap failed for ${t}: ${e instanceof Error?e.message:String(e)}\n`)}}}}function Y(e,t={}){let n=t.exit??(e=>process.exit(e)),r=t.getActiveHandles??(()=>{let e=process._getActiveHandles;return e?e.call(process):null});return async()=>{let i=!1;try{await e()}catch(e){i=!0,t.log?.error({err:e},`idle-shutdown: destroy failed — exiting anyway`)}finally{let e=null;try{let t=r();if(t!==null){e={};for(let n of t){let t=n?.constructor?.name??`unknown`;e[t]=(e[t]??0)+1}}}catch{e=null}t.log?.info({event:`idle-shutdown-exit`,exitCode:+!!i,openHandles:e??{},handlesAvailable:e!==null},`idle-shutdown: teardown finished — exiting process`),n(+!!i)}}}async function X(e){let t=e.sigtermGraceMs??se,n=e.sigtermPollIntervalMs??200,r=e.sleep??(e=>j(e)),i=e.reason??`teardown`;try{let a=e.readUiLock(),o=e.spawnedUiPid();if(a&&e.isAlive(a.pid)&&a.pid!==o)e.log?.info({pid:a.pid,port:a.port,spawnedUiPid:o},`${i}: ui.lock holder is not our spawned sibling — leaving it alone`);else if(a&&e.isAlive(a.pid))try{e.killPid(a.pid,`SIGTERM`),e.log?.info({pid:a.pid,port:a.port},`${i}: SIGTERM UI sibling`);let o=Date.now()+t;for(;Date.now()<o&&e.isAlive(a.pid);)await r(n);if(e.isAlive(a.pid))try{e.killPid(a.pid,`SIGKILL`),e.log?.warn({pid:a.pid,graceMs:t},`${i}: SIGTERM grace expired — escalated to SIGKILL`)}catch(t){e.log?.error({pid:a.pid,err:t},`${i}: SIGKILL failed`)}}catch(t){e.log?.warn({pid:a.pid,err:t},`${i}: failed to SIGTERM UI sibling`)}}catch(t){e.log?.warn({err:t},`${i}: UI lookup failed; proceeding`)}}function Z(e){let{destroy:t,...n}=e;return async()=>{await X({...n,reason:`idle-shutdown`}),await t()}}async function ce(e){let{config:t,cwd:n,host:r}=e,i=e.skipAutoInit??!1,a=e.skipUiAutoSpawn??!1,o=e.idleThresholdMs===void 0?18e5:e.idleThresholdMs,{existsSync:s,mkdirSync:d}=await import(`node:fs`),{basename:f,dirname:p}=await import(`node:path`),{bootServer:m,getLogger:_,isProcessAlive:v,readUiLock:y,resolveContentDir:ee,resolveLockDir:x,waitForServerLockDrain:S}=await import(`./src-DR51i3QD.mjs`),C=e.log??_(`start`),w=e.singleFile!==void 0,T=e.projectDir??n,E=w?l(e.singleFile).canonicalFilePath:void 0,D=E?p(E):void 0,O=E?f(E):void 0;if(!w){if(!i&&!c(n))throw new H(n);let t=process.env.OK_RECLAIM_DISABLE??null,r=e=>{let t=typeof e.event==`string`?e.event:``;(t.endsWith(`-failed`)||t.endsWith(`-error`)||t.endsWith(`-missing`))&&C.warn({event:e},`[start] reclaim sweep reported a problem`)};try{(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-DGTO7xF0.mjs`)).repairMcpConfigs)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){C.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-aJerBRgL.mjs`)).repairLaunchJson)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){C.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}try{await(e.repairSkillsFn??(await import(`./repair-skills-Dz417BMs.mjs`)).repairSkills)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){C.warn({err:e},`[start] skill repair sweep failed; continuing`)}}let k=D??ee(t,n);!w&&!s(k)&&(d(k,{recursive:!0}),C.info({contentDir:k},`Created content directory`));let A=null,M=null,N=async({lockDir:t})=>{if(A=U({uiLock:y(t),isAlive:v}),A.action===`spawn`&&!a)try{let r=e.uiPort===void 0?void 0:[`ui`,`--port`,String(e.uiPort)];M=W({lockDir:t,cwd:n,spawn:e.spawn,args:r}).pid??null,C.info({reason:A.reason,uiPort:e.uiPort},`[start] auto-spawned ok ui sibling`)}catch(e){console.warn(`[start] failed to auto-spawn ok ui: ${e instanceof Error?e.message:String(e)}`)}else A.action===`skip`&&C.info({port:A.port,pid:A.pid},`UI already running at port ${A.port}`)},P=e.reactShellDistDir===void 0,F=g(),I=u();{let e=x(w?T:n),t=Date.now(),r=await S(e);r!==`no-drain`&&C.info({event:`start-waited-for-draining-predecessor`,outcome:r,waitedMs:Date.now()-t,drainLockDir:e},r===`released`?`[start] predecessor server finished draining — proceeding`:`[start] predecessor server still draining after wait — proceeding to collide`)}let L=await m({config:t,contentDir:k,projectDir:w?T:n,contentRoot:w?void 0:t.content.dir,port:e.port,host:r,...e.enableRemote===!0?{enableRemote:!0}:{},quiet:!1,detectGh:h,tokenStore:F,embeddingsKeyStore:I,...w?{ephemeral:!0,singleDocRelPath:O,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],probeHarnessManagedMcpEntry:(e,t)=>b(e,t),attachUiSibling:P,idleShutdownMs:o,...e.serverRuntime===void 0?{}:{serverRuntime:e.serverRuntime},...e.bind===void 0?{}:{bind:e.bind},skipAutoInit:!0,...P?{spawnUiSiblingFn:N}:{},idleShutdownHandler:t=>{let n=Z({readUiLock:()=>y(L.lockDir),spawnedUiPid:()=>M,isAlive:v,killPid:(e,t)=>{process.kill(e,t)},destroy:t,log:C});return Y(w?J(n,T):n,{log:C,exit:e.idleExit})},log:C,...e.serveContentAssets===void 0?{}:{serveContentAssets:e.serveContentAssets},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{}});A||={action:`skip`,reason:`alive`,pid:0,port:0};let R=A,z=null;if(R.action===`skip`)z=R.port>0?R.port:null;else if(!a){let t=e.uiBindTimeoutMs??3e3;z=await q({readUiLock:()=>y(L.lockDir),now:Date.now,sleep:e=>j(e),timeoutMs:t,pollIntervalMs:50}),z===null&&C.warn({timeoutMs:t},`[start] ok ui did not bind within timeout — banner falls back to API URL`)}return{httpServer:L.httpServer,destroy:L.destroy,lockDir:L.lockDir,contentDir:k,port:L.port,ready:L.ready,degraded:L.degraded,uiSpawnDecision:A,spawnedUiPid:M,resolvedUiPort:z}}function le(e){if(e===`browser`||e===`app`)return e;throw new d(`--mode must be 'browser' or 'app'`)}function ue(e){let t=Number.parseInt(e,10);if(Number.isNaN(t)||t<1||t>65535)throw new d(`--ui-port must be a port number between 1 and 65535`);return t}function de(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function fe(e){let t=[`Stopping OpenKnowledge…`,`Saving pending changes and releasing the server lock — this can take a few seconds.`];return e===`SIGINT`&&t.push(`Press Ctrl+C again to force quit.`),t}async function pe(e,o){let s=de(process.env);s!==null&&(process.env.OK_CONSOLE_LEVEL=s);let{renderBanner:c}=await import(`./banner-B6HYYw6k.mjs`),{accent:l,dim:u,error:d,warning:f}=await import(`./colors-MGDi6UGf.mjs`),p=process.cwd(),m=o.remote!==void 0&&o.remote!==!1,h=typeof o.remote==`string`?o.remote:void 0,g=h===void 0?e:{...e,remote:{...e.remote,url:h}};process.title=ie(p),m&&(typeof g.remote?.url!=`string`||g.remote.url===``)&&(console.error(d("--remote requires a public tunnel URL — pass it (`ok start --remote https://<your-tunnel-host>`) or set remote.url in .ok/config.yml.")),process.exit(78)),m&&console.warn(f([``,`⚠ REMOTE ACCESS ENABLED — no server-side authentication.`,` Anyone who can reach ${g.remote?.url} has FULL control of this`,` knowledge base, including sync, publishing, credentials, and local operations.`,` Restrict who can reach it at the tunnel: ngrok OAuth, Cloudflare Access,`,` Tailscale ACLs, or equivalent edge auth.`,``].join(`
2
- `)));let _;try{_=i(process.env)}catch(e){throw e instanceof n&&(console.error(d(e.message)),process.exit(78)),e}for(let e of _.diagnostics)console.warn(f(`[config] ${e.message}`));let v=r(g,_.layer),y=_.overrides.some(e=>e.envVar===`OK_BIND`),b=o.bind!==void 0&&o.bind.length>0?o.bind:o.host===void 0?void 0:[o.host],x=process.env.HOST,S=x!==void 0&&x.trim()!==``?x:void 0,C=a(v),w=b??(y||S===void 0?[...C.bind]:[S]);te({flagBindSet:b!==void 0,okBindSet:y,hostEnvSet:S!==void 0,fileBindCount:C.bind.length})&&console.warn(f(`[config] HOST=${S} overrides server.bind — dropping the file-configured addresses (${C.bind.join(`, `)}). Use OK_BIND with a space-separated list to keep multiple binds.`));let T=w[0]??`127.0.0.1`,E=re(T,m);E.coerced&&console.warn(`remote access is enabled and ${T} is not an IPv4 loopback bind — tunnels proxy to 127.0.0.1, so binding ${T} would leave the tunnel dialing a dead port. Using 127.0.0.1.`);let D=E.host,O=m?[D]:w,k=a(r(v,{server:{bind:O}}));if(!m&&k.allowExternal&&(!k.loopbackOnly||k.publicUrl)){let e=k.publicUrl??k.bind.join(`, `);console.warn(f([``,`⚠ EXTERNAL ACCESS ENABLED (server.allowExternal) — no server-side authentication.`,` This server is reachable beyond this machine (${e}). Anyone who can`,` reach it has FULL control of this knowledge base — sync, publishing, GitHub`,` credentials, and local operations (clone, sign-in, repo spawn).`,` Restrict who can reach it at the edge: a Tailscale ACL, a reverse proxy with`,` auth (Cloudflare Access, oauth2-proxy), or a firewall.`,``].join(`
3
- `)))}let A=o.port===void 0?void 0:Number(o.port),M=_.overrides.find(e=>e.envVar===`PORT`)?.value,N=o.uiPort===void 0?void 0:Number(o.uiPort),P=a(g).port,F=g.server?.port;m&&A===void 0&&M!==void 0&&console.warn(`remote access is enabled — ignoring env PORT=${process.env.PORT}; the tunnel's port mapping targets the stable remote port (${P??24550}). Pass --port to override deliberately.`);let I=ae(A,M,N,m)??(m?P??24550:F);if(N!==void 0){let{readServerLock:e,resolveLockDir:t}=await import(`./src-DR51i3QD.mjs`);if(oe(N,e(t(p)))){await K({cwd:p,uiPort:N});return}}let L=z({explicitDir:o.reactShellDistDir,only:o.only,uiPortSet:N!==void 0,remoteEnabled:m,findBundledDir:R}),B=L.dir;L.missingBundle&&console.warn(m?`remote access: bundled web UI not found — serving /mcp and /api only over the tunnel.`:`bundled web UI not found — serving /api and /mcp only. Reinstall @inkeep/open-knowledge, or build packages/app in a source checkout.`);let V;try{V=await ce({config:g,cwd:p,host:D,port:I,bind:O,...N===void 0?{}:{uiPort:N},...o.serveContentAssets===void 0?{}:{serveContentAssets:o.serveContentAssets},...B?{reactShellDistDir:B}:{},...o.only===`server`||L.missingBundle?{skipUiAutoSpawn:!0}:{},idleThresholdMs:t(o.idleShutdown??k.idleShutdown),serverRuntime:k,...o.singleFile?{singleFile:o.singleFile}:{},...o.projectDir?{projectDir:o.projectDir}:{},...m?{enableRemote:!0}:{}})}catch(e){e instanceof H&&(console.error(d(e.message)),process.exit(1));let t=await import(`./src-DR51i3QD.mjs`);if((e instanceof t.GitNotAvailableError||e instanceof t.GitTooOldError)&&process.exit(78),e instanceof t.RemoteConfigError&&(console.error(d(e.message)),process.exit(78)),e instanceof t.ExposureConsentError&&(console.error(d(e.message)),process.exit(78)),(e instanceof t.SingleFileNotFoundError||e instanceof t.SingleFileNotAFileError||e instanceof t.SingleFileNotMarkdownError)&&(console.error(d(e.message)),process.exit(1)),N!==void 0&&$(e,t)){await K({cwd:p,uiPort:N});return}if(N===void 0&&$(e,t)){let e=t.resolveLockDir(p),n=null;try{n=await Q({readServerLock:()=>t.readServerLock(e),readUiLock:()=>t.readUiLock(e),now:Date.now,sleep:e=>j(e),timeoutMs:3e3,pollIntervalMs:50})}catch(e){process.stderr.write(`[start] spawn-or-reuse: lock poll failed (${e instanceof Error?e.message:String(e)}) — falling back to the collision message\n`)}if(n!==null){let[e,...t]=me(n);console.log(l(e));for(let e of t)console.log(u(e));process.exit(0)}}let n=he(e,p,t);n!==null&&(console.error(d(n)),process.exit(1)),console.error(`${d(`Failed to start:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exit(1)}let U=!1,W=async e=>{if(U)return;U=!0;let[t,...n]=fe(e);console.log(l(`\n${t}`));for(let e of n)console.log(u(` ${e}`));if(V.spawnedUiPid!==null)try{let{getLogger:e,isProcessAlive:t,readUiLock:n}=await import(`./src-DR51i3QD.mjs`);await X({readUiLock:()=>n(V.lockDir),spawnedUiPid:()=>V.spawnedUiPid,isAlive:t,killPid:(e,t)=>process.kill(e,t),log:e(`start`),reason:`shutdown`})}catch(e){console.error(`${d(`ui sibling teardown failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`)}try{await V.destroy()}catch(e){console.error(`${d(`destroy() failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exitCode=1}process.exit(process.exitCode??0)};process.once(`SIGINT`,()=>{W(`SIGINT`)}),process.once(`SIGTERM`,()=>{W(`SIGTERM`)});let G=D.includes(`:`)&&!D.startsWith(`[`)?`[${D}]`:D,q=`http://${G}:${V.port}`,se=D===`0.0.0.0`||D===`::`?`http://0.0.0.0:${V.port}`:void 0,J=V.resolvedUiPort,Y=J!==null&&J>0?`http://${G}:${J}`:q;console.log(c({name:`open-knowledge`,version:ee,localUrl:Y,apiUrl:Y===q?void 0:q,networkUrl:se,nextSteps:[`Open the Editor URL in your browser to start editing.`]}));let Z={"shadow-repo":`Version history and branch-switch safety unavailable`,"file-watcher":`External file changes will not sync to the editor`,"head-watcher":`Git branch switches may cause document inconsistency`};V.ready.then(async()=>{if(V.degraded.length>0){console.log();for(let e of V.degraded){let t=Z[e]??`${e} (check server logs for details)`;console.warn(` ${f(`⚠`)} ${f(e)}: ${u(t)}`)}console.log()}if(ne({openBrowser:o.openBrowser!==!1&&k.openBrowser,explicitOn:o.openBrowser!==!1&&v.server?.openBrowser===!0,legacyOpen:o.open===!0,host:D,isTTY:process.stdout.isTTY===!0,remoteEnabled:m,ephemeral:o.singleFile!==void 0,only:o.only,servesUi:B!==void 0})){let{openBrowser:e}=await import(`./open-browser-De70N-tU.mjs`);e(Y)}}).catch(e=>{console.error(` ${d(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})}async function Q(e){let t=e.now()+e.timeoutMs,n=e.readServerLock();for(;n!==null&&n.draining!==!0&&n.port<=0&&e.now()<t;)await e.sleep(e.pollIntervalMs),n=e.readServerLock();if(n===null||n.draining===!0||n.port<=0)return null;if(n.capabilities?.includes(`ui`)===!0&&n.url!==void 0)return{url:n.url,kind:n.kind,pid:n.pid,servesUi:!0};let r=e.readUiLock();return r!==null&&r.port>0?{url:r.url??`http://localhost:${r.port}`,kind:n.kind,pid:n.pid,servesUi:!1}:{url:n.url??`http://127.0.0.1:${n.port}`,kind:n.kind,pid:n.pid,servesUi:!1}}function me(e){return[`${e.kind===`mcp-spawned`?`An MCP-spawned OpenKnowledge server is already running on this project`:`OpenKnowledge is already running on this project`} (pid ${e.pid}).`,` ${e.url}`,"Leaving it running — run `ok stop` first if you want a fresh server."]}function $(e,t){let n=t.ServerLockCollisionError;return n!==void 0&&e instanceof n}function he(e,t,n){let r=n.ServerLockCollisionError;if(r===void 0||!(e instanceof r))return null;try{let e=n.readServerLock(n.resolveLockDir(t));return e&&e.kind===`mcp-spawned`?"An MCP-spawned server holds this lock; it should release on idle-shutdown (~30 min). Or run `ok stop`.":"OpenKnowledge server is already running on this project — check `ok status` or `ok stop`."}catch{return null}}function ge(e){return new p(`start`).description(`Start the OpenKnowledge server (UI + API + MCP + collab on one port)`).option(`-p, --port <port>`,`Server port`,void 0).option(`--ui-port <port>`,`Pin the ok ui sibling to <port> and connect (not exit) if a server already runs here — the worktree-preview recipe path`,ue).option(`--bind <address>`,`Bind address (repeatable; default 127.0.0.1 — loopback only)`,(e,t)=>[...t??[],e]).addOption(new f(`-H, --host <host>`,`Deprecated alias of --bind`).hideHelp()).option(`--no-open-browser`,`Do not open the browser after start (interactive loopback starts open it by default)`).addOption(new f(`--open`,`Deprecated: force-open the browser after start`).hideHelp()).option(`--only <module>`,`Serve one module: 'server' (API + MCP only, no shell or browser) or 'ui' (shell + proxy only; requires --server-url)`,L).option(`--server-url <url>`,`Project-server URL the --only ui process proxies to (e.g. http://127.0.0.1:24550)`).option(`--idle-shutdown <duration>`,`Shut the server down after this long with no connected clients ('off', or a duration like 90s, 30m, 2h; default 30m)`,B).option(`--mode <mode>`,`Force dispatch mode: 'browser' or 'app'`,le).option(`--serve-content-assets`,`Serve content assets from this server (now the default; kept for compatibility)`).option(`--react-shell-dist-dir <path>`,`Serve React shell from <path> (suppresses ok ui sibling)`).option(`--single-file <path>`,`No-project ephemeral single-file mode: scope the server to one markdown file (git + MCP off)`).option(`--project-dir <dir>`,`Throwaway project root for --single-file (where ephemeral .ok/ state lives)`).option(`--remote [url]`,`Serve through a tunnel: admit requests carrying the tunnel Host with NO server-side auth (anyone who can reach the URL has full control — restrict access at the tunnel with edge auth). Bare --remote uses remote.url from .ok/config.yml; --remote <url> supplies it for this run.`).action(async t=>{let n=e();if(t.serverUrl!==void 0&&t.only!==`ui`&&(process.stderr.write(`error: option '--server-url' requires '--only ui'
4
- `),process.exit(2)),t.only===`server`&&t.reactShellDistDir!==void 0&&(process.stderr.write(`error: option '--only server' cannot be combined with '--react-shell-dist-dir'
5
- `),process.exit(2)),t.only===`ui`){t.serverUrl===void 0&&(process.stderr.write(`error: '--only ui' requires '--server-url <url>' (where the project server runs)
6
- `),process.exit(2)),t.mode===`app`&&(process.stderr.write(`error: option '--only ui' cannot be combined with '--mode app'
7
- `),process.exit(2)),t.remote!==void 0&&t.remote!==!1&&(process.stderr.write(`error: option '--only ui' cannot be combined with '--remote'
8
- `),process.exit(2));let{runUiCommand:e}=await import(`./ui-BBGFVQDX.mjs`);await e(n,{...t.port===void 0?{}:{port:String(t.port)},...t.bind?.[0]===void 0?t.host===void 0?{}:{host:t.host}:{host:t.bind[0]},upstreamUrl:t.serverUrl});return}if(t.mode===`app`){t.open&&(process.stderr.write(`error: option '--mode=app' cannot be combined with '--open' (--open opens a browser tab against the local server, which app mode does not boot)
9
- `),process.exit(2));let e=[];if(t.port!==void 0&&e.push(`--port`),t.uiPort!==void 0&&e.push(`--ui-port`),t.bind!==void 0&&e.push(`--bind`),t.host!==void 0&&e.push(`--host`),t.only!==void 0&&e.push(`--only`),t.serverUrl!==void 0&&e.push(`--server-url`),t.idleShutdown!==void 0&&e.push(`--idle-shutdown`),t.openBrowser===!1&&e.push(`--no-open-browser`),e.length>0){let t=process.env.OK_LOG_LEVEL??`info`;(t===`debug`||t===`trace`)&&console.error(`--mode=app: ignoring ${e.join(`, `)}`)}let n=_(y());if(n.available){m({spawn:x},n);return}console.error(v(n.reason)),process.exit(1)}await pe(n,t)})}export{J as A,oe as C,ge as D,W as E,F as M,X as O,pe as S,te as T,ae as _,re as a,de as b,U as c,fe as d,V as f,R as g,L as h,Z as i,Y as j,he as k,ie as l,B as m,q as n,G as o,$ as p,ce as r,K as s,H as t,me as u,I as v,ne as w,z as x,Q as y};
10
- //# sourceMappingURL=start-DDMuipA1.mjs.map
@@ -1 +0,0 @@
1
- import{c as e}from"./ui-CNA2d6cp.mjs";export{e as runUiCommand};
@@ -1,3 +0,0 @@
1
- import{Q as e,it as t,tt as n}from"./sleep-ChZE9826.mjs";import{Ro as r,Ya as i,st as a}from"./src-DMpGVIiQ.mjs";import{An as o,kn as s,wn as c}from"./src-CwuSSZyu.mjs";import{t as l}from"./esm-DmX1RzAi.mjs";import{randomUUID as u}from"node:crypto";import{createServer as d,request as f}from"node:http";import{connect as p}from"node:net";function m(e,t,n,r,a){let o=`urn:uuid:${u()}`;if(e.headersSent||e.writableEnded||e.destroyed){console.error(`[ok ui] emitProblem called after headers sent — suppressed`,{type:n,status:t,instance:o});return}let s={type:n,title:r,status:t,instance:o,...a===void 0?{}:{detail:a}},c=i.safeParse(s);if(!c.success){console.error(`[ok ui] emitProblem produced an invalid ProblemDetails body:`,{issues:c.error.issues,originalStatus:t,body:s}),e.writeHead(500,{"Content-Type":`application/problem+json`,"X-Content-Type-Options":`nosniff`,"Cache-Control":`no-store`}),e.end(JSON.stringify({type:`urn:ok:error:internal-server-error`,title:`Internal server error.`,status:500,instance:o}));return}e.writeHead(t,{"Content-Type":`application/problem+json`,"X-Content-Type-Options":`nosniff`,"Cache-Control":`no-store`}),e.end(JSON.stringify(s))}const h=1e4;function g(e,t){let n=e.socket?.remoteAddress;if(n!==void 0&&!o(n))return m(t,403,`urn:ok:error:loopback-required`,`Request must originate from a loopback address.`),!0;if(!s(e.headers.host))return m(t,403,`urn:ok:error:host-not-allowed`,`Host header is not in the loopback allowlist.`),!0;let r=e.headers.origin;return r!==void 0&&!c(r)?(m(t,403,`urn:ok:error:invalid-origin`,`Origin header is not in the loopback allowlist.`),!0):!1}const _=3e4;function v(e,t){let n=e.socket?.remoteAddress;if(n!==void 0&&!o(n)||!s(e.headers.host))return t.destroy(),!0;let r=e.headers.origin;return typeof r==`string`&&!c(r)?(t.destroy(),!0):!1}function y(e,t,n,r,i,a){a.add(t),t.once(`close`,()=>a.delete(t));let o=p({host:r,port:i,timeout:h});a.add(o),o.once(`close`,()=>a.delete(o));let s=!1,c=n=>{if(!s){if(s=!0,n!==void 0){let t=n.err;console.warn(JSON.stringify({event:n.event,upstreamHost:r,upstreamPort:i,url:e.url,code:t instanceof Error?t.code:void 0,message:t instanceof Error?t.message:void 0}))}try{o.destroy()}catch{}try{t.destroy()}catch{}}};o.once(`connect`,()=>{o.setTimeout(0);let a=[`${e.method??`GET`} ${e.url??`/`} HTTP/1.1`,`host: ${r}:${i}`];for(let[t,n]of Object.entries(e.headers))if(t.toLowerCase()!==`host`&&n!==void 0)if(Array.isArray(n))for(let e of n)a.push(`${t}: ${e}`);else a.push(`${t}: ${n}`);try{o.write(`${a.join(`\r
2
- `)}\r\n\r\n`),n.length>0&&o.write(n)}catch(e){c({event:`proxy-upgrade-handshake-write-failed`,err:e});return}o.on(`data`,e=>{t.writable&&t.write(e)}),t.on(`data`,e=>{o.writable&&o.write(e)})}),o.once(`timeout`,()=>{c({event:`proxy-upgrade-upstream-connect-timeout`})}),o.on(`error`,e=>c({event:`proxy-upgrade-upstream-error`,err:e})),t.on(`error`,e=>c({event:`proxy-upgrade-client-error`,err:e})),o.once(`close`,()=>c()),t.once(`close`,()=>c())}const b=[`connection`,`keep-alive`,`proxy-authenticate`,`proxy-authorization`,`te`,`trailer`,`transfer-encoding`,`upgrade`,`cookie`,`set-cookie`];async function x(e){let t=e.upstreamTimeoutMs??h,n=new Set,r=d((n,r)=>{g(n,r)||S(n,r,e.upstreamHost,e.upstreamPort,t)});r.on(`upgrade`,(t,r,i)=>{v(t,r)||y(t,r,i,e.upstreamHost,e.upstreamPort,n)}),await new Promise((t,n)=>{let i=e=>n(e);r.once(`error`,i),r.listen(e.listenPort,e.host,()=>{r.off(`error`,i),t()})});let i=r.address();return{httpServer:r,port:typeof i==`object`&&i?i.port:e.listenPort,close:()=>new Promise(e=>{for(let e of n)try{e.destroy()}catch{}n.clear(),r.close(()=>e()),r.closeIdleConnections()})}}function ee(e,t,n){S(e,t,n.upstreamHost,n.upstreamPort,n.upstreamTimeoutMs??h)}function S(e,t,n,r,i){let a={...e.headers};delete a.host;for(let e of b)delete a[e];e.setTimeout(_,()=>{if(t.headersSent)try{t.end()}catch{}else try{m(t,408,`urn:ok:error:request-timeout`,`Proxy request exceeded the per-request deadline.`,`Slow-loris-class: client did not finish within ${_/1e3}s.`)}catch{}try{e.socket?.destroy()}catch{}});let o=f({host:n,port:r,method:e.method,path:e.url,headers:{...a,host:`${n}:${r}`}},e=>{let n={...e.headers};for(let e of b)delete n[e];t.writeHead(e.statusCode??502,n),e.pipe(t),e.once(`error`,()=>{try{t.end()}catch{}})});i>0&&o.setTimeout(i,()=>{if(!t.headersSent)m(t,504,`urn:ok:error:gateway-timeout`,`Upstream did not respond before the gateway deadline.`,`Upstream timeout: ${i/1e3}s elapsed without a response.`);else try{t.end()}catch{}o.destroy()}),o.on(`error`,()=>{if(!t.headersSent)m(t,502,`urn:ok:error:collab-server-not-running`,`Collab server is unreachable.`,`Upstream connection failed or dropped before a response was received.`);else try{t.end()}catch{}}),e.on(`error`,()=>{o.destroy()}),e.pipe(o)}const C=720*60*1e3,w=39847;async function T(e){await Promise.all(e.map(e=>new Promise(t=>{e.close(()=>t())})))}function E(e){let t;try{t=new URL(e)}catch{throw Error(`Invalid --server-url '${e}' — expected e.g. http://127.0.0.1:24550`)}if(t.protocol!==`http:`)throw Error(`--server-url must be http: (got '${t.protocol}//') — the UI proxy speaks plain HTTP; terminate TLS at your ingress`);let n=t.port===``?80:Number(t.port);return{host:t.hostname.replace(/^\[(.+)\]$/,`$1`),port:n}}async function D(i){let{existsSync:o}=await import(`node:fs`),{createServer:s}=await import(`node:http`),{resolve:c}=await import(`node:path`),{acquireUiLock:l,createAssetServeMiddleware:u,createContentFilter:d,readServerLock:f,releaseUiLock:p,updateUiLockPort:h}=await import(`./src-DR51i3QD.mjs`),{default:_}=await import(`./build-BcDJ6qQ2.mjs`),{resolveContentDir:b,resolveLockDir:x}=await import(`./src-DR51i3QD.mjs`),S=b(i.config,i.cwd),C=x(i.cwd);l(C,{port:0,worktreeRoot:i.cwd});let w=import.meta.dirname??new URL(`.`,import.meta.url).pathname,T=[c(w,`public`),c(w,`../../app/dist`),c(w,`../../../app/dist`)],D=i.assetDir??T.find(e=>o(e)),k=D?_(D,{single:!0,gzip:!0,etag:!0,dev:!0,extensions:[]}):null,A=o(S)?u({contentFilter:d({projectDir:i.cwd,contentDir:S}),contentSirv:_(S,{dotfiles:!1,dev:!0,extensions:[]}),inlineExtensions:t,assetExtensions:e,blocklistExtensions:n}):null,j=i.upstreamUrl===void 0?null:E(i.upstreamUrl),M=()=>{if(j!==null)return j;let e=f(C);return!e||e.port<=0?null:{host:r,port:e.port}},N=i.port,P=null,F=(e,t)=>{let n=e.url?.split(`?`)[0];if((n===`/`||n===``)&&(e.url=`/index.html`),!(n?.startsWith(`/api/`)&&g(e,t))){if(n===`/api/config`&&(e.method===`GET`||e.method===`HEAD`)){P?.();let n=e.headers.host??`localhost:${N}`,r=M()===null?null:`ws://${n}/collab`,i=JSON.stringify({collabUrl:r,previewUrl:null,port:N});t.setHeader(`Content-Type`,`application/json`),t.setHeader(`Cache-Control`,`no-store`),t.setHeader(`X-Content-Type-Options`,`nosniff`),t.statusCode=200,e.method===`HEAD`?t.end():t.end(i);return}if(n?.startsWith(`/api/`)){P?.();let r=M();if(r===null){m(t,503,`urn:ok:error:collab-server-not-running`,"Collab server not running. Start `ok start` or run `ok status`.",`Path: ${n}`);return}ee(e,t,{upstreamHost:r.host,upstreamPort:r.port});return}if(k&&n?.startsWith(`/assets/`)){k(e,t,()=>{A?A(e,t,()=>O(t)):O(t)});return}if(A){A(e,t,()=>{k?k(e,t):O(t)});return}if(k){k(e,t);return}O(t)}},I=new Set,L=(e,t,n)=>{if(v(e,t))return;let r=e.url?.split(`?`)[0]??``;if(r!==`/collab`&&!r.startsWith(`/collab/`)){t.destroy();return}let i=M();if(i===null){console.warn(JSON.stringify({event:`ok-ui-upgrade-no-collab-lock`,url:r,reason:"server.lock missing or port unbound — is `ok start` running?"})),t.destroy();return}y(e,t,n,i.host,i.port,I)},R=()=>{for(let e of I)try{e.destroy()}catch{}I.clear()},z=i.host===void 0?[`::1`,`127.0.0.1`]:[i.host],B=[],V=i.port,te=e=>e instanceof Error&&e.code===`EADDRINUSE`,H=async()=>{await Promise.all(B.splice(0).map(e=>new Promise(t=>{try{e.close(()=>t())}catch{t()}})))},U=async e=>{V=e;for(let e of z){let t=s(F);t.on(`upgrade`,L),B.push(t),await new Promise((n,r)=>{let i=e=>r(e);t.once(`error`,i),t.listen(V,e,()=>{t.off(`error`,i);let e=t.address();typeof e==`object`&&e&&(V=e.port),n()})})}};try{try{await U(i.port)}catch(e){if(i.fallbackToKernel===!0&&te(e))await H(),await U(0);else throw e}}catch(e){await H();try{p(C)}catch{}throw e}let W=V;N=W,h(C,W,`http://localhost:${W}`);let G=i.scheduler??a,K=i.safetyNetMs??432e5,q=null,J=!1,Y=!1,X=()=>{J||(J=!0,q!==null&&(G.clearTimeout(q),q=null))},Z=()=>{if(X(),!Y){Y=!0;try{p(C)}catch{}}},Q=()=>{J||K<=0||(q!==null&&(G.clearTimeout(q),q=null),q=G.setTimeout(()=>{q=null,console.warn(`[ui] safety-net (${K}ms) reached — shutting down (D-025 backstop)`);try{i.onSafetyNet?.()}catch{}R();for(let e of B)try{e.close()}catch{}Z()},K))},$=()=>{J||K<=0||Q()};return P=$,Q(),{httpServers:B,port:W,release:Z,detachSafetyNet:X,nudgeSafetyNet:$,drainUpgradeSockets:R}}function O(e){e.headersSent||e.writableEnded||e.destroyed||(e.setHeader(`X-Content-Type-Options`,`nosniff`),e.setHeader(`Cache-Control`,`no-store`),e.statusCode=404,e.end())}function k(e,t){if(e!==void 0){let t=Number.parseInt(e,10);if(Number.isNaN(t)||t<0||t>65535)throw Error(`Invalid --port value '${e}'`);return{port:t,fallbackToKernel:!1}}if(t!==void 0&&t!==``){let e=Number.parseInt(t,10);if(Number.isNaN(e)||e<0||e>65535)throw Error(`Invalid PORT env value '${t}'`);return{port:e,fallbackToKernel:!1}}return{port:w,fallbackToKernel:!0}}async function A(e){let t=e.readLock??(async()=>{let{readUiLock:t}=await import(`./src-DR51i3QD.mjs`);return t(e.lockDir)}),n=await t();if(!n)throw Error(`UI lock collision reported but the lock disappeared before handling — retry acquiring.`);if(n.port===e.requestedPort&&n.port>0)return{mode:`already-running`,port:n.port};let r=n.port;if(r===0){let n=Date.now()+(e.pollDeadlineMs??2e3),i=e.pollIntervalMs??100;for(;Date.now()<n;){await new Promise(e=>{setTimeout(e,i)});let e=await t();if(e&&e.port>0){r=e.port;break}}if(r===0)throw Error("UI did not bind within 2s; run `ok clean`");if(r===e.requestedPort)return{mode:`already-running`,port:r}}return{mode:`proxy`,handle:await x({listenPort:e.requestedPort,host:e.host,upstreamHost:`localhost`,upstreamPort:r}),upstreamPort:r}}async function j(e,t){let{dim:n}=await import(`./colors-MGDi6UGf.mjs`),{UiLockCollisionError:r}=await import(`./src-DR51i3QD.mjs`),{resolveLockDir:i}=await import(`./src-DR51i3QD.mjs`),a=t.host;if(t.upstreamUrl!==void 0)try{E(t.upstreamUrl)}catch(e){console.error(e instanceof Error?e.message:String(e)),process.exit(2)}let o;try{o=k(t.port,process.env.PORT)}catch(e){console.error(e instanceof Error?e.message:String(e)),process.exit(2)}let s=o.port;try{let r=await D({config:e,cwd:process.cwd(),port:s,fallbackToKernel:o.fallbackToKernel,host:a,...t.upstreamUrl===void 0?{}:{upstreamUrl:t.upstreamUrl}}),i=a===void 0||a===`::`||a===`0.0.0.0`?`localhost`:a;console.log(`${n(`[ui]`)} listening on http://${i}:${r.port}`);let c=!1,l=e=>{if(c)return;c=!0,console.log(n(`\n[ui] Shutting down (${e})`)),r.detachSafetyNet();let t=()=>{try{r.release()}finally{process.exit(process.exitCode??0)}};r.drainUpgradeSockets(),T(r.httpServers).then(t,t),setTimeout(t,2e3).unref()};process.once(`SIGINT`,()=>l(`SIGINT`)),process.once(`SIGTERM`,()=>l(`SIGTERM`));return}catch(e){if(!(e instanceof r))throw e;let t=i(process.cwd()),o=a??`localhost`,c;try{c=await A({requestedPort:s,host:o,lockDir:t})}catch(e){console.error(e instanceof Error?e.message:String(e)),process.exit(1)}if(c.mode===`already-running`){if(console.log(`UI already running at http://${o}:${c.port}`),N(process)){await new Promise(e=>{let t=t=>{console.log(n(`\n[ui-keepalive] Shutting down (${t})`)),e()};process.once(`SIGINT`,()=>t(`SIGINT`)),process.once(`SIGTERM`,()=>t(`SIGTERM`))});return}process.exit(0)}console.log(`UI running at http://${o}:${c.upstreamPort}; acting as HTTP proxy on port ${c.handle.port}`);let l=!1,u=e=>{l||(l=!0,console.log(n(`\n[ui-proxy] Shutting down (${e})`)),c.handle.close().finally(()=>process.exit(process.exitCode??0)),setTimeout(()=>process.exit(process.exitCode??0),2e3).unref())};process.once(`SIGINT`,()=>u(`SIGINT`)),process.once(`SIGTERM`,()=>u(`SIGTERM`))}}function M(e){return new l(`ui`).description("Deprecated: serve the React editor UI as a sibling process (plain `ok start` now serves the UI itself)").option(`-p, --port <port>`,`UI port (default: $PORT env or ${w}, kernel-allocated fallback if busy)`).option(`-H, --host <host>`,"UI host. Default: two-socket loopback bind (`[::1]` + `127.0.0.1`) so cross-family collisions fail loud. Pass an explicit host (e.g. `127.0.0.1`, `0.0.0.0`) to bind a single socket on that host.").action(async t=>{let{warning:n}=await import(`./colors-MGDi6UGf.mjs`);console.error(n("[ui] Deprecated: use `ok start` instead — it now serves the editor UI on one port. `ok ui` remains for older desktop builds and will be removed in a future release.")),await j(e(),t)})}function N(e){let t=e.stdout.isTTY===!0,n=typeof e.env.PORT==`string`&&e.env.PORT!==``;return!t||n}export{E as a,j as c,N as i,D as l,C as n,k as o,T as r,A as s,w as t,M as u};
3
- //# sourceMappingURL=ui-CNA2d6cp.mjs.map