@inkeep/open-knowledge 0.29.0-beta.1 → 0.29.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/assets/skills/discovery/SKILL.md +1 -1
  2. package/dist/assets/skills/project/SKILL.md +1 -1
  3. package/dist/cli.mjs +6 -6
  4. package/dist/constants-BDeiyoTG.mjs +2 -0
  5. package/dist/{dist-D1WPeGDD.mjs → dist-B2S_dh_W.mjs} +1 -1
  6. package/dist/{dist-enzS4QJb.mjs → dist-uq1hO0l5.mjs} +3 -3
  7. package/dist/index.mjs +1 -1
  8. package/dist/{init-CD7gPvxY.mjs → init-Ctx2NP2_.mjs} +4 -4
  9. package/dist/init-Da-7KOcl.mjs +1 -0
  10. package/dist/loader-CAY4VO1u.mjs +1 -0
  11. package/dist/{loader-BNccmd7o.mjs → loader-_BJcNCg3.mjs} +2 -2
  12. package/dist/{open-browser-DamMPOar.mjs → open-browser-Bs3YoMQ3.mjs} +2 -2
  13. package/dist/preview-BDrPrn0_.mjs +1 -0
  14. package/dist/{preview-CJTJyhRe.mjs → preview-CX35q4j-.mjs} +2 -2
  15. package/dist/public/assets/{ActivityModeContent-CxxS8nFq.js → ActivityModeContent-iGsUwFZM.js} +1 -1
  16. package/dist/public/assets/{ConsentDialogBody-CG9T8kVb.js → ConsentDialogBody-DpW_fWHO.js} +1 -1
  17. package/dist/public/assets/{GraphPanel-Bq38mdVO.js → GraphPanel-DY7seH_k.js} +1 -1
  18. package/dist/public/assets/{ManagedArtifactProperties-BSPBOnr-.js → ManagedArtifactProperties-BacfB11y.js} +1 -1
  19. package/dist/public/assets/{McpConsentDialogBody-iiKQkaSO.js → McpConsentDialogBody-BGQg0BNB.js} +1 -1
  20. package/dist/public/assets/{MermaidDocEditor-DeLvY3mL.js → MermaidDocEditor-Dfh6FYTu.js} +1 -1
  21. package/dist/public/assets/PropertyPanel-CdSjB-1i.js +2 -0
  22. package/dist/public/assets/{SettingsDialogBody-CI2EJgcM.js → SettingsDialogBody-DqSaum3o.js} +1 -1
  23. package/dist/public/assets/{ShareReceiveMissDialog-CXxQa4KW.js → ShareReceiveMissDialog-F7-OypGp.js} +1 -1
  24. package/dist/public/assets/{SkillEditorActions-CYONKTh4.js → SkillEditorActions-CS0pOij-.js} +1 -1
  25. package/dist/public/assets/{SourceEditor-9SpbjiWH.js → SourceEditor-CM6j_h7v.js} +1 -1
  26. package/dist/public/assets/{TerminalPanel-Cc0voOqd.js → TerminalPanel-C1NoS4P8.js} +1 -1
  27. package/dist/public/assets/{agent-presence-BH_OoZBC.js → agent-presence-Df3xVodm.js} +1 -1
  28. package/dist/public/assets/{auth-state-cache-Chy1TIhv.js → auth-state-cache-CYLTInpD.js} +1 -1
  29. package/dist/public/assets/{calendar-BN0WiQjJ.js → calendar-Cpuc24Im.js} +1 -1
  30. package/dist/public/assets/index-Dot-SWIQ.js +2003 -0
  31. package/dist/public/assets/keyboard-shortcuts-CYQR8WL_.js +1 -0
  32. package/dist/public/assets/{pending-receive-nav-store-DD8Ei1lo.js → pending-receive-nav-store-CEbpuzlN.js} +1 -1
  33. package/dist/public/assets/{skill-actions-D6y739v8.js → skill-actions--keDj-1t.js} +1 -1
  34. package/dist/public/index.html +15 -15
  35. package/dist/{repair-launch-json-B0B568xb.mjs → repair-launch-json-B22PVEUL.mjs} +2 -2
  36. package/dist/{repair-mcp-configs-Cz7vaVvt.mjs → repair-mcp-configs-BY_IWOhJ.mjs} +2 -2
  37. package/dist/{repair-skills-DoroYY8I.mjs → repair-skills-BHDFQ7QJ.mjs} +2 -2
  38. package/dist/repair-skills-BoioTwtW.mjs +1 -0
  39. package/dist/{src-BGLE9r6j.mjs → src-Bv4nWkUq.mjs} +2 -2
  40. package/dist/start-ChBqLjxS.mjs +1 -0
  41. package/dist/{start-D8BbQM4c.mjs → start-DAGRv3oL.mjs} +2 -2
  42. package/dist/{write-project-skill-8alJi7YJ.mjs → write-project-skill-CIXZymGf.mjs} +2 -2
  43. package/package.json +1 -1
  44. package/dist/constants-DzwzGnge.mjs +0 -2
  45. package/dist/init-BwZjunnX.mjs +0 -1
  46. package/dist/loader-B2tdFV2u.mjs +0 -1
  47. package/dist/preview-CloAm65l.mjs +0 -1
  48. package/dist/public/assets/PropertyPanel-M1FqAxBu.js +0 -2
  49. package/dist/public/assets/index-CWW9ADpk.js +0 -2003
  50. package/dist/public/assets/keyboard-shortcuts-BuZN2bTe.js +0 -1
  51. package/dist/repair-skills-DRT6PpNy.mjs +0 -1
  52. package/dist/start-CSu4I80l.mjs +0 -1
  53. /package/dist/public/assets/{cursor-Diqcx2dn.js → cursor-CjNH7VrK.js} +0 -0
  54. /package/dist/public/assets/{dist-AuN-WRQ2.js → dist-D74hAxnw.js} +0 -0
  55. /package/dist/public/assets/{external-link-27uXLNxg.js → external-link-BjECE2gH.js} +0 -0
  56. /package/dist/public/assets/{format-2O9Da5Lm.js → format-EMqSStmm.js} +0 -0
  57. /package/dist/public/assets/{selection-context-BVfXsapt.js → selection-context-Lsc6HP-h.js} +0 -0
  58. /package/dist/public/assets/{target-navigation-intent-P7IapNEj.js → target-navigation-intent-B9aNmptJ.js} +0 -0
  59. /package/dist/public/assets/{textarea-CfltWSGa.js → textarea-DtAQz2_P.js} +0 -0
  60. /package/dist/public/assets/{typing-burst-detector-DXjPfO7_.js → typing-burst-detector-uC8uK0Mq.js} +0 -0
@@ -0,0 +1 @@
1
+ import{si as e}from"./dist-D5fPTJjV.js";var t={general:{id:`Weq9zb`},workspace:{id:`pmUArF`},search:{id:`A1taO8`},wysiwyg:{id:`ur2XSb`},source:{id:`tiWX6q`},navigation:{id:`LXfNU-`}},n=Object.keys(t),r=[{id:`command-palette`,category:`general`,title:{id:`ZjtgI-`},description:{id:`OFBmkg`},scope:{id:`2GT3Hf`},bindings:[{mac:`⌘ K`,windowsLinux:`Ctrl K`,match:{key:`k`,mod:!0}}]},{id:`settings`,category:`general`,title:{id:`Tz0i8g`},description:{id:`6m_7We`},scope:{id:`zL0LPh`},bindings:[{mac:`⌘ ,`,windowsLinux:`Ctrl ,`,match:{key:`,`,anyMod:!0}}]},{id:`new-item`,category:`general`,title:{id:`HdkSiO`},description:{id:`KkEAud`},scope:{id:`zL0LPh`},bindings:[{mac:`⌘ N`,windowsLinux:`Ctrl N`,match:{key:`n`,mod:!0}},{mac:`⌥⌘ N`,windowsLinux:`Ctrl Alt N`,match:{key:`n`,anyMod:!0,altKey:!0,allowExtraModifiers:!0}}]},{id:`new-folder`,category:`general`,title:{id:`96G6Re`},description:{id:`3cOo2C`},scope:{id:`cZI5AL`},bindings:[{mac:`⇧⌘ N`,windowsLinux:`Ctrl Shift N`}]},{id:`toggle-files-sidebar`,category:`general`,title:{id:`rtdR4v`},description:{id:`EbZT7P`},scope:{id:`2GT3Hf`},bindings:[{mac:`⌥⌘ S`,windowsLinux:`Ctrl Alt S`,match:{code:`KeyS`,anyMod:!0,altKey:!0,allowExtraModifiers:!0}}]},{id:`toggle-document-panel`,category:`general`,title:{id:`lkYioO`},description:{id:`It9ARY`},scope:{id:`2GT3Hf`},bindings:[{mac:`⌥⌘ B`,windowsLinux:`Ctrl Alt B`,match:{code:`KeyB`,anyMod:!0,altKey:!0,allowExtraModifiers:!0}}]},{id:`toggle-terminal-panel`,category:`general`,title:{id:`dPOFid`},description:{id:`oCNLN8`},scope:{id:`cZI5AL`},bindings:[{mac:`⌘ J`,windowsLinux:`Ctrl J`,match:{key:`j`,mod:!0}}]},{id:`open-ask-ai`,category:`general`,title:{id:`xWEvuo`},description:{id:`5OTgC7`},scope:{id:`cZI5AL`},bindings:[{mac:`⌘ L`,windowsLinux:`Ctrl L`,match:{key:`l`,mod:!0}}]},{id:`new-terminal-tab`,category:`general`,title:{id:`k0vc0N`},description:{id:`si3L24`},scope:{id:`cZI5AL`},bindings:[{mac:`⇧⌘ J`,windowsLinux:`Ctrl Shift J`,match:{key:`j`,mod:!0,shiftKey:!0}}]},{id:`tab-new`,category:`navigation`,title:{id:`3YvS-c`},description:{id:`t6w1cq`},scope:{id:`2GT3Hf`},bindings:[{mac:`⌘ T`,windowsLinux:`Ctrl T`,match:{key:`t`,mod:!0}}]},{id:`tab-next`,category:`navigation`,title:{id:`l46MqT`},description:{id:`thnPBX`},scope:{id:`2GT3Hf`},bindings:[{mac:`⌃ Tab`,windowsLinux:`Ctrl Tab`,match:{key:`Tab`,ctrlKey:!0}}]},{id:`tab-previous`,category:`navigation`,title:{id:`Mh_4hd`},description:{id:`DJd000`},scope:{id:`2GT3Hf`},bindings:[{mac:`⌃⇧ Tab`,windowsLinux:`Ctrl Shift Tab`,match:{key:`Tab`,ctrlKey:!0,shiftKey:!0}}]},{id:`tab-jump`,category:`navigation`,title:{id:`_6FVBz`},description:{id:`wGSHzy`},scope:{id:`2GT3Hf`},bindings:[{mac:`⌘ 1-8`,windowsLinux:`Ctrl 1-8`}]},{id:`tab-jump-last`,category:`navigation`,title:{id:`N1KkEO`},description:{id:`ZQJ1IV`},scope:{id:`2GT3Hf`},bindings:[{mac:`⌘ 9`,windowsLinux:`Ctrl 9`}]},{id:`tab-reopen-closed`,category:`navigation`,title:{id:`hpzRlK`},description:{id:`E5WeIy`},scope:{id:`2GT3Hf`},bindings:[{mac:`⇧⌘ T`,windowsLinux:`Ctrl Shift T`,match:{key:`t`,mod:!0,shiftKey:!0}}]},{id:`open-folder`,category:`workspace`,title:{id:`PVUn_c`},description:{id:`VYd_YA`},scope:{id:`cZI5AL`},bindings:[{mac:`⌘ O`,windowsLinux:`Ctrl O`}]},{id:`switch-project`,category:`workspace`,title:{id:`xaDWAI`},description:{id:`oS1YpJ`},scope:{id:`cZI5AL`},bindings:[{mac:`⇧⌘ P`,windowsLinux:`Ctrl Shift P`}]},{id:`file-tree-copy`,category:`workspace`,title:{id:`eGUbmF`},description:{id:`7uBlRT`},scope:{id:`vbK_ZG`},bindings:[{mac:`⌘ C`,windowsLinux:`Ctrl C`}]},{id:`file-tree-paste`,category:`workspace`,title:{id:`_tjopj`},description:{id:`e4PbgC`},scope:{id:`vbK_ZG`},bindings:[{mac:`⌘ V`,windowsLinux:`Ctrl V`}]},{id:`file-tree-duplicate`,category:`workspace`,title:{id:`ot5BRK`},description:{id:`mxY24F`},scope:{id:`vbK_ZG`},bindings:[{mac:`⌘ D`,windowsLinux:`Ctrl D`}]},{id:`file-tree-delete`,category:`workspace`,title:{id:`VxO6wR`},description:{id:`osRqlv`},scope:{id:`vbK_ZG`},bindings:[{mac:`⌘ Backspace`,windowsLinux:`Delete`}]},{id:`file-tree-select-all`,category:`workspace`,title:{id:`1d1F11`},description:{id:`4v2Yyz`},scope:{id:`vbK_ZG`},bindings:[{mac:`⌘ A`,windowsLinux:`Ctrl A`}]},{id:`find`,category:`search`,title:{id:`KujtjC`},description:{id:`8OGgNM`},scope:{id:`ur2XSb`},bindings:[{mac:`⌘ F`,windowsLinux:`Ctrl F`,match:{key:`f`,mod:!0,allowShiftKey:!0}}]},{id:`replace`,category:`search`,title:{id:`fqSfXY`},description:{id:`wT4iQr`},scope:{id:`ur2XSb`},bindings:[{mac:`⌥⌘ F`,windowsLinux:`Ctrl H`,match:{mac:{key:`f`,mod:!0,altKey:!0},windowsLinux:{key:`h`,mod:!0}}}]},{id:`find-next`,category:`search`,title:{id:`v7lbnC`},description:{id:`PR9FSv`},scope:{id:`EqtBXb`},bindings:[{mac:`⌘ G`,windowsLinux:`Ctrl G`,match:{key:`g`,mod:!0}},{mac:`F3`,windowsLinux:`F3`,match:{key:`F3`}}]},{id:`find-previous`,category:`search`,title:{id:`PB4upl`},description:{id:`PgzIpb`},scope:{id:`EqtBXb`},bindings:[{mac:`⇧⌘ G`,windowsLinux:`Ctrl Shift G`,match:{key:`g`,mod:!0,shiftKey:!0}},{mac:`Shift F3`,windowsLinux:`Shift F3`,match:{key:`F3`,shiftKey:!0}}]},{id:`find-field-navigation`,category:`search`,title:{id:`yMgL_E`},description:{id:`5ALjdr`},scope:{id:`BgV29F`},bindings:[{mac:`Enter / Shift Enter`,windowsLinux:`Enter / Shift Enter`}]},{id:`replace-current-from-field`,category:`search`,title:{id:`LDuM35`},description:{id:`EZVxVz`},scope:{id:`rZVMkf`},bindings:[{mac:`Enter`,windowsLinux:`Enter`}]},{id:`format-bold`,category:`wysiwyg`,title:{id:`KmydK6`},description:{id:`fbdLmk`},scope:{id:`ur2XSb`},bindings:[{mac:`⌘ B`,windowsLinux:`Ctrl B`}]},{id:`format-italic`,category:`wysiwyg`,title:{id:`pzutoc`},description:{id:`TLIO3j`},scope:{id:`ur2XSb`},bindings:[{mac:`⌘ I`,windowsLinux:`Ctrl I`}]},{id:`format-underline`,category:`wysiwyg`,title:{id:`YyXtnN`},description:{id:`Okd2Xv`},scope:{id:`ur2XSb`},bindings:[{mac:`⌘ U`,windowsLinux:`Ctrl U`}]},{id:`format-strike`,category:`wysiwyg`,title:{id:`WhOsNE`},description:{id:`HCn0Ay`},scope:{id:`ur2XSb`},bindings:[{mac:`⇧⌘ X`,windowsLinux:`Ctrl Shift X`}]},{id:`format-inline-code`,category:`wysiwyg`,title:{id:`OX2Neh`},description:{id:`mo22UP`},scope:{id:`ur2XSb`},bindings:[{mac:`⌘ E`,windowsLinux:`Ctrl E`}]},{id:`format-highlight`,category:`wysiwyg`,title:{id:`gtEbeW`},description:{id:`Eji13z`},scope:{id:`ur2XSb`},bindings:[{mac:`⇧⌘ H`,windowsLinux:`Ctrl Shift H`}]},{id:`add-link`,category:`wysiwyg`,title:{id:`VzGJRl`},description:{id:`u7U_Ij`},scope:{id:`v77jrg`},bindings:[{mac:`⌘ K`,windowsLinux:`Ctrl K`,match:{key:`k`,mod:!0}}]},{id:`edit-with-ai`,category:`general`,title:{id:`G4-bgo`},description:{id:`a3H_MR`},scope:{id:`C62P6b`},bindings:[{mac:`⇧⌘ I`,windowsLinux:`Ctrl Shift I`,match:{key:`i`,mod:!0,shiftKey:!0}}]},{id:`history-undo-redo`,category:`wysiwyg`,title:{id:`i9OyGp`},description:{id:`lbkOif`},scope:{id:`ur2XSb`},bindings:[{mac:`⌘ Z`,windowsLinux:`Ctrl Z`},{mac:`⇧⌘ Z / ⌘ Y`,windowsLinux:`Ctrl Shift Z / Ctrl Y`}]},{id:`heading-paragraph`,category:`wysiwyg`,title:{id:`bkQRMh`},description:{id:`rgPqOw`},scope:{id:`ur2XSb`},bindings:[{mac:`⌥⌘ 0`,windowsLinux:`Ctrl Alt 0`}]},{id:`heading-levels`,category:`wysiwyg`,title:{id:`q_z77Z`},description:{id:`8Jm2EP`},scope:{id:`ur2XSb`},bindings:[{mac:`⌥⌘ 1-6`,windowsLinux:`Ctrl Alt 1-6`}]},{id:`list-bullet`,category:`wysiwyg`,title:{id:`ijLc3m`},description:{id:`By-7Pn`},scope:{id:`ur2XSb`},bindings:[{mac:`⇧⌘ 8`,windowsLinux:`Ctrl Shift 8`}]},{id:`list-ordered`,category:`wysiwyg`,title:{id:`iSQTsg`},description:{id:`ou1hFW`},scope:{id:`ur2XSb`},bindings:[{mac:`⇧⌘ 7`,windowsLinux:`Ctrl Shift 7`}]},{id:`list-task`,category:`wysiwyg`,title:{id:`E1_c72`},description:{id:`-slrNR`},scope:{id:`ur2XSb`},bindings:[{mac:`⇧⌘ 9`,windowsLinux:`Ctrl Shift 9`}]},{id:`code-block`,category:`wysiwyg`,title:{id:`4A3Yzu`},description:{id:`pTPqMK`},scope:{id:`ur2XSb`},bindings:[{mac:`⌥⌘ C`,windowsLinux:`Ctrl Alt C`}]},{id:`hard-break`,category:`wysiwyg`,title:{id:`-3ois8`},description:{id:`vDXqVv`},scope:{id:`ur2XSb`},bindings:[{mac:`Shift Enter`,windowsLinux:`Shift Enter`},{mac:`⌘ Enter`,windowsLinux:`Ctrl Enter`}]},{id:`move-block`,category:`wysiwyg`,title:{id:`f1XQyZ`},description:{id:`zQBg2C`},scope:{id:`ur2XSb`},bindings:[{mac:`⇧⌘ ↑`,windowsLinux:`Ctrl Shift ↑`},{mac:`⇧⌘ ↓`,windowsLinux:`Ctrl Shift ↓`}]},{id:`list-indent`,category:`wysiwyg`,title:{id:`G0YZ-I`},description:{id:`5GKMSz`},scope:{id:`ynIa4S`},bindings:[{mac:`Tab`,windowsLinux:`Tab`},{mac:`Shift Tab`,windowsLinux:`Shift Tab`}]},{id:`list-split-item`,category:`wysiwyg`,title:{id:`neRy3o`},description:{id:`NpC29w`},scope:{id:`ynIa4S`},bindings:[{mac:`Enter`,windowsLinux:`Enter`}]},{id:`table-cell-navigation`,category:`wysiwyg`,title:{id:`K8-WWn`},description:{id:`4NC2Ym`},scope:{id:`l1aQKz`},bindings:[{mac:`Tab`,windowsLinux:`Tab`},{mac:`Shift Tab`,windowsLinux:`Shift Tab`}]},{id:`table-delete-selection`,category:`wysiwyg`,title:{id:`881Uwh`},description:{id:`YEP3X2`},scope:{id:`99eR72`},bindings:[{mac:`Backspace / Delete`,windowsLinux:`Backspace / Delete`},{mac:`⌘ Backspace / ⌘ Delete`,windowsLinux:`Ctrl Backspace / Ctrl Delete`}]},{id:`delete-atom`,category:`wysiwyg`,title:{id:`636K3K`},description:{id:`oXKEsy`},scope:{id:`ur2XSb`},bindings:[{mac:`Backspace`,windowsLinux:`Backspace`},{mac:`Delete`,windowsLinux:`Delete`}]},{id:`slash-menu`,category:`navigation`,title:{id:`shNd9t`},description:{id:`8PmoQF`},scope:{id:`ur2XSb`},bindings:[{mac:`/`,windowsLinux:`/`}]},{id:`suggestion-navigation`,category:`navigation`,title:{id:`riqekz`},description:{id:`OiHJdA`},scope:{id:`y5FUYi`},bindings:[{mac:`↑ / ↓`,windowsLinux:`↑ / ↓`},{mac:`Enter / Tab`,windowsLinux:`Enter / Tab`},{mac:`Esc`,windowsLinux:`Esc`}]},{id:`component-navigation`,category:`navigation`,title:{id:`rwrPbS`},description:{id:`0s8-e8`},scope:{id:`ur2XSb`},bindings:[{mac:`↑ / ↓ / ← / →`,windowsLinux:`↑ / ↓ / ← / →`},{mac:`Enter / Esc`,windowsLinux:`Enter / Esc`}]},{id:`source-indent`,category:`source`,title:{id:`fwhX-N`},description:{id:`skf5Ix`},scope:{id:`tiWX6q`},bindings:[{mac:`Tab`,windowsLinux:`Tab`},{mac:`Shift Tab`,windowsLinux:`Shift Tab`}]},{id:`source-navigation`,category:`source`,title:{id:`qSKu2v`},description:{id:`gITz7o`},scope:{id:`tiWX6q`},bindings:[{mac:`Arrow keys / Option Arrow / Command Arrow`,windowsLinux:`Arrow keys / Ctrl Arrow / Home / End`},{mac:`Page Up / Page Down`,windowsLinux:`Page Up / Page Down`},{mac:`Shift with movement keys`,windowsLinux:`Shift with movement keys`}]},{id:`source-editing`,category:`source`,title:{id:`pFagOn`},description:{id:`MGb89P`},scope:{id:`tiWX6q`},bindings:[{mac:`Enter / Shift Enter / ⌘ Enter`,windowsLinux:`Enter / Shift Enter / Ctrl Enter`},{mac:`Backspace / Delete`,windowsLinux:`Backspace / Delete`},{mac:`⌥ Backspace / ⌥ Delete`,windowsLinux:`Ctrl Backspace / Ctrl Delete`},{mac:`⌥ ↑ / ⌥ ↓`,windowsLinux:`Alt ↑ / Alt ↓`},{mac:`⇧⌥ ↑ / ⇧⌥ ↓`,windowsLinux:`Shift Alt ↑ / Shift Alt ↓`},{mac:`⇧⌘ K`,windowsLinux:`Ctrl Shift K`}]},{id:`source-history`,category:`source`,title:{id:`4Sxexw`},description:{id:`r2huLx`},scope:{id:`tiWX6q`},bindings:[{mac:`⌘ Z`,windowsLinux:`Ctrl Z`},{mac:`⇧⌘ Z`,windowsLinux:`Ctrl Y / Ctrl Shift Z`},{mac:`⌘ U / ⇧⌘ U`,windowsLinux:`Ctrl U / Alt U`}]},{id:`source-select-all`,category:`source`,title:{id:`a-cKXz`},description:{id:`UTNVyS`},scope:{id:`tiWX6q`},bindings:[{mac:`⌘ A`,windowsLinux:`Ctrl A`}]},{id:`source-multi-cursor`,category:`source`,title:{id:`mg0YGL`},description:{id:`lWNpNB`},scope:{id:`tiWX6q`},bindings:[{mac:`⌥⌘ ↑ / ⌥⌘ ↓`,windowsLinux:`Ctrl Alt ↑ / Ctrl Alt ↓`},{mac:`⇧⌘ L`,windowsLinux:`Ctrl Shift L`}]},{id:`source-search`,category:`source`,title:{id:`7OhaRy`},description:{id:`mwMF9u`},scope:{id:`tiWX6q`},bindings:[{mac:`⌘ F`,windowsLinux:`Ctrl F`}]},{id:`source-toggle-comment`,category:`source`,title:{id:`RfaEio`},description:{id:`MrwYIK`},scope:{id:`tiWX6q`},bindings:[{mac:`⌘ /`,windowsLinux:`Ctrl /`},{mac:`Shift Alt A`,windowsLinux:`Shift Alt A`}]},{id:`source-select-next-occurrence`,category:`source`,title:{id:`hY8pka`},description:{id:`XnlF3W`},scope:{id:`tiWX6q`},bindings:[{mac:`⌘ D`,windowsLinux:`Ctrl D`}]},{id:`source-goto-line`,category:`source`,title:{id:`7FamGZ`},description:{id:`yHikCO`},scope:{id:`tiWX6q`},bindings:[{mac:`⌥⌘ G`,windowsLinux:`Ctrl Alt G`}]},{id:`source-find-results`,category:`source`,title:{id:`rJVoVX`},description:{id:`TwYboS`},scope:{id:`qyLmWw`},bindings:[{mac:`⌘ G / ⇧⌘ G`,windowsLinux:`Ctrl G / Ctrl Shift G`},{mac:`F3 / Shift F3`,windowsLinux:`F3 / Shift F3`},{mac:`Esc`,windowsLinux:`Esc`}]},{id:`source-folding`,category:`source`,title:{id:`bcjYUA`},description:{id:`VZGh8G`},scope:{id:`tiWX6q`},bindings:[{mac:`⌥⌘ [ / ⌥⌘ ]`,windowsLinux:`Ctrl Shift [ / Ctrl Shift ]`},{mac:`Ctrl Alt [ / Ctrl Alt ]`,windowsLinux:`Ctrl Alt [ / Ctrl Alt ]`}]},{id:`source-completion`,category:`source`,title:{id:`VuxVSP`},description:{id:`Ehkru0`},scope:{id:`tiWX6q`},bindings:[{mac:`Ctrl Space`,windowsLinux:`Ctrl Space`},{mac:"⌥ ` / ⌥ I",windowsLinux:`Ctrl Space`},{mac:`↑ / ↓ / Page Up / Page Down`,windowsLinux:`↑ / ↓ / Page Up / Page Down`},{mac:`Enter / Esc`,windowsLinux:`Enter / Esc`}]},{id:`source-tab-focus-mode`,category:`source`,title:{id:`eG8Jsg`},description:{id:`qRZh7J`},scope:{id:`tiWX6q`},bindings:[{mac:`Shift Alt M`,windowsLinux:`Ctrl M`}]},{id:`source-lint-panel`,category:`source`,title:{id:`yvG-l1`},description:{id:`kCqCyf`},scope:{id:`tiWX6q`},bindings:[{mac:`⇧⌘ M`,windowsLinux:`Ctrl Shift M`}]},{id:`source-next-diagnostic`,category:`source`,title:{id:`M1OfV9`},description:{id:`ExPiRQ`},scope:{id:`tiWX6q`},bindings:[{mac:`F8`,windowsLinux:`F8`}]}],i=r,a=new Map(r.map(e=>[e.id,e]));function o(e){let t=a.get(e);if(!t)throw Error(`Unknown keyboard shortcut: ${e}`);return t}function s(){return e()?`mac`:`windowsLinux`}var c=[[/⌘/g,` Command `],[/⌥/g,` Option `],[/⇧/g,` Shift `],[/⌃/g,` Control `],[/↑/g,` Up Arrow `],[/↓/g,` Down Arrow `],[/←/g,` Left Arrow `],[/→/g,` Right Arrow `],[/\[/g,` Left Bracket `],[/\]/g,` Right Bracket `],[/,/g,` Comma `],[/\bCtrl\b/g,` Control `]];function l(e){return e.split(` / `).map(e=>c.reduce((e,[t,n])=>e.replace(t,n),e).replaceAll(/\s+/g,` `).trim()).join(` or `)}function u(e,t=s()){return t===`mac`?e.mac:e.windowsLinux}function d(e,t=s()){return l(u(e,t))}function f(e,t=s()){return u(o(e).bindings[0],t)}function p(e,t=s()){return d(o(e).bindings[0],t)}function m(e){if(!e||typeof e!=`object`)return!1;if(`isContentEditable`in e&&e.isContentEditable===!0)return!0;if(!(`tagName`in e))return!1;let t=String(e.tagName).toUpperCase();return t===`INPUT`||t===`TEXTAREA`}function h(e,t,n=s()){return o(t).bindings.some(t=>{let r=g(t.match,n);return r?v(e,r,n):!1})}function g(e,t){return e?_(e)?e:e[t]??null:null}function _(e){return`key`in e||`code`in e}function v(e,t,n){if(t.key&&e.key.toLowerCase()!==t.key.toLowerCase()||t.code&&e.code!==t.code)return!1;let r=t.metaKey??(t.mod?n===`mac`:!1),i=t.ctrlKey??(t.mod?n===`windowsLinux`:!1),a=t.altKey??!1,o=t.shiftKey??!1;return t.allowExtraModifiers?!(t.anyMod&&!e.metaKey&&!e.ctrlKey||r&&!e.metaKey||i&&!e.ctrlKey||a&&!e.altKey||o&&!e.shiftKey):(t.anyMod?e.metaKey||e.ctrlKey:e.metaKey===r&&e.ctrlKey===i)&&e.altKey===a&&(t.allowShiftKey||!!e.shiftKey===o)}export{u as a,m as c,f as i,h as l,t as n,p as o,n as r,l as s,i as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-CFjPhJqf.js";import{n as t,r as n,t as r}from"./compiler-runtime-CVnuRdak.js";import{n as i,r as a}from"./dist-CQw2y-s3.js";import{t as o,u as s}from"./button-cneJOVxD.js";import{a as c,c as l,n as u,r as d,t as f}from"./EnableSyncConfirmDialog-Bfx-F020.js";import{t as p}from"./arrow-up-right-Crm0Btez.js";import{t as m}from"./check-DRRCCRSs.js";import{t as h}from"./folder-open-BF5DIykr.js";import{t as g}from"./info-BlYnsVoP.js";import{t as _}from"./loader-circle-B7Gv_Djz.js";import{n as v}from"./miss-dialog-store-PJQ_kr0I.js";import{t as y}from"./refresh-cw-CluaccKu.js";import{t as b}from"./triangle-alert-c3yCucJv.js";import{h as x,r as S,u as C}from"./doc-hash-I00EhzUZ.js";import{t as w}from"./external-link-27uXLNxg.js";var T=s(`arrow-down-to-line`,[[`path`,{d:`M12 17V3`,key:`1cwfxf`}],[`path`,{d:`m6 11 6 6 6-6`,key:`12ii2o`}],[`path`,{d:`M19 21H5`,key:`150jfl`}]]),E=s(`file-pen`,[[`path`,{d:`M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34`,key:`o6klzx`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z`,key:`zhnas1`}]]),D=s(`file-question-mark`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}],[`path`,{d:`M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3`,key:`mhlwft`}]]),O=s(`file-x-corner`,[[`path`,{d:`M11 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5`,key:`1jo35a`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m15 17 5 5`,key:`36xl1x`}],[`path`,{d:`m20 17-5 5`,key:`vdz27y`}]]),k=r(),A=e(t(),1),j=n(),M=`https://git-scm.com/docs/git-push`;function N(e,t){return!(e!==`stale`&&e!==`absent`||e===`stale`&&t?.syncEnabled===!0)}function P(e){return e?e.state!==`dormant`&&e.state!==`disabled`&&e.state!==`auth-error`&&e.state!==`conflict`:!1}function F(e){let t=(0,k.c)(47),{freshness:n,status:r,kind:s}=e,{_:l}=a(),{confirmOpen:h,setConfirmOpen:_,onToggleRequest:v,onConfirm:x}=d(c()),[S,C]=(0,A.useState)(`idle`),w=(0,A.useRef)(null),T,E;if(t[0]!==r||t[1]!==S?(T=()=>{if(!(S!==`pending`||!r)){if(r.pushError||r.pushErrorCode){C(`idle`);return}(r.lastSyncUtc??null)!==w.current&&C(`synced`)}},E=[S,r],t[0]=r,t[1]=S,t[2]=T,t[3]=E):(T=t[2],E=t[3]),(0,A.useEffect)(T,E),!N(n,r))return null;if(S===`synced`){let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,j.jsxs)(`div`,{className:`flex items-start gap-2 rounded-md border border-dashed border-border bg-muted/40 p-2 text-xs text-muted-foreground`,"data-testid":`share-freshness-row`,children:[(0,j.jsx)(m,{className:`mt-0.5 size-3.5 shrink-0`,"aria-hidden":`true`}),(0,j.jsx)(`span`,{children:(0,j.jsx)(i,{id:`fxbCNQ`})})]}),t[4]=e):e=t[4],e}let D=r?.syncEnabled===!0,O=r?.pushPermission?.checkStatus===`denied`,F=!!(r?.pushError||r?.pushErrorCode),R=O||F,z=n===`absent`&&!D,B;if(n===`absent`&&!D){let e;t[5]!==l||t[6]!==s?(e=l(s===`folder`?{id:`PrJYSN`}:{id:`3BnyYc`}),t[5]=l,t[6]=s,t[7]=e):e=t[7],B=e}else if(n===`stale`){let e;t[8]!==l||t[9]!==s?(e=l(s===`folder`?{id:`Gt4gOO`}:{id:`2IYGkU`}),t[8]=l,t[9]=s,t[10]=e):e=t[10],B=e}else{let e;t[11]!==l||t[12]!==s?(e=l(s===`folder`?{id:`nqV0Kk`}:{id:`gwykHF`}),t[11]=l,t[12]=s,t[13]=e):e=t[13],B=e}let V;t[14]!==l||t[15]!==F||t[16]!==O?(V=O?l({id:`9OIqw4`}):F?l({id:`K6MQQk`}):null,t[14]=l,t[15]=F,t[16]=O,t[17]=V):V=t[17];let H=V,U;t[18]===r?.lastSyncUtc?U=t[19]:(U=()=>{w.current=r?.lastSyncUtc??null,C(`pending`),u(`sync`).catch(e=>{console.warn(`[share-freshness] sync trigger failed`,e instanceof Error?e.message:e),C(`idle`)})},t[18]=r?.lastSyncUtc,t[19]=U);let W=U,G=z?b:g,K;t[20]===G?K=t[21]:(K=(0,j.jsx)(G,{className:`mt-0.5 size-3.5 shrink-0`,"aria-hidden":`true`}),t[20]=G,t[21]=K);let q;t[22]===B?q=t[23]:(q=(0,j.jsx)(`span`,{children:B}),t[22]=B,t[23]=q);let J;t[24]===H?J=t[25]:(J=H?(0,j.jsx)(`span`,{children:H}):null,t[24]=H,t[25]=J);let Y;t[26]!==R||t[27]!==W||t[28]!==v||t[29]!==r||t[30]!==D||t[31]!==S?(Y=R?null:D?P(r)?(0,j.jsx)(`div`,{children:S===`pending`?(0,j.jsxs)(o,{variant:`outline`,size:`xs`,disabled:!0,children:[(0,j.jsx)(y,{className:`size-3 shrink-0 animate-spin`,"aria-hidden":`true`}),(0,j.jsx)(i,{id:`EHu0x2`})]}):(0,j.jsx)(o,{variant:`outline`,size:`xs`,onClick:W,children:(0,j.jsx)(i,{id:`lb_UU4`})})}):null:(0,j.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1.5`,children:[(0,j.jsx)(o,{variant:`outline`,size:`xs`,onClick:()=>v(!0),children:(0,j.jsx)(i,{id:`XU0OXn`})}),(0,j.jsxs)(`a`,{href:M,target:`_blank`,rel:`noopener noreferrer`,onClick:L,onAuxClick:I,className:`inline-flex items-center gap-1 transition-colors hover:text-primary`,children:[(0,j.jsx)(i,{id:`GLxIKR`}),(0,j.jsx)(p,{className:`size-3 shrink-0`,"aria-hidden":`true`})]})]}),t[26]=R,t[27]=W,t[28]=v,t[29]=r,t[30]=D,t[31]=S,t[32]=Y):Y=t[32];let X;t[33]!==q||t[34]!==J||t[35]!==Y?(X=(0,j.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1.5`,children:[q,J,Y]}),t[33]=q,t[34]=J,t[35]=Y,t[36]=X):X=t[36];let Z;t[37]!==K||t[38]!==X?(Z=(0,j.jsxs)(`div`,{className:`flex items-start gap-2 rounded-md border border-dashed border-border bg-muted/40 p-2 text-xs text-muted-foreground`,"data-testid":`share-freshness-row`,children:[K,X]}),t[37]=K,t[38]=X,t[39]=Z):Z=t[39];let Q;t[40]!==h||t[41]!==x||t[42]!==_?(Q=(0,j.jsx)(f,{open:h,onOpenChange:_,onConfirm:x}),t[40]=h,t[41]=x,t[42]=_,t[43]=Q):Q=t[43];let $;return t[44]!==Z||t[45]!==Q?($=(0,j.jsxs)(j.Fragment,{children:[Z,Q]}),t[44]=Z,t[45]=Q,t[46]=$):$=t[46],$}function I(e){return w(e,M)}function L(e){return w(e,M)}function R(e){let t=e.lastIndexOf(`/`);return t===-1?``:e.slice(0,t)}function z(e){let t=(0,k.c)(13),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={phase:`pending`},t[0]=n):n=t[0];let[r,i]=(0,A.useState)(n),[a,o]=(0,A.useState)(0),s=e.branch,c;t[1]!==s||t[2]!==e.kind||t[3]!==e.path?(c=()=>{let t=window.okDesktop??null;if(!t||s===null){i({phase:`resolved`,resolution:{verdict:`unknown`}});return}let n=!1;return t.project.fetchTargetStatus({projectPath:t.config.projectPath,branch:s,path:e.path,kind:e.kind}).then(e=>{n||i({phase:`resolved`,resolution:e??{verdict:`unknown`}})}).catch(e=>{n||(console.warn(`[receive] miss target-status fetch failed`,e instanceof Error?e.message:e),i({phase:`resolved`,resolution:{verdict:`unknown`}}))}),()=>{n=!0}},t[1]=s,t[2]=e.kind,t[3]=e.path,t[4]=c):c=t[4];let l;t[5]!==s||t[6]!==a||t[7]!==e.kind||t[8]!==e.path?(l=[s,e.kind,e.path,a],t[5]=s,t[6]=a,t[7]=e.kind,t[8]=e.path,t[9]=l):l=t[9],(0,A.useEffect)(c,l);let u;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>{i({phase:`pending`}),o(B)},t[10]=u):u=t[10];let d;return t[11]===r?d=t[12]:(d={state:r,refetch:u},t[11]=r,t[12]=d),d}function B(e){return e+1}function V(e){let t=(0,k.c)(15),{onEnabled:n}=e,r=c(),a;t[0]===n?a=t[1]:(a={onEnabled:n},t[0]=n,t[1]=a);let{confirmOpen:s,setConfirmOpen:l,onToggleRequest:u,onConfirm:p}=d(r,a),m;t[2]===u?m=t[3]:(m=()=>u(!0),t[2]=u,t[3]=m);let h,g;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,j.jsx)(y,{className:`size-4`,"aria-hidden":`true`}),g=(0,j.jsx)(i,{id:`XU0OXn`}),t[4]=h,t[5]=g):(h=t[4],g=t[5]);let _;t[6]===m?_=t[7]:(_=(0,j.jsxs)(o,{onClick:m,"data-testid":`share-receive-miss-enable-sync`,children:[h,g]}),t[6]=m,t[7]=_);let v;t[8]!==s||t[9]!==p||t[10]!==l?(v=(0,j.jsx)(f,{open:s,onOpenChange:l,onConfirm:p}),t[8]=s,t[9]=p,t[10]=l,t[11]=v):v=t[11];let b;return t[12]!==_||t[13]!==v?(b=(0,j.jsxs)(j.Fragment,{children:[_,v]}),t[12]=_,t[13]=v,t[14]=b):b=t[14],b}function H(e){let t=(0,k.c)(15),{status:n,onSyncCompleted:r}=e,[a,s]=(0,A.useState)(!1),c=(0,A.useRef)(null),l;t[0]!==r||t[1]!==a||t[2]!==n.lastSyncUtc||t[3]!==n.pushError||t[4]!==n.pushErrorCode?(l=()=>{if(a){if(n.pushError||n.pushErrorCode){s(!1);return}(n.lastSyncUtc??null)!==c.current&&(s(!1),r?.())}},t[0]=r,t[1]=a,t[2]=n.lastSyncUtc,t[3]=n.pushError,t[4]=n.pushErrorCode,t[5]=l):l=t[5];let d;t[6]!==r||t[7]!==a||t[8]!==n?(d=[a,n,r],t[6]=r,t[7]=a,t[8]=n,t[9]=d):d=t[9],(0,A.useEffect)(l,d);let f;t[10]===n.lastSyncUtc?f=t[11]:(f=()=>{c.current=n.lastSyncUtc??null,s(!0),u(`sync`).catch(e=>{console.warn(`[receive] miss sync trigger failed`,e instanceof Error?e.message:e),s(!1)})},t[10]=n.lastSyncUtc,t[11]=f);let p=f,m;return t[12]!==p||t[13]!==a?(m=a?(0,j.jsxs)(o,{disabled:!0,"data-testid":`share-receive-miss-sync-now`,children:[(0,j.jsx)(y,{className:`size-4 animate-spin`,"aria-hidden":`true`}),(0,j.jsx)(i,{id:`EHu0x2`})]}):(0,j.jsxs)(o,{onClick:p,"data-testid":`share-receive-miss-sync-now`,children:[(0,j.jsx)(y,{className:`size-4`,"aria-hidden":`true`}),(0,j.jsx)(i,{id:`lb_UU4`})]}),t[12]=p,t[13]=a,t[14]=m):m=t[14],m}function U(e){let t=(0,k.c)(67),{nav:n,state:r,onBrowseFolder:s,onOpenRenamed:c,onEnableAutoSync:u,onSyncCompleted:d}=e,{_:f}=a(),p=l(),m=n.branch,g;t[0]!==f||t[1]!==n.kind?(g=n.kind===`folder`?f({id:`ugoTXs`}):f({id:`XH30C4`}),t[0]=f,t[1]=n.kind,t[2]=g):g=t[2];let y=g;if(r.phase===`pending`){let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(_,{className:`size-5 animate-spin`,"aria-hidden":`true`}),(0,j.jsx)(i,{id:`c8jBgX`})]}),t[3]=e):e=t[3],e}let{resolution:b}=r,x,S;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,j.jsx)(h,{className:`size-4`,"aria-hidden":`true`}),S=(0,j.jsx)(i,{id:`hItdtk`}),t[4]=x,t[5]=S):(x=t[4],S=t[5]);let C;t[6]===s?C=t[7]:(C=(0,j.jsxs)(o,{variant:`outline`,onClick:s,"data-testid":`share-receive-miss-browse`,children:[x,S]}),t[6]=s,t[7]=C);let w=C,A,M,N;if(b.verdict===`renamed`){let e;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,j.jsx)(v,{className:`size-9`,"aria-hidden":`true`}),t[8]=e):e=t[8],A=e;let n;t[9]!==b.renamedTo||t[10]!==y?(n={0:b.renamedTo,targetNoun:y},t[9]=b.renamedTo,t[10]=y,t[11]=n):n=t[11];let r;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(r={0:(0,j.jsx)(`code`,{className:`rounded-sm bg-muted px-1 py-0.5 text-foreground/80`})},t[12]=r):r=t[12];let a;t[13]===n?a=t[14]:(a=(0,j.jsx)(i,{id:`P0HC30`,values:n,components:r}),t[13]=n,t[14]=a),M=a;let s;t[15]!==c||t[16]!==b.renamedTo?(s=()=>c(b.renamedTo),t[15]=c,t[16]=b.renamedTo,t[17]=s):s=t[17];let l,u;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,j.jsx)(v,{className:`size-4`,"aria-hidden":`true`}),u=(0,j.jsx)(i,{id:`AItsE5`}),t[18]=l,t[19]=u):(l=t[18],u=t[19]);let d;t[20]===s?d=t[21]:(d=(0,j.jsxs)(o,{onClick:s,"data-testid":`share-receive-miss-open-renamed`,children:[l,u]}),t[20]=s,t[21]=d);let f;t[22]!==w||t[23]!==d?(f=(0,j.jsxs)(j.Fragment,{children:[d,w]}),t[22]=w,t[23]=d,t[24]=f):f=t[24],N=f}else if(b.verdict===`deleted`){let e;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,j.jsx)(O,{className:`size-9`,"aria-hidden":`true`}),t[25]=e):e=t[25],A=e;let n;t[26]!==m||t[27]!==y?(n={targetNoun:y,branch:m},t[26]=m,t[27]=y,t[28]=n):n=t[28];let r;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(r={0:(0,j.jsx)(`code`,{className:`rounded-sm bg-muted px-1 py-0.5 text-foreground/80`})},t[29]=r):r=t[29];let a;t[30]===n?a=t[31]:(a=(0,j.jsx)(i,{id:`kpqWwG`,values:n,components:r}),t[30]=n,t[31]=a),M=a,N=w}else if(b.verdict===`never-on-branch`){let e;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,j.jsx)(D,{className:`size-9`,"aria-hidden":`true`}),t[32]=e):e=t[32],A=e;let n;t[33]!==m||t[34]!==y?(n={targetNoun:y,branch:m},t[33]=m,t[34]=y,t[35]=n):n=t[35];let r;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(r={0:(0,j.jsx)(`code`,{className:`rounded-sm bg-muted px-1 py-0.5 text-foreground/80`})},t[36]=r):r=t[36];let a;t[37]===n?a=t[38]:(a=(0,j.jsx)(i,{id:`i9TPUi`,values:n,components:r}),t[37]=n,t[38]=a),M=a,N=w}else if(b.verdict===`changed-locally`){let e;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,j.jsx)(E,{className:`size-9`,"aria-hidden":`true`}),t[39]=e):e=t[39],A=e;let n=p?.syncEnabled===!0,r=p?.pushPermission?.checkStatus===`denied`||!!(p?.pushError||p?.pushErrorCode);if(n){let e;t[40]!==m||t[41]!==y?(e=m===null?(0,j.jsx)(i,{id:`RyIKxy`,values:{targetNoun:y}}):(0,j.jsx)(i,{id:`l6kpzR`,values:{targetNoun:y,branch:m},components:{0:(0,j.jsx)(`code`,{className:`rounded-sm bg-muted px-1 py-0.5 text-foreground/80`})}}),t[40]=m,t[41]=y,t[42]=e):e=t[42],M=e}else{let e;t[43]!==m||t[44]!==y?(e=m===null?(0,j.jsx)(i,{id:`UuYo7g`,values:{targetNoun:y}}):(0,j.jsx)(i,{id:`HoWElC`,values:{targetNoun:y,branch:m},components:{0:(0,j.jsx)(`code`,{className:`rounded-sm bg-muted px-1 py-0.5 text-foreground/80`})}}),t[43]=m,t[44]=y,t[45]=e):e=t[45],M=e}let a=null;if(p?.syncEnabled){if(P(p)&&!r){let e;t[46]!==d||t[47]!==p?(e=(0,j.jsx)(H,{status:p,onSyncCompleted:d}),t[46]=d,t[47]=p,t[48]=e):e=t[48],a=e}}else if(p!==null){let e;t[49]===u?e=t[50]:(e=(0,j.jsx)(V,{onEnabled:u}),t[49]=u,t[50]=e),a=e}let o;t[51]!==w||t[52]!==a?(o=(0,j.jsxs)(j.Fragment,{children:[a,w]}),t[51]=w,t[52]=a,t[53]=o):o=t[53],N=o}else{let e;t[54]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,j.jsx)(T,{className:`size-9`,"aria-hidden":`true`}),t[54]=e):e=t[54],A=e;let n;t[55]===m?n=t[56]:(n=m===null?(0,j.jsx)(i,{id:`Xewl6B`}):(0,j.jsx)(i,{id:`d1JjXo`,values:{branch:m},components:{0:(0,j.jsx)(`code`,{className:`rounded-sm bg-muted px-1 py-0.5 text-foreground/80`})}}),t[55]=m,t[56]=n),M=n,N=w}let F;t[57]===A?F=t[58]:(F=(0,j.jsx)(`div`,{className:`flex size-16 items-center justify-center rounded-full border bg-muted/40 text-muted-foreground`,children:A}),t[57]=A,t[58]=F);let I;t[59]===M?I=t[60]:(I=(0,j.jsx)(`p`,{className:`max-w-md text-balance text-base leading-6 text-foreground/90`,children:M}),t[59]=M,t[60]=I);let L;t[61]===N?L=t[62]:(L=(0,j.jsx)(`div`,{className:`flex flex-col-reverse gap-2 sm:flex-row`,children:N}),t[61]=N,t[62]=L);let R;return t[63]!==F||t[64]!==I||t[65]!==L?(R=(0,j.jsxs)(j.Fragment,{children:[F,I,L]}),t[63]=F,t[64]=I,t[65]=L,t[66]=R):R=t[66],R}function W(e){return e.replace(/^\/+|\/+$/g,``)}function G(e,t){if(t.kind===`folder`){if(C(e))return W(t.path)===``;let n=S(e);return n!==null&&W(n)===W(t.path)}let n=S(e);return n===null?!1:x(n)===x(t.path)}function K(){let e=null,t=new Set,n=!1;function r(){for(let e of t)e()}function i(t){e!==t&&(e=t,r())}function a(){e!==null&&(G(window.location.hash,e)||i(null))}function o(){n||typeof window>`u`||(n=!0,window.addEventListener(`hashchange`,a))}return{arm(e){o(),i(e)},clear(){i(null)},getSnapshot(){return e},subscribe(e){return t.add(e),()=>{t.delete(e)}},dispose(){n&&typeof window<`u`&&(window.removeEventListener(`hashchange`,a),n=!1),i(null)}}}var q=K();function J(e,t){return e===null||e.kind!==`missing`||t===null||x(t.path)!==e.target?null:t}export{z as a,T as c,R as i,q as n,F as o,U as r,N as s,J as t};
1
+ import{o as e}from"./chunk-CFjPhJqf.js";import{n as t,r as n,t as r}from"./compiler-runtime-CVnuRdak.js";import{n as i,r as a}from"./dist-CQw2y-s3.js";import{t as o,u as s}from"./button-cneJOVxD.js";import{a as c,c as l,n as u,r as d,t as f}from"./EnableSyncConfirmDialog-Bfx-F020.js";import{t as p}from"./arrow-up-right-Crm0Btez.js";import{t as m}from"./check-DRRCCRSs.js";import{t as h}from"./folder-open-BF5DIykr.js";import{t as g}from"./info-BlYnsVoP.js";import{t as _}from"./loader-circle-B7Gv_Djz.js";import{n as v}from"./miss-dialog-store-PJQ_kr0I.js";import{t as y}from"./refresh-cw-CluaccKu.js";import{t as b}from"./triangle-alert-c3yCucJv.js";import{h as x,r as S,u as C}from"./doc-hash-I00EhzUZ.js";import{t as w}from"./external-link-BjECE2gH.js";var T=s(`arrow-down-to-line`,[[`path`,{d:`M12 17V3`,key:`1cwfxf`}],[`path`,{d:`m6 11 6 6 6-6`,key:`12ii2o`}],[`path`,{d:`M19 21H5`,key:`150jfl`}]]),E=s(`file-pen`,[[`path`,{d:`M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34`,key:`o6klzx`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z`,key:`zhnas1`}]]),D=s(`file-question-mark`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}],[`path`,{d:`M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3`,key:`mhlwft`}]]),O=s(`file-x-corner`,[[`path`,{d:`M11 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5`,key:`1jo35a`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m15 17 5 5`,key:`36xl1x`}],[`path`,{d:`m20 17-5 5`,key:`vdz27y`}]]),k=r(),A=e(t(),1),j=n(),M=`https://git-scm.com/docs/git-push`;function N(e,t){return!(e!==`stale`&&e!==`absent`||e===`stale`&&t?.syncEnabled===!0)}function P(e){return e?e.state!==`dormant`&&e.state!==`disabled`&&e.state!==`auth-error`&&e.state!==`conflict`:!1}function F(e){let t=(0,k.c)(47),{freshness:n,status:r,kind:s}=e,{_:l}=a(),{confirmOpen:h,setConfirmOpen:_,onToggleRequest:v,onConfirm:x}=d(c()),[S,C]=(0,A.useState)(`idle`),w=(0,A.useRef)(null),T,E;if(t[0]!==r||t[1]!==S?(T=()=>{if(!(S!==`pending`||!r)){if(r.pushError||r.pushErrorCode){C(`idle`);return}(r.lastSyncUtc??null)!==w.current&&C(`synced`)}},E=[S,r],t[0]=r,t[1]=S,t[2]=T,t[3]=E):(T=t[2],E=t[3]),(0,A.useEffect)(T,E),!N(n,r))return null;if(S===`synced`){let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,j.jsxs)(`div`,{className:`flex items-start gap-2 rounded-md border border-dashed border-border bg-muted/40 p-2 text-xs text-muted-foreground`,"data-testid":`share-freshness-row`,children:[(0,j.jsx)(m,{className:`mt-0.5 size-3.5 shrink-0`,"aria-hidden":`true`}),(0,j.jsx)(`span`,{children:(0,j.jsx)(i,{id:`fxbCNQ`})})]}),t[4]=e):e=t[4],e}let D=r?.syncEnabled===!0,O=r?.pushPermission?.checkStatus===`denied`,F=!!(r?.pushError||r?.pushErrorCode),R=O||F,z=n===`absent`&&!D,B;if(n===`absent`&&!D){let e;t[5]!==l||t[6]!==s?(e=l(s===`folder`?{id:`PrJYSN`}:{id:`3BnyYc`}),t[5]=l,t[6]=s,t[7]=e):e=t[7],B=e}else if(n===`stale`){let e;t[8]!==l||t[9]!==s?(e=l(s===`folder`?{id:`Gt4gOO`}:{id:`2IYGkU`}),t[8]=l,t[9]=s,t[10]=e):e=t[10],B=e}else{let e;t[11]!==l||t[12]!==s?(e=l(s===`folder`?{id:`nqV0Kk`}:{id:`gwykHF`}),t[11]=l,t[12]=s,t[13]=e):e=t[13],B=e}let V;t[14]!==l||t[15]!==F||t[16]!==O?(V=O?l({id:`9OIqw4`}):F?l({id:`K6MQQk`}):null,t[14]=l,t[15]=F,t[16]=O,t[17]=V):V=t[17];let H=V,U;t[18]===r?.lastSyncUtc?U=t[19]:(U=()=>{w.current=r?.lastSyncUtc??null,C(`pending`),u(`sync`).catch(e=>{console.warn(`[share-freshness] sync trigger failed`,e instanceof Error?e.message:e),C(`idle`)})},t[18]=r?.lastSyncUtc,t[19]=U);let W=U,G=z?b:g,K;t[20]===G?K=t[21]:(K=(0,j.jsx)(G,{className:`mt-0.5 size-3.5 shrink-0`,"aria-hidden":`true`}),t[20]=G,t[21]=K);let q;t[22]===B?q=t[23]:(q=(0,j.jsx)(`span`,{children:B}),t[22]=B,t[23]=q);let J;t[24]===H?J=t[25]:(J=H?(0,j.jsx)(`span`,{children:H}):null,t[24]=H,t[25]=J);let Y;t[26]!==R||t[27]!==W||t[28]!==v||t[29]!==r||t[30]!==D||t[31]!==S?(Y=R?null:D?P(r)?(0,j.jsx)(`div`,{children:S===`pending`?(0,j.jsxs)(o,{variant:`outline`,size:`xs`,disabled:!0,children:[(0,j.jsx)(y,{className:`size-3 shrink-0 animate-spin`,"aria-hidden":`true`}),(0,j.jsx)(i,{id:`EHu0x2`})]}):(0,j.jsx)(o,{variant:`outline`,size:`xs`,onClick:W,children:(0,j.jsx)(i,{id:`lb_UU4`})})}):null:(0,j.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1.5`,children:[(0,j.jsx)(o,{variant:`outline`,size:`xs`,onClick:()=>v(!0),children:(0,j.jsx)(i,{id:`XU0OXn`})}),(0,j.jsxs)(`a`,{href:M,target:`_blank`,rel:`noopener noreferrer`,onClick:L,onAuxClick:I,className:`inline-flex items-center gap-1 transition-colors hover:text-primary`,children:[(0,j.jsx)(i,{id:`GLxIKR`}),(0,j.jsx)(p,{className:`size-3 shrink-0`,"aria-hidden":`true`})]})]}),t[26]=R,t[27]=W,t[28]=v,t[29]=r,t[30]=D,t[31]=S,t[32]=Y):Y=t[32];let X;t[33]!==q||t[34]!==J||t[35]!==Y?(X=(0,j.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1.5`,children:[q,J,Y]}),t[33]=q,t[34]=J,t[35]=Y,t[36]=X):X=t[36];let Z;t[37]!==K||t[38]!==X?(Z=(0,j.jsxs)(`div`,{className:`flex items-start gap-2 rounded-md border border-dashed border-border bg-muted/40 p-2 text-xs text-muted-foreground`,"data-testid":`share-freshness-row`,children:[K,X]}),t[37]=K,t[38]=X,t[39]=Z):Z=t[39];let Q;t[40]!==h||t[41]!==x||t[42]!==_?(Q=(0,j.jsx)(f,{open:h,onOpenChange:_,onConfirm:x}),t[40]=h,t[41]=x,t[42]=_,t[43]=Q):Q=t[43];let $;return t[44]!==Z||t[45]!==Q?($=(0,j.jsxs)(j.Fragment,{children:[Z,Q]}),t[44]=Z,t[45]=Q,t[46]=$):$=t[46],$}function I(e){return w(e,M)}function L(e){return w(e,M)}function R(e){let t=e.lastIndexOf(`/`);return t===-1?``:e.slice(0,t)}function z(e){let t=(0,k.c)(13),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={phase:`pending`},t[0]=n):n=t[0];let[r,i]=(0,A.useState)(n),[a,o]=(0,A.useState)(0),s=e.branch,c;t[1]!==s||t[2]!==e.kind||t[3]!==e.path?(c=()=>{let t=window.okDesktop??null;if(!t||s===null){i({phase:`resolved`,resolution:{verdict:`unknown`}});return}let n=!1;return t.project.fetchTargetStatus({projectPath:t.config.projectPath,branch:s,path:e.path,kind:e.kind}).then(e=>{n||i({phase:`resolved`,resolution:e??{verdict:`unknown`}})}).catch(e=>{n||(console.warn(`[receive] miss target-status fetch failed`,e instanceof Error?e.message:e),i({phase:`resolved`,resolution:{verdict:`unknown`}}))}),()=>{n=!0}},t[1]=s,t[2]=e.kind,t[3]=e.path,t[4]=c):c=t[4];let l;t[5]!==s||t[6]!==a||t[7]!==e.kind||t[8]!==e.path?(l=[s,e.kind,e.path,a],t[5]=s,t[6]=a,t[7]=e.kind,t[8]=e.path,t[9]=l):l=t[9],(0,A.useEffect)(c,l);let u;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>{i({phase:`pending`}),o(B)},t[10]=u):u=t[10];let d;return t[11]===r?d=t[12]:(d={state:r,refetch:u},t[11]=r,t[12]=d),d}function B(e){return e+1}function V(e){let t=(0,k.c)(15),{onEnabled:n}=e,r=c(),a;t[0]===n?a=t[1]:(a={onEnabled:n},t[0]=n,t[1]=a);let{confirmOpen:s,setConfirmOpen:l,onToggleRequest:u,onConfirm:p}=d(r,a),m;t[2]===u?m=t[3]:(m=()=>u(!0),t[2]=u,t[3]=m);let h,g;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,j.jsx)(y,{className:`size-4`,"aria-hidden":`true`}),g=(0,j.jsx)(i,{id:`XU0OXn`}),t[4]=h,t[5]=g):(h=t[4],g=t[5]);let _;t[6]===m?_=t[7]:(_=(0,j.jsxs)(o,{onClick:m,"data-testid":`share-receive-miss-enable-sync`,children:[h,g]}),t[6]=m,t[7]=_);let v;t[8]!==s||t[9]!==p||t[10]!==l?(v=(0,j.jsx)(f,{open:s,onOpenChange:l,onConfirm:p}),t[8]=s,t[9]=p,t[10]=l,t[11]=v):v=t[11];let b;return t[12]!==_||t[13]!==v?(b=(0,j.jsxs)(j.Fragment,{children:[_,v]}),t[12]=_,t[13]=v,t[14]=b):b=t[14],b}function H(e){let t=(0,k.c)(15),{status:n,onSyncCompleted:r}=e,[a,s]=(0,A.useState)(!1),c=(0,A.useRef)(null),l;t[0]!==r||t[1]!==a||t[2]!==n.lastSyncUtc||t[3]!==n.pushError||t[4]!==n.pushErrorCode?(l=()=>{if(a){if(n.pushError||n.pushErrorCode){s(!1);return}(n.lastSyncUtc??null)!==c.current&&(s(!1),r?.())}},t[0]=r,t[1]=a,t[2]=n.lastSyncUtc,t[3]=n.pushError,t[4]=n.pushErrorCode,t[5]=l):l=t[5];let d;t[6]!==r||t[7]!==a||t[8]!==n?(d=[a,n,r],t[6]=r,t[7]=a,t[8]=n,t[9]=d):d=t[9],(0,A.useEffect)(l,d);let f;t[10]===n.lastSyncUtc?f=t[11]:(f=()=>{c.current=n.lastSyncUtc??null,s(!0),u(`sync`).catch(e=>{console.warn(`[receive] miss sync trigger failed`,e instanceof Error?e.message:e),s(!1)})},t[10]=n.lastSyncUtc,t[11]=f);let p=f,m;return t[12]!==p||t[13]!==a?(m=a?(0,j.jsxs)(o,{disabled:!0,"data-testid":`share-receive-miss-sync-now`,children:[(0,j.jsx)(y,{className:`size-4 animate-spin`,"aria-hidden":`true`}),(0,j.jsx)(i,{id:`EHu0x2`})]}):(0,j.jsxs)(o,{onClick:p,"data-testid":`share-receive-miss-sync-now`,children:[(0,j.jsx)(y,{className:`size-4`,"aria-hidden":`true`}),(0,j.jsx)(i,{id:`lb_UU4`})]}),t[12]=p,t[13]=a,t[14]=m):m=t[14],m}function U(e){let t=(0,k.c)(67),{nav:n,state:r,onBrowseFolder:s,onOpenRenamed:c,onEnableAutoSync:u,onSyncCompleted:d}=e,{_:f}=a(),p=l(),m=n.branch,g;t[0]!==f||t[1]!==n.kind?(g=n.kind===`folder`?f({id:`ugoTXs`}):f({id:`XH30C4`}),t[0]=f,t[1]=n.kind,t[2]=g):g=t[2];let y=g;if(r.phase===`pending`){let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(_,{className:`size-5 animate-spin`,"aria-hidden":`true`}),(0,j.jsx)(i,{id:`c8jBgX`})]}),t[3]=e):e=t[3],e}let{resolution:b}=r,x,S;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,j.jsx)(h,{className:`size-4`,"aria-hidden":`true`}),S=(0,j.jsx)(i,{id:`hItdtk`}),t[4]=x,t[5]=S):(x=t[4],S=t[5]);let C;t[6]===s?C=t[7]:(C=(0,j.jsxs)(o,{variant:`outline`,onClick:s,"data-testid":`share-receive-miss-browse`,children:[x,S]}),t[6]=s,t[7]=C);let w=C,A,M,N;if(b.verdict===`renamed`){let e;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,j.jsx)(v,{className:`size-9`,"aria-hidden":`true`}),t[8]=e):e=t[8],A=e;let n;t[9]!==b.renamedTo||t[10]!==y?(n={0:b.renamedTo,targetNoun:y},t[9]=b.renamedTo,t[10]=y,t[11]=n):n=t[11];let r;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(r={0:(0,j.jsx)(`code`,{className:`rounded-sm bg-muted px-1 py-0.5 text-foreground/80`})},t[12]=r):r=t[12];let a;t[13]===n?a=t[14]:(a=(0,j.jsx)(i,{id:`P0HC30`,values:n,components:r}),t[13]=n,t[14]=a),M=a;let s;t[15]!==c||t[16]!==b.renamedTo?(s=()=>c(b.renamedTo),t[15]=c,t[16]=b.renamedTo,t[17]=s):s=t[17];let l,u;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,j.jsx)(v,{className:`size-4`,"aria-hidden":`true`}),u=(0,j.jsx)(i,{id:`AItsE5`}),t[18]=l,t[19]=u):(l=t[18],u=t[19]);let d;t[20]===s?d=t[21]:(d=(0,j.jsxs)(o,{onClick:s,"data-testid":`share-receive-miss-open-renamed`,children:[l,u]}),t[20]=s,t[21]=d);let f;t[22]!==w||t[23]!==d?(f=(0,j.jsxs)(j.Fragment,{children:[d,w]}),t[22]=w,t[23]=d,t[24]=f):f=t[24],N=f}else if(b.verdict===`deleted`){let e;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,j.jsx)(O,{className:`size-9`,"aria-hidden":`true`}),t[25]=e):e=t[25],A=e;let n;t[26]!==m||t[27]!==y?(n={targetNoun:y,branch:m},t[26]=m,t[27]=y,t[28]=n):n=t[28];let r;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(r={0:(0,j.jsx)(`code`,{className:`rounded-sm bg-muted px-1 py-0.5 text-foreground/80`})},t[29]=r):r=t[29];let a;t[30]===n?a=t[31]:(a=(0,j.jsx)(i,{id:`kpqWwG`,values:n,components:r}),t[30]=n,t[31]=a),M=a,N=w}else if(b.verdict===`never-on-branch`){let e;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,j.jsx)(D,{className:`size-9`,"aria-hidden":`true`}),t[32]=e):e=t[32],A=e;let n;t[33]!==m||t[34]!==y?(n={targetNoun:y,branch:m},t[33]=m,t[34]=y,t[35]=n):n=t[35];let r;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(r={0:(0,j.jsx)(`code`,{className:`rounded-sm bg-muted px-1 py-0.5 text-foreground/80`})},t[36]=r):r=t[36];let a;t[37]===n?a=t[38]:(a=(0,j.jsx)(i,{id:`i9TPUi`,values:n,components:r}),t[37]=n,t[38]=a),M=a,N=w}else if(b.verdict===`changed-locally`){let e;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,j.jsx)(E,{className:`size-9`,"aria-hidden":`true`}),t[39]=e):e=t[39],A=e;let n=p?.syncEnabled===!0,r=p?.pushPermission?.checkStatus===`denied`||!!(p?.pushError||p?.pushErrorCode);if(n){let e;t[40]!==m||t[41]!==y?(e=m===null?(0,j.jsx)(i,{id:`RyIKxy`,values:{targetNoun:y}}):(0,j.jsx)(i,{id:`l6kpzR`,values:{targetNoun:y,branch:m},components:{0:(0,j.jsx)(`code`,{className:`rounded-sm bg-muted px-1 py-0.5 text-foreground/80`})}}),t[40]=m,t[41]=y,t[42]=e):e=t[42],M=e}else{let e;t[43]!==m||t[44]!==y?(e=m===null?(0,j.jsx)(i,{id:`UuYo7g`,values:{targetNoun:y}}):(0,j.jsx)(i,{id:`HoWElC`,values:{targetNoun:y,branch:m},components:{0:(0,j.jsx)(`code`,{className:`rounded-sm bg-muted px-1 py-0.5 text-foreground/80`})}}),t[43]=m,t[44]=y,t[45]=e):e=t[45],M=e}let a=null;if(p?.syncEnabled){if(P(p)&&!r){let e;t[46]!==d||t[47]!==p?(e=(0,j.jsx)(H,{status:p,onSyncCompleted:d}),t[46]=d,t[47]=p,t[48]=e):e=t[48],a=e}}else if(p!==null){let e;t[49]===u?e=t[50]:(e=(0,j.jsx)(V,{onEnabled:u}),t[49]=u,t[50]=e),a=e}let o;t[51]!==w||t[52]!==a?(o=(0,j.jsxs)(j.Fragment,{children:[a,w]}),t[51]=w,t[52]=a,t[53]=o):o=t[53],N=o}else{let e;t[54]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,j.jsx)(T,{className:`size-9`,"aria-hidden":`true`}),t[54]=e):e=t[54],A=e;let n;t[55]===m?n=t[56]:(n=m===null?(0,j.jsx)(i,{id:`Xewl6B`}):(0,j.jsx)(i,{id:`d1JjXo`,values:{branch:m},components:{0:(0,j.jsx)(`code`,{className:`rounded-sm bg-muted px-1 py-0.5 text-foreground/80`})}}),t[55]=m,t[56]=n),M=n,N=w}let F;t[57]===A?F=t[58]:(F=(0,j.jsx)(`div`,{className:`flex size-16 items-center justify-center rounded-full border bg-muted/40 text-muted-foreground`,children:A}),t[57]=A,t[58]=F);let I;t[59]===M?I=t[60]:(I=(0,j.jsx)(`p`,{className:`max-w-md text-balance text-base leading-6 text-foreground/90`,children:M}),t[59]=M,t[60]=I);let L;t[61]===N?L=t[62]:(L=(0,j.jsx)(`div`,{className:`flex flex-col-reverse gap-2 sm:flex-row`,children:N}),t[61]=N,t[62]=L);let R;return t[63]!==F||t[64]!==I||t[65]!==L?(R=(0,j.jsxs)(j.Fragment,{children:[F,I,L]}),t[63]=F,t[64]=I,t[65]=L,t[66]=R):R=t[66],R}function W(e){return e.replace(/^\/+|\/+$/g,``)}function G(e,t){if(t.kind===`folder`){if(C(e))return W(t.path)===``;let n=S(e);return n!==null&&W(n)===W(t.path)}let n=S(e);return n===null?!1:x(n)===x(t.path)}function K(){let e=null,t=new Set,n=!1;function r(){for(let e of t)e()}function i(t){e!==t&&(e=t,r())}function a(){e!==null&&(G(window.location.hash,e)||i(null))}function o(){n||typeof window>`u`||(n=!0,window.addEventListener(`hashchange`,a))}return{arm(e){o(),i(e)},clear(){i(null)},getSnapshot(){return e},subscribe(e){return t.add(e),()=>{t.delete(e)}},dispose(){n&&typeof window<`u`&&(window.removeEventListener(`hashchange`,a),n=!1),i(null)}}}var q=K();function J(e,t){return e===null||e.kind!==`missing`||t===null||x(t.path)!==e.target?null:t}export{z as a,T as c,R as i,q as n,F as o,U as r,N as s,J as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-CFjPhJqf.js";import{n as t,r as n,t as r}from"./compiler-runtime-CVnuRdak.js";import{n as i,r as a}from"./dist-CQw2y-s3.js";import{n as o}from"./dist-BVOt51sU.js";import{$t as s,Ar as c,Bt as l,Mt as u,Nt as d,Qt as f,Rt as p,St as m,Tt as h,Vt as g,Y as _,an as v,en as y,in as b,k as x,n as S,nn as C,pt as w,rn as T,t as E,tn as D,wt as O}from"./dist-D5fPTJjV.js";import{i as k,t as A,u as j}from"./button-cneJOVxD.js";import{a as M,d as N,f as ee,l as P,n as F,r as I,t as L,u as R}from"./workspace-paths-BTMolBhv.js";import{t as z}from"./folder-open-BF5DIykr.js";import{t as B}from"./loader-circle-B7Gv_Djz.js";import{t as te}from"./refresh-cw-CluaccKu.js";import{t as V}from"./trash-2-Dcpo0Di-.js";import{n as H}from"./dist-CoyydoqN.js";import{a as U,c as W,i as ne,n as G,o as re,r as K,s as ie,t as ae}from"./dialog-DdHaoAGK.js";import{C as q,S as J,T as Y,_ as X,a as oe,d as se,f as ce,g as le,n as ue,s as de,t as fe,v as pe,w as me}from"./skills-api-C4PwgAoY.js";import{t as he}from"./label-DPn_C7ZD.js";import{t as ge}from"./input-tW78aNaR.js";import{t as _e}from"./parse-api-error-CqtA8BcL.js";import{t as ve}from"./dist-BvBijIC5.js";import{o as ye,s as be}from"./documents-events-BvkJvzEE.js";import{n as xe}from"./config-context-CE3SCVYc.js";import{i as Se,n as Ce,t as we}from"./cursor-Diqcx2dn.js";var Te=j(`cloud-download`,[[`path`,{d:`M12 13v8l-4-4`,key:`1f5nwf`}],[`path`,{d:`m12 21 4-4`,key:`1lfcce`}],[`path`,{d:`M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284`,key:`ui1hmy`}]]),Ee=j(`pencil-line`,[[`path`,{d:`M13 21h8`,key:`1jsn5i`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}]]),De=j(`power-off`,[[`path`,{d:`M18.36 6.64A9 9 0 0 1 20.77 15`,key:`dxknvb`}],[`path`,{d:`M6.16 6.16a9 9 0 1 0 12.68 12.68`,key:`1x7qb5`}],[`path`,{d:`M12 2v4`,key:`3427ic`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),Z=e(t(),1),Q=r(),Oe=[{id:`claude-cowork`,displayName:`Claude Cowork`,appBrandName:`Claude Desktop`,schemes:[`claude:`],installUrl:`https://claude.com/download`,tagline:`Conversational pairing in Claude Desktop's Cowork tab.`},{id:`claude-code`,displayName:`Claude`,appBrandName:`Claude Desktop`,schemes:[`claude:`],installUrl:`https://claude.com/download`,tagline:`Agentic coding in Claude Desktop's Code tab.`},{id:`codex`,displayName:`Codex`,appBrandName:`Codex Desktop`,schemes:[`codex:`],installUrl:`https://openai.com/codex`,tagline:`OpenAI's coding agent, terminal-native.`},{id:`cursor`,displayName:`Cursor`,schemes:[`cursor:`],installUrl:`https://cursor.com/`,tagline:`AI-first VS Code fork with multi-file edits.`},{id:`opencode`,displayName:`OpenCode`,schemes:[],installUrl:`https://opencode.ai`,tagline:`Open-source terminal coding agent; bring any local model.`},{id:`pi`,displayName:`Pi`,schemes:[],installUrl:`https://pi.dev`,tagline:`Minimal open-source terminal coding agent, extensible in TypeScript.`},{id:`antigravity`,displayName:`Antigravity`,schemes:[],installUrl:`https://antigravity.google`,tagline:"Google's agentic IDE + `agy` terminal agent."}],ke=Oe.filter(e=>e.id!==`claude-cowork`&&e.id!==`opencode`&&e.id!==`pi`&&e.id!==`antigravity`),$=n();function Ae(){let e=(0,Q.c)(3),[t,n]=(0,Z.useState)(Ne),r,i;return e[0]===t?(r=e[1],i=e[2]):(r=()=>{if(t!==null||window.okDesktop)return;let e=!0;return fetch(`/api/workspace`).then(async t=>{let r=await t.json().catch(Me);if(!e||!t.ok)return;let i=u.safeParse(r);i.success&&n({contentDir:i.data.contentDir,pathSeparator:i.data.pathSeparator})}).catch(je),()=>{e=!1}},i=[t],e[0]=t,e[1]=r,e[2]=i),(0,Z.useEffect)(r,i),t}function je(e){console.warn(`[useWorkspace] /api/workspace fetch failed:`,e)}function Me(){return null}function Ne(){return Pe()}function Pe(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}function Fe(e){return{async install(t){let n;try{n=await e.buildAndOpen(t?.force?{force:!0}:void 0)}catch(e){return{ok:!1,reason:`bridge-error`,message:e instanceof Error?e.message:String(e)}}return n.ok?{ok:!0,path:n.path}:{ok:!1,reason:n.reason,message:n.message}}}}function Ie(e={}){let t=e.fetch??globalThis.fetch,n=`${e.apiOrigin??``}/api/install-skill`;return{async install(e){let r;try{r=await t(n,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e?.force?{force:!0}:{})})}catch(e){return{ok:!1,reason:`network-error`,message:e instanceof Error?e.message:String(e)}}if(!r.ok){let e=`HTTP ${r.status}`;try{let t=_e(await r.json());t&&(e=t)}catch{}return{ok:!1,reason:`http-error`,message:e}}let i;try{i=await r.json()}catch(e){return{ok:!1,reason:`parse-error`,message:e instanceof Error?e.message:`Invalid server response`}}return!i||typeof i.status!=`string`?{ok:!1,reason:`parse-error`,message:`Invalid server response shape`}:i.status===`failed`?{ok:!1,reason:`build-failed`,message:i.buildError??`unknown build failure`}:{ok:!0,path:i.outputPath,handoffWarning:i.handoffError?.message}}}}function Le(){if(typeof window>`u`)return null;let e=window.okDesktop?.skill;return e?Fe(e):Ie()}var Re=`ok:skill:cowork:installed`,ze=`1`,Be=250,Ve=`/api/skill/install-state`;function He(e){return`${Re}:v${e}`}var Ue=new Map;async function We(e={},t={}){let n=t.force?`__force__`:`__default__`,r=Ue.get(n);if(r)return r;let i=Ge(e,t);return Ue.set(n,i),i.finally(()=>{Ue.get(n)===i&&Ue.delete(n)}),i}async function Ge(e,t){let n=e.installer===void 0?Le():e.installer,r=Ke(e.storage),i=e.fetchSnapshot??Je,a=e.serverTimeoutMs??Be,o=null;if(!t.force){try{o=await Ye(i(),a)}catch(e){console.warn(`[cowork-skill] server install-state check failed; falling through:`,e)}if(o){let e=o.targets[`claude-cowork`]??null;if(e&&e.version===o.currentVersion)return{kind:`already-installed`,source:`server`}}}let s=He(o?.currentVersion??e.fallbackSkillVersion??qe());if(!t.force&&r?.getItem(s)===ze)return{kind:`already-installed`,source:`local`};if(!n)return{kind:`host-unsupported`};let c=await n.install({force:t.force??!1});if(!c.ok)return{kind:`install-failed`,reason:c.reason,message:c.message};try{r?.setItem(s,ze)}catch(e){console.warn(`[cowork-skill] storage.setItem failed (guard will not persist):`,e)}return{kind:`installed-now`,path:c.path,handoffWarning:c.handoffWarning}}function Ke(e){if(e!==void 0)return e;if(typeof window>`u`)return null;try{return window.localStorage}catch{return null}}function qe(){return typeof window>`u`?`unknown`:window.okDesktop?.appVersion??`unknown`}async function Je(){let e;try{e=await fetch(Ve,{method:`GET`,cache:`no-store`})}catch{return null}if(!e.ok)return null;try{let t=await e.json();return typeof t?.currentVersion==`string`?t:null}catch{return null}}async function Ye(e,t){return Promise.race([e,new Promise(e=>{setTimeout(()=>e(null),t)})])}function Xe(e){return We({},e)}function Ze(){return We({},{force:!0})}async function Qe(e,t){let n;try{n=await t(`/api/handoff`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)})}catch(e){return{ok:!1,reason:`dispatch-error`,detail:e instanceof Error?e.message:String(e)}}return n.status===200?{ok:!0}:n.status===404?{ok:!1,reason:`not-installed`,detail:`POST /api/handoff returned 404`}:n.status===422?{ok:!1,reason:`not-installed`,detail:`POST /api/handoff returned ${n.status}`}:{ok:!1,reason:`dispatch-error`,detail:`POST /api/handoff returned ${n.status}`}}async function $e(e,t={}){let n=t.fetch??globalThis.fetch.bind(globalThis);switch(e.target){case`claude-cowork`:return Qe({target:`claude-cowork`,url:p({mode:`cowork`},e)},n);case`claude-code`:return Qe({target:`claude-code`,url:p({mode:`code`},e)},n);case`codex`:return Qe({target:`codex`,url:l(e)},n);case`cursor`:return Qe({target:`cursor`,url:g(e),workspacePath:e.projectDir},n);case`opencode`:return{ok:!1,reason:`invalid-payload`,detail:`opencode is terminal-only; launch via requestTerminalLaunch`};case`pi`:return{ok:!1,reason:`invalid-payload`,detail:`pi is terminal-only; launch via requestTerminalLaunch`};case`antigravity`:return{ok:!1,reason:`invalid-payload`,detail:`antigravity is terminal-only; launch via requestTerminalLaunch`};default:{let t=e.target;return{ok:!1,reason:`invalid-payload`,detail:`unknown target: ${String(t)}`}}}}async function et(e,t={}){let n=t.okDesktop??(typeof window<`u`?window.okDesktop:void 0);if(n?.shell?.openExternal)try{return await n.shell.openExternal(e),{ok:!0}}catch(e){return{ok:!1,reason:`dispatch-error`,detail:tt(e)}}let r=t.doc??(typeof document<`u`?document:void 0);if(!r)return{ok:!1,reason:`dispatch-error`,detail:`no DOM available`};try{let t=r.createElement(`a`);return t.href=e,t.rel=`noopener noreferrer`,/^https?:/i.test(e)&&(t.target=`_blank`),r.body.appendChild(t),t.click(),t.remove(),{ok:!0}}catch(e){return{ok:!1,reason:`dispatch-error`,detail:tt(e)}}}function tt(e){if(e instanceof Error)return e.message;if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}async function nt(e,t={}){let n=t.okDesktop??(typeof window<`u`?window.okDesktop:void 0);if(n?.shell?.recordHandoff)try{await n.shell.recordHandoff(e)}catch(e){(t.warn??(e=>console.warn(e)))(`[handoff] recordHandoff IPC rejected (telemetry skipped): ${e instanceof Error?e.message:String(e)}`)}}function rt(e){if(!e.docName||!e.workspace)return null;let t=L(e.docName),{contentDir:n,pathSeparator:r}=e.workspace;return{docContext:{relativePath:t},projectDir:n,docPath:F(n,t,r)}}function it(e){return e.workspace?.contentDir?{docContext:null,projectDir:e.workspace.contentDir,docPath:``}:null}function at(e){return e.workspace?.contentDir?{docContext:null,createDescription:e.description,createScenario:e.scenario,createMentions:e.mentions,projectDir:e.workspace.contentDir,docPath:``}:null}function ot(e){return et(e.installUrl).then(()=>void 0)}function st(e){return!e.workspace?.contentDir||!e.folderRelativePath?null:{docContext:null,folderRelativePath:e.folderRelativePath,projectDir:e.workspace.contentDir,docPath:``}}function ct(e){return!e.workspace?.contentDir||!e.skillName?null:{docContext:null,skill:{name:e.skillName,scope:e.scope},projectDir:e.workspace.contentDir,docPath:``}}function lt(e){if(!e.workspace?.contentDir)return null;let{contentDir:t,pathSeparator:n}=e.workspace;if(e.docName){let r=e.docRelativePath??L(e.docName),i={scope:`doc`,docRelativePath:r,instruction:e.instruction,mentions:e.mentions};return{docContext:null,compose:e.selection===void 0?i:{...i,selection:e.selection},projectDir:t,docPath:F(t,r,n)}}return e.folderRelativePath?{docContext:null,compose:{scope:`folder`,folderRelativePath:e.folderRelativePath,instruction:e.instruction,mentions:e.mentions},projectDir:t,docPath:``}:{docContext:null,compose:{scope:`project`,instruction:e.instruction,mentions:e.mentions},projectDir:t,docPath:``}}function ut(e){return`Opened in ${e}.`}function dt(e,t=1){return t>=3?`Couldn't reach ${e} — please try again later.`:t===2?`Still couldn't reach ${e} — try one more time?`:`Couldn't reach ${e} — try again?`}function ft(e){return e>=3?null:e===2?`Try one more time`:`Retry`}function pt(e,t,n,r,i){let a=i===void 0?{}:{scope:i};return t.ok?{target:e,host:n,outcome:`ok`,ts:r,...a}:{target:e,host:n,outcome:`error`,ts:r,reason:t.reason,...a}}function mt(e,t,n){if(e.scope===`doc`){let r={scope:`doc`,docRelativePath:e.docRelativePath,instruction:e.instruction,mentions:e.mentions,target:t,autoOpen:n};return e.selection===void 0?r:{...r,selection:e.selection}}return e.scope===`folder`?{scope:`folder`,folderRelativePath:e.folderRelativePath,instruction:e.instruction,mentions:e.mentions,target:t,autoOpen:n}:{scope:`project`,instruction:e.instruction,mentions:e.mentions,target:t,autoOpen:n}}function ht(e,t,n){return e.compose?d(mt(e.compose,t,n)):e.selection?T({...e.selection,target:t}):e.skill?b(e.skill.name,e.skill.scope,n):e.ask?f(e.ask.relativePath,e.ask.instruction,n,t):c(e.docContext===null?e.folderRelativePath?C(e.folderRelativePath,n,e.instruction):e.createDescription===void 0?y(n,e.instruction):s(e.createDescription,n,e.createScenario??`new-project`,e.createMentions??[]):D(e.docContext.relativePath,n,e.instruction))}function gt(e,t){let n=typeof e.instruction==`string`&&e.instruction.trim()!==``;return e.compose!==void 0||e.createDescription!==void 0||n?`${_} ${ht(e,O[t].handoffTarget,!1)}`:v(e.docContext?.relativePath??null)}async function _t(e,t,n,r=1){if(e===`claude-cowork`&&r===1){let e;try{e=await n.ensureCoworkSkillInstalled()}catch(e){let t=e instanceof Error?e.message:String(e);return n.toast.error(`Couldn't install OpenKnowledge skill — ${t}`),{ok:!1,reason:`dispatch-error`,detail:`install-error: ${t}`}}if(e.kind===`installed-now`)return n.toast.success(`OpenKnowledge skill saved. Upload it in Claude Desktop, then click Cowork again.`),{ok:!0};if(e.kind===`install-failed`){let t=e.message??e.reason;return n.toast.error(`Couldn't install OpenKnowledge skill — ${t}`),{ok:!1,reason:`dispatch-error`,detail:`install-failed: ${t}`}}}let i={target:e,projectDir:t.projectDir,docPath:t.docPath,prompt:ht(t,e,n.autoOpen)},a=await n.dispatchHandoff(i),o=n.isElectronHost()?`electron`:`web`,s=n.now().toISOString(),c=t.compose,l=pt(e,a,o,s,t.selection!=null||c?.scope===`doc`&&c.selection!==void 0?`selection`:void 0);await n.recordHandoff(l);let u=n.getDisplayName(e);if(a.ok)n.toast.success(ut(u));else{let i=ft(r),a=dt(u,r);i===null?n.toast.error(a):n.toast.error(a,{action:{label:i,onClick:()=>{_t(e,t,n,r+1)}}})}return a}function vt(e){return Oe.find(t=>t.id===e)?.displayName??e}function yt(e=typeof window<`u`?window:void 0){return e?.okDesktop!=null}function bt(){return{dispatchHandoff:$e,recordHandoff:nt,toast:{success:e=>{H.success(e)},error:(e,t)=>{H.error(e,t?{action:t.action}:void 0)}},now:()=>new Date,isElectronHost:()=>yt(),getDisplayName:vt,ensureCoworkSkillInstalled:Xe,autoOpen:!0}}function xt(){let e=(0,Q.c)(2),{merged:t}=xe(),n=t?.appearance?.preview?.autoOpen??!0,r;return e[0]===n?r=e[1]:(r={dispatch:(e,t)=>_t(e,t,{...bt(),autoOpen:n}),reinstallCoworkSkill:Ze},e[0]=n,e[1]=r),r}var St=[...new Set(Oe.flatMap(e=>e.schemes))];function Ct(e,t){let n=t.now?.()??Date.now(),r={};for(let t of Oe){let i=t.schemes[0],a=i===void 0?void 0:e[i];if(!a){r[t.id]={installed:null};continue}r[t.id]={installed:a.installed,...a.displayName===void 0?{}:{displayName:a.displayName},lastChecked:n}}return r}function wt(e){return Ct({},e)}async function Tt(e){let t=e.schemes??St,n=await Promise.all(t.map(async t=>{let n=t.replace(/:$/,``);try{return[t,await e.detectProtocol(n)]}catch{return[t,{installed:!1}]}}));return Object.fromEntries(n)}var Et=Object.fromEntries(St.map(e=>[e,{installed:!1}]));async function Dt(e){let t;try{t=await e.fetch(`/api/installed-agents`,{signal:e.signal,headers:{Accept:`application/json`}})}catch(e){if(e.name===`AbortError`)throw e;return Et}if(!t.ok)return Et;let n;try{n=await t.json()}catch{return Et}if(typeof n!=`object`||!n||Array.isArray(n))return Et;let r=n,i={};for(let e of St)i[e]={installed:r[e.replace(/:$/,``)]===!0};return i}function Ot(e,t){let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n){let n=e[r],i=t[r];if(!n||!i||n.installed!==i.installed||n.displayName!==i.displayName)return!1}return!0}function kt(e){let t=e.throttleMs??1e4,n=!1,r=null,i=null,a={},o=wt({isElectronHost:e.isElectronHost(),now:e.now}),s=new Set,c=()=>{if(!n)for(let e of s)e(o)},l=()=>{o=Ct(a,{isElectronHost:e.isElectronHost(),now:e.now})};return{probe:async()=>{if(n)return;if(i)return i;if(r!==null&&e.now()-r<t)return;let o=(async()=>{try{let t=await e.probe();if(n)return;let i=!Ot(a,t);a=t,i&&(l(),c()),r=e.now()}catch{}finally{i=null}})();return i=o,o},getTargetStates:()=>o,subscribe:e=>(s.add(e),()=>{s.delete(e)}),cancel:()=>{n=!0,s.clear()}}}function At(e=typeof window<`u`?window:void 0){return e?.okDesktop!=null}function jt(){let e=typeof window<`u`?window.okDesktop:void 0;if(e){let t=t=>e.shell.detectProtocol(t);return{probe:()=>Tt({detectProtocol:t}),isElectronHost:()=>!0,now:Date.now}}let t=globalThis.fetch.bind(globalThis);return{probe:()=>Dt({fetch:t}),isElectronHost:()=>!1,now:Date.now}}function Mt(){let e=(0,Q.c)(5),[t,n]=(0,Z.useState)(Nt),r=(0,Z.useRef)(null),i,a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=()=>{let e=kt(jt());r.current=e;let t=e.subscribe(n);e.probe();let i=()=>{e.probe()};return window.addEventListener(`focus`,i),()=>{window.removeEventListener(`focus`,i),t(),e.cancel(),r.current=null}},a=[],e[0]=i,e[1]=a):(i=e[0],a=e[1]),(0,Z.useEffect)(i,a);let o;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>r.current?.probe()??Promise.resolve(),e[2]=o):o=e[2];let s;return e[3]===t?s=e[4]:(s={states:t,refresh:o},e[3]=t,e[4]=s),s}function Nt(){return wt({isElectronHost:At(),now:Date.now})}function Pt(e){return!(e instanceof Error)||e.name!==`NotAllowedError`?!1:/permission denied|permissions policy/i.test(e.message)}function Ft(e){let t=globalThis.document;if(!t?.body||typeof t.createElement!=`function`||typeof t.execCommand!=`function`)return!1;let n=t.createElement(`textarea`);n.value=e,n.style.position=`fixed`,n.style.opacity=`0`,n.style.pointerEvents=`none`,n.setAttribute(`readonly`,``),t.body.appendChild(n);try{return n.focus(),n.select(),t.execCommand(`copy`)}catch{return!1}finally{n.remove()}}async function It(e){let t=globalThis.okDesktop?.clipboard;if(t&&typeof t.writeText==`function`){await t.writeText(e);return}let n=globalThis.navigator?.clipboard;if(n&&typeof n.writeText==`function`)try{await n.writeText(e);return}catch(t){if(Ft(e))return;throw t}if(!Ft(e))throw Error(`clipboard API unavailable`)}function Lt(e){let t=(0,Q.c)(5),n,r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(`title`,{children:`Antigravity icon`}),r=(0,$.jsx)(`path`,{fill:`currentColor`,fillRule:`evenodd`,clipRule:`evenodd`,d:`M12 2.5a1.5 1.5 0 0 1 1.28.72l8.5 14A1.5 1.5 0 0 1 20.5 19.5h-17a1.5 1.5 0 0 1-1.28-2.28l8.5-14A1.5 1.5 0 0 1 12 2.5Zm0 4.42L5.83 17h12.34L12 6.92Z`}),i=(0,$.jsx)(`path`,{fill:`currentColor`,d:`M12 9.6 15.6 17h-7.2L12 9.6Z`}),t[0]=n,t[1]=r,t[2]=i):(n=t[0],r=t[1],i=t[2]);let a;return t[3]===e?a=t[4]:(a=(0,$.jsxs)(`svg`,{role:`img`,"aria-label":`Antigravity icon`,xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,fill:`none`,viewBox:`0 0 24 24`,...e,children:[n,r,i]}),t[3]=e,t[4]=a),a}function Rt(e){let t=(0,Q.c)(5),n,r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(`title`,{children:`OpenCode icon`}),r=(0,$.jsx)(`path`,{fill:`currentColor`,fillRule:`evenodd`,clipRule:`evenodd`,d:`M384 416H128V96H384V416ZM320 160H192V352H320V160Z`}),i=(0,$.jsx)(`path`,{fill:`currentColor`,fillOpacity:.55,d:`M320 224V352H192V224H320Z`}),t[0]=n,t[1]=r,t[2]=i):(n=t[0],r=t[1],i=t[2]);let a;return t[3]===e?a=t[4]:(a=(0,$.jsxs)(`svg`,{role:`img`,"aria-label":`OpenCode icon`,xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,fill:`none`,viewBox:`0 0 512 512`,...e,children:[n,r,i]}),t[3]=e,t[4]=a),a}function zt(e){let t=(0,Q.c)(5),n,r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(`title`,{children:`Pi icon`}),r=(0,$.jsx)(`path`,{fill:`currentColor`,fillRule:`evenodd`,clipRule:`evenodd`,d:`M165.29 165.29H517.36V400H400V517.36H282.65V634.72H165.29ZM282.65 282.65V400H400V282.65Z`}),i=(0,$.jsx)(`path`,{fill:`currentColor`,d:`M517.36 400H634.72V634.72H517.36Z`}),t[0]=n,t[1]=r,t[2]=i):(n=t[0],r=t[1],i=t[2]);let a;return t[3]===e?a=t[4]:(a=(0,$.jsxs)(`svg`,{role:`img`,"aria-label":`Pi icon`,xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,fill:`none`,viewBox:`0 0 800 800`,...e,children:[n,r,i]}),t[3]=e,t[4]=a),a}var Bt={"claude-cowork":`claude`,"claude-code":`claude`,codex:`openai`,cursor:`cursor`,opencode:`opencode`,pi:`pi`,antigravity:`antigravity`};function Vt(e){let t=(0,Q.c)(35),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({id:r,style:a,className:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let{resolvedTheme:s}=o(),c=Bt[r],l=c?(s===`dark`?S[c]:void 0)??E[c]:void 0,u;t[5]!==l||t[6]!==a?(u=l?{...a,"--ok-brand-color":l}:a,t[5]=l,t[6]=a,t[7]=u):u=t[7];let d=u,f=l&&`[&_*]:![color:var(--ok-brand-color)]`,p;t[8]!==n||t[9]!==f?(p=k(f,n),t[8]=n,t[9]=f,t[10]=p):p=t[10];let m=p;if(r===`claude-cowork`||r===`claude-code`){let e;return t[11]!==m||t[12]!==d||t[13]!==i?(e=(0,$.jsx)(Se,{style:d,className:m,...i}),t[11]=m,t[12]=d,t[13]=i,t[14]=e):e=t[14],e}if(r===`codex`){let e;return t[15]!==m||t[16]!==d||t[17]!==i?(e=(0,$.jsx)(Ce,{style:d,className:m,...i}),t[15]=m,t[16]=d,t[17]=i,t[18]=e):e=t[18],e}if(r===`cursor`){let e;return t[19]!==m||t[20]!==d||t[21]!==i?(e=(0,$.jsx)(we,{style:d,className:m,...i}),t[19]=m,t[20]=d,t[21]=i,t[22]=e):e=t[22],e}if(r===`opencode`){let e;return t[23]!==m||t[24]!==d||t[25]!==i?(e=(0,$.jsx)(Rt,{style:d,className:m,...i}),t[23]=m,t[24]=d,t[25]=i,t[26]=e):e=t[26],e}if(r===`pi`){let e;return t[27]!==m||t[28]!==d||t[29]!==i?(e=(0,$.jsx)(zt,{style:d,className:m,...i}),t[27]=m,t[28]=d,t[29]=i,t[30]=e):e=t[30],e}if(r===`antigravity`){let e;return t[31]!==m||t[32]!==d||t[33]!==i?(e=(0,$.jsx)(Lt,{style:d,className:m,...i}),t[31]=m,t[32]=d,t[33]=i,t[34]=e):e=t[34],e}return null}var Ht=(0,Z.createContext)(null);function Ut(e){let t=(0,Q.c)(3),{value:n,children:r}=e,i;return t[0]!==r||t[1]!==n?(i=(0,$.jsx)(Ht,{value:n,children:r}),t[0]=r,t[1]=n,t[2]=i):i=t[2],i}function Wt(){return(0,Z.use)(Ht)}var Gt=h;function Kt(e){return O[e].handoffTarget}function qt(e){let t=(0,Q.c)(48),{itemName:n,isSubmitting:r,onDelete:o,customTitle:s,customDescription:c,customDetail:l,customConfirmLabel:u,customConfirmLabelBusy:d,children:f}=e,{_:p}=a(),m;t[0]!==p||t[1]!==n?(m=n??p({id:`L3CEC1`}),t[0]=p,t[1]=n,t[2]=m):m=t[2];let h=m,g;t[3]!==p||t[4]!==u?(g=u??p({id:`cnGeoo`}),t[3]=p,t[4]=u,t[5]=g):g=t[5];let _=g,v;t[6]!==p||t[7]!==u||t[8]!==d?(v=d??u??p({id:`s3caR3`}),t[6]=p,t[7]=u,t[8]=d,t[9]=v):v=t[9];let y=v,b;t[10]!==p||t[11]!==s||t[12]!==h?(b=s??p({id:`77SdEP`,values:{itemName:h}}),t[10]=p,t[11]=s,t[12]=h,t[13]=b):b=t[13];let x;t[14]===b?x=t[15]:(x=(0,$.jsx)(W,{children:b}),t[14]=b,t[15]=x);let S;t[16]!==p||t[17]!==c||t[18]!==h?(S=c??p({id:`16D5Zj`,values:{itemName:h}}),t[16]=p,t[17]=c,t[18]=h,t[19]=S):S=t[19];let C;t[20]===S?C=t[21]:(C=(0,$.jsx)(U,{className:`whitespace-pre-wrap`,children:S}),t[20]=S,t[21]=C);let w;t[22]===l?w=t[23]:(w=l?(0,$.jsx)(`p`,{className:`text-muted-foreground text-sm`,"data-testid":`delete-confirmation-detail`,children:l}):null,t[22]=l,t[23]=w);let T;t[24]!==x||t[25]!==C||t[26]!==w?(T=(0,$.jsxs)(ie,{children:[x,C,w]}),t[24]=x,t[25]=C,t[26]=w,t[27]=T):T=t[27];let E;t[28]===f?E=t[29]:(E=f?(0,$.jsx)(G,{children:f}):null,t[28]=f,t[29]=E);let D;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsx)(i,{id:`dEgA5A`}),t[30]=D):D=t[30];let O;t[31]===r?O=t[32]:(O=(0,$.jsx)(K,{asChild:!0,children:(0,$.jsx)(A,{variant:`outline`,disabled:r,children:D})}),t[31]=r,t[32]=O);let k;t[33]!==_||t[34]!==y||t[35]!==r?(k=r?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(B,{className:`size-4 animate-spin`}),` `,y]}):_,t[33]=_,t[34]=y,t[35]=r,t[36]=k):k=t[36];let j;t[37]!==r||t[38]!==o||t[39]!==k?(j=(0,$.jsx)(A,{variant:`destructive`,onClick:o,disabled:r,children:k}),t[37]=r,t[38]=o,t[39]=k,t[40]=j):j=t[40];let M;t[41]!==O||t[42]!==j?(M=(0,$.jsxs)(re,{children:[O,j]}),t[41]=O,t[42]=j,t[43]=M):M=t[43];let N;return t[44]!==E||t[45]!==M||t[46]!==T?(N=(0,$.jsxs)(ne,{children:[T,E,M]}),t[44]=E,t[45]=M,t[46]=T,t[47]=N):N=t[47],N}function Jt(e){return e?ve._({id:`wTcjov`}):null}function Yt(e){let t=(0,Q.c)(30),{_:n}=a(),r=I(),o=Wt();if(r)return null;let{input:s,installStates:c,dispatch:l}=e,u=s===null,d,f,p,m,h,g,_;if(t[0]!==n||t[1]!==l||t[2]!==s||t[3]!==u||t[4]!==c||t[5]!==o){let e=Jt(u),r;t[13]===c?r=t[14]:(r=e=>c[e.id]?.installed===!0,t[13]=c,t[14]=r);let a=ke.filter(r),v;t[15]===c?v=t[16]:(v=ke.some(e=>c[e.id]?.installed==null),t[15]=c,t[16]=v),p=v;let y=a.length>0,b=o!==null;m=!y&&!b,f=q,t[17]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsxs)(Y,{children:[(0,$.jsx)(P,{"aria-hidden":`true`}),(0,$.jsx)(i,{id:`O7_W_a`})]}),t[17]=_):_=t[17],d=me,h=b?(0,$.jsxs)(le,{"aria-label":n({id:`ALhMYW`}),children:[(0,$.jsx)(pe,{children:(0,$.jsx)(i,{id:`ALhMYW`})}),Gt.map(t=>{let{displayName:r}=O[t];return(0,$.jsxs)(X,{onSelect:()=>{s!==null&&o.launchInTerminal(s,t)},disabled:u,"data-testid":`file-tree-open-in-terminal-${t}`,"aria-label":n(e?{id:`AIn2Yv`,values:{displayName:r,hint:e}}:{id:`QYfQdv`,values:{displayName:r}}),children:[(0,$.jsx)(Vt,{id:Kt(t),"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`flex-1`,children:r}),e?(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`ml-2 text-muted-foreground text-xs`,children:e}):null]},t)})]}):null,g=y?(0,$.jsxs)($.Fragment,{children:[b?(0,$.jsx)(J,{}):null,(0,$.jsxs)(le,{"aria-label":n({id:`BBqGS9`}),children:[(0,$.jsx)(pe,{children:(0,$.jsx)(i,{id:`BBqGS9`})}),a.map(t=>{let r=!u,{displayName:i}=t,a=n(e?{id:`1ZpfyB`,values:{displayName:i,hint:e}}:{id:`WqLq6M`,values:{displayName:i}});return(0,$.jsxs)(X,{disabled:!r,onSelect:()=>{s&&l(t.id,s)},"data-testid":`file-tree-open-in-${t.id}`,"aria-label":a,children:[(0,$.jsx)(Vt,{id:t.id,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`flex-1`,children:t.displayName}),e?(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`ml-2 text-muted-foreground text-xs`,children:e}):null]},t.id)})]})]}):null,t[0]=n,t[1]=l,t[2]=s,t[3]=u,t[4]=c,t[5]=o,t[6]=d,t[7]=f,t[8]=p,t[9]=m,t[10]=h,t[11]=g,t[12]=_}else d=t[6],f=t[7],p=t[8],m=t[9],h=t[10],g=t[11],_=t[12];let v;t[18]!==p||t[19]!==m?(v=m?(0,$.jsx)(X,{disabled:!0,"data-testid":`file-tree-open-in-empty`,children:p?(0,$.jsx)(i,{id:`EcR0fl`}):(0,$.jsx)(i,{id:`l6OXqI`})}):null,t[18]=p,t[19]=m,t[20]=v):v=t[20];let y;t[21]!==d||t[22]!==h||t[23]!==g||t[24]!==v?(y=(0,$.jsxs)(d,{children:[h,g,v]}),t[21]=d,t[22]=h,t[23]=g,t[24]=v,t[25]=y):y=t[25];let b;return t[26]!==f||t[27]!==_||t[28]!==y?(b=(0,$.jsxs)(f,{children:[_,y]}),t[26]=f,t[27]=_,t[28]=y,t[29]=b):b=t[29],b}function Xt(e){let t=(0,Q.c)(8),n=e?.enabled??!0,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={status:`idle`},t[0]=r):r=t[0];let[i,a]=(0,Z.useState)(r),[o,s]=(0,Z.useState)(0),c,l;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>{let e=()=>s(en),t=be(e),n=ye(t=>{t.includes(`files`)&&e()});return()=>{t(),n()}},l=[],t[1]=c,t[2]=l):(c=t[1],l=t[2]),(0,Z.useEffect)(c,l);let u;t[3]===n?u=t[4]:(u=()=>{if(!n)return;let e=!1;return a($t),fetch(`/api/skills`).then(Zt).then(t=>{if(e)return;let n=m.safeParse(t);if(!n.success){console.error(`[ok-skills] /api/skills response failed schema validation:`,n.error.issues),a({status:`error`,message:`Server returned an incomplete skills response.`});return}a({status:`ready`,data:n.data.skills})}).catch(t=>{e||a({status:`error`,message:t instanceof Error?t.message:String(t)})}),()=>{e=!0}},t[3]=n,t[4]=u);let d;return t[5]!==n||t[6]!==o?(d=[o,n],t[5]=n,t[6]=o,t[7]=d):d=t[7],(0,Z.useEffect)(u,d),i}async function Zt(e){if(!e.ok){let t=await e.json().catch(Qt);throw Error(_e(t)??`HTTP ${e.status}`)}return e.json()}function Qt(){return null}function $t(e){return e.status===`ready`?e:{status:`loading`}}function en(e){return e+1}function tn(e){let t=(0,Q.c)(16),{skill:n,onOpenChange:r,onDeleted:i}=e,{_:o}=a(),[s,c]=(0,Z.useState)(!1),l;t[0]!==o||t[1]!==i||t[2]!==r?(l=async function(e){c(!0);let t=await fe(e.scope,e.name);if(c(!1),!t.ok){let{error:e}=t;H.error(o({id:`AtBdnD`,values:{error:e}}));return}H.success(o({id:`h9QFb9`,values:{0:e.name}})),i(),r(!1)},t[0]=o,t[1]=i,t[2]=r,t[3]=l):l=t[3];let u=l,d=n!==null,f;t[4]!==s||t[5]!==r?(f=e=>{!e&&!s&&r(!1)},t[4]=s,t[5]=r,t[6]=f):f=t[6];let p;t[7]!==o||t[8]!==s||t[9]!==u||t[10]!==n?(p=n?(0,$.jsx)(qt,{itemName:o({id:`ExUzM4`,values:{0:n.name}}),isSubmitting:s,onDelete:()=>u(n),customDescription:o({id:`E1Da_b`,values:{0:n.path}})}):null,t[7]=o,t[8]=s,t[9]=u,t[10]=n,t[11]=p):p=t[11];let m;return t[12]!==d||t[13]!==f||t[14]!==p?(m=(0,$.jsx)(ae,{open:d,onOpenChange:f,children:p}),t[12]=d,t[13]=f,t[14]=p,t[15]=m):m=t[15],m}function nn(e){let t=(0,Q.c)(68),{skill:n,existingNames:r,onOpenChange:o,onRenamed:s}=e,{_:c}=a(),l=n!==null,u=(0,Z.useId)(),[d,f]=(0,Z.useState)(``),[p,m]=(0,Z.useState)(!1),h;t[0]===n?h=t[1]:(h=()=>{n&&f(n.name)},t[0]=n,t[1]=h);let g=n?.scope,_=n?.name,v;if(t[2]!==g||t[3]!==_?(v=[g,_],t[2]=g,t[3]=_,t[4]=v):v=t[4],(0,Z.useEffect)(h,v),!n)return null;let y,b,x,S;t[5]!==r||t[6]!==d||t[7]!==n.name?(x=d.trim(),S=x===n.name,y=x===``||!w.test(x),b=!y&&!S&&r.has(x),t[5]=r,t[6]=d,t[7]=n.name,t[8]=y,t[9]=b,t[10]=x,t[11]=S):(y=t[8],b=t[9],x=t[10],S=t[11]);let C=b,T=!y&&!C&&!S&&!p,E;t[12]!==c||t[13]!==T||t[14]!==o||t[15]!==s||t[16]!==n||t[17]!==x?(E=async function(){if(!n||!T)return;m(!0);let e=await de({scope:n.scope,fromName:n.name,toName:x});if(m(!1),!e.ok){H.error(c({id:`zKxoPm`,values:{0:n.name,1:e.error}}));return}H.success(c({id:`dUCQo4`,values:{trimmed:x}})),s?.(x),o(!1)},t[12]=c,t[13]=T,t[14]=o,t[15]=s,t[16]=n,t[17]=x,t[18]=E):E=t[18];let D=E,O;t[19]===o?O=t[20]:(O=e=>e?null:o(!1),t[19]=o,t[20]=O);let k;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,$.jsx)(W,{children:(0,$.jsx)(i,{id:`dw_3cv`})}),t[21]=k):k=t[21];let j;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsxs)(ie,{children:[k,(0,$.jsx)(U,{children:(0,$.jsx)(i,{id:`R9IDFz`})})]}),t[22]=j):j=t[22];let M;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,$.jsx)(i,{id:`6YtxFj`}),t[23]=M):M=t[23];let N;t[24]===u?N=t[25]:(N=(0,$.jsx)(he,{htmlFor:u,children:M}),t[24]=u,t[25]=N);let ee;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(ee=e=>f(e.target.value),t[26]=ee):ee=t[26];let P;t[27]===D?P=t[28]:(P=e=>{e.key===`Enter`&&D()},t[27]=D,t[28]=P);let F=y||C,I=y&&x!==``||C?`${u}-error`:void 0,L;t[29]!==u||t[30]!==d||t[31]!==P||t[32]!==F||t[33]!==I?(L=(0,$.jsx)(ge,{id:u,value:d,onChange:ee,onKeyDown:P,spellCheck:!1,autoCapitalize:`off`,autoCorrect:`off`,"aria-invalid":F,"aria-describedby":I,className:`font-mono`}),t[29]=u,t[30]=d,t[31]=P,t[32]=F,t[33]=I,t[34]=L):L=t[34];let R;t[35]!==C||t[36]!==u||t[37]!==y||t[38]!==x?(R=y&&x!==``?(0,$.jsx)(`p`,{id:`${u}-error`,className:`text-xs text-destructive`,children:(0,$.jsx)(i,{id:`A50vr3`,components:{0:(0,$.jsx)(`code`,{className:`font-mono`})}})}):C?(0,$.jsx)(`p`,{id:`${u}-error`,className:`text-xs text-destructive`,children:(0,$.jsx)(i,{id:`YJ1BTp`})}):null,t[35]=C,t[36]=u,t[37]=y,t[38]=x,t[39]=R):R=t[39];let z;t[40]!==N||t[41]!==L||t[42]!==R?(z=(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[N,L,R]}),t[40]=N,t[41]=L,t[42]=R,t[43]=z):z=t[43];let B;t[44]===o?B=t[45]:(B=()=>o(!1),t[44]=o,t[45]=B);let te;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(te=(0,$.jsx)(i,{id:`dEgA5A`}),t[46]=te):te=t[46];let V;t[47]!==p||t[48]!==B?(V=(0,$.jsx)(A,{variant:`ghost`,onClick:B,disabled:p,children:te}),t[47]=p,t[48]=B,t[49]=V):V=t[49];let G;t[50]===D?G=t[51]:(G=()=>void D(),t[50]=D,t[51]=G);let K=!T,q;t[52]===p?q=t[53]:(q=p?(0,$.jsx)(i,{id:`tHKQ6j`}):(0,$.jsx)(i,{id:`2wxgft`}),t[52]=p,t[53]=q);let J;t[54]!==G||t[55]!==K||t[56]!==q?(J=(0,$.jsx)(A,{onClick:G,disabled:K,children:q}),t[54]=G,t[55]=K,t[56]=q,t[57]=J):J=t[57];let Y;t[58]!==V||t[59]!==J?(Y=(0,$.jsxs)(re,{children:[V,J]}),t[58]=V,t[59]=J,t[60]=Y):Y=t[60];let X;t[61]!==z||t[62]!==Y?(X=(0,$.jsxs)(ne,{children:[j,z,Y]}),t[61]=z,t[62]=Y,t[63]=X):X=t[63];let oe;return t[64]!==l||t[65]!==X||t[66]!==O?(oe=(0,$.jsx)(ae,{open:l,onOpenChange:O,children:X}),t[64]=l,t[65]=X,t[66]=O,t[67]=oe):oe=t[67],oe}function rn(e){let t=(0,Q.c)(15),{skill:n,onOpenChange:r,onUpdated:o}=e,{_:s}=a(),[c,l]=(0,Z.useState)(!1),u;t[0]!==s||t[1]!==r||t[2]!==o?(u=async function(e){l(!0);let t=await ce({scope:e.scope,name:e.name});l(!1);let n=M(e.name);if(!t.ok){H.error(s({id:`FRqZ9v`,values:{0:t.error}}));return}H.success(t.checkpointRef?s({id:`My9uXI`,values:{0:t.version,display:n}}):s({id:`mPneVR`,values:{0:t.version,display:n}})),o(),r(!1)},t[0]=s,t[1]=r,t[2]=o,t[3]=u):u=t[3];let d=u,f=n!==null,p;t[4]!==r||t[5]!==c?(p=e=>{!e&&!c&&r(!1)},t[4]=r,t[5]=c,t[6]=p):p=t[6];let m;t[7]!==d||t[8]!==n||t[9]!==c?(m=n?(0,$.jsxs)(ne,{className:`sm:max-w-lg`,children:[(0,$.jsxs)(ie,{children:[(0,$.jsx)(W,{children:(0,$.jsx)(i,{id:`iAoh55`,values:{0:M(n.name)}})}),(0,$.jsx)(U,{children:n.installedVersion?(0,$.jsx)(i,{id:`47EXvY`,values:{0:n.bundledVersion??``,1:n.installedVersion}}):(0,$.jsx)(i,{id:`nD7Fx9`,values:{0:n.bundledVersion??``}})})]}),(0,$.jsx)(G,{}),(0,$.jsxs)(re,{children:[(0,$.jsx)(K,{asChild:!0,children:(0,$.jsx)(A,{variant:`outline`,disabled:c,children:(0,$.jsx)(i,{id:`dEgA5A`})})}),(0,$.jsx)(A,{onClick:()=>void d(n),disabled:c,children:c?(0,$.jsx)(i,{id:`JL3si7`}):(0,$.jsx)(i,{id:`EkH9pt`})})]})]}):null,t[7]=d,t[8]=n,t[9]=c,t[10]=m):m=t[10];let h;return t[11]!==f||t[12]!==p||t[13]!==m?(h=(0,$.jsx)(ae,{open:f,onOpenChange:p,children:m}),t[11]=f,t[12]=p,t[13]=m,t[14]=h):h=t[14],h}function an(){let e=(0,Q.c)(30),{_:t}=a(),[n,r]=(0,Z.useState)(null),[i,o]=(0,Z.useState)(null),[s,c]=(0,Z.useState)(null),[l,u]=(0,Z.useState)(null),d;e[0]===t?d=e[1]:(d=async function(e,n){u(e.name);let r=await oe({scope:e.scope,name:e.name,...n?{targets:[...n]}:{}});if(u(null),!r.ok)return H.error(t({id:`Mj8R8K`,values:{0:r.error}})),r;let i=on,a=new Set(r.hosts),o=r.hosts.filter(t=>!e.hosts.includes(t)),s=e.hosts.filter(e=>!a.has(e)),c=e=>{let t=r.warningCodes.indexOf(e);return t>=0?r.warnings[t]:void 0},l=c(`no-targets`);if(l)return H.warning(l),r;if(o.length>0){let e=c(`scripts-present`);e&&H.warning(e)}return r.hosts.length===0?H.success(t({id:`0LBDjY`,values:{0:e.name}})):o.length>0&&s.length===0?H.success(t({id:`PPFQ3o`,values:{0:e.name,1:i(o)}})):s.length>0&&o.length===0?H.success(t({id:`OOIVJo`,values:{0:e.name,1:i(s)}})):o.length>0&&s.length>0?H.success(t({id:`OxplNM`,values:{0:e.name,1:i(o),2:i(s)}})):H.success(t({id:`wDgmsr`,values:{0:e.name,1:i(r.hosts)}})),r},e[0]=t,e[1]=d);let f=d,p;e[2]===t?p=e[3]:(p=async function(e){u(e.name);let n=await se({scope:e.scope,name:e.name});return u(null),n.ok?H.success(t({id:`0LBDjY`,values:{0:e.name}})):H.error(t({id:`nJq7et`,values:{0:n.error}})),n},e[2]=t,e[3]=p);let m=p,h;e[4]===t?h=e[5]:(h=async function(e,n){let r=await ue({scope:e.scope,name:e.name,existingNames:n});if(!r.ok){H.error(t({id:`UPjaXD`,values:{0:e.name,1:r.error}}));return}H.success(t({id:`0g7rCZ`,values:{0:r.name}}))},e[4]=t,e[5]=h);let g=h,_,v;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(_=e=>{e||r(null)},v=()=>r(null),e[6]=_,e[7]=v):(_=e[6],v=e[7]);let y;e[8]===n?y=e[9]:(y=(0,$.jsx)(tn,{skill:n,onOpenChange:_,onDeleted:v}),e[8]=n,e[9]=y);let b=i?.skill??null,x=i?.existingNames??cn,S,C;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(S=e=>{e||o(null)},C=()=>o(null),e[10]=S,e[11]=C):(S=e[10],C=e[11]);let w;e[12]!==b||e[13]!==x?(w=(0,$.jsx)(nn,{skill:b,existingNames:x,onOpenChange:S,onRenamed:C}),e[12]=b,e[13]=x,e[14]=w):w=e[14];let T,E;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(T=e=>{e||c(null)},E=()=>c(null),e[15]=T,e[16]=E):(T=e[15],E=e[16]);let D;e[17]===s?D=e[18]:(D=(0,$.jsx)(rn,{skill:s,onOpenChange:T,onUpdated:E}),e[17]=s,e[18]=D);let O;e[19]!==w||e[20]!==D||e[21]!==y?(O=(0,$.jsxs)($.Fragment,{children:[y,w,D]}),e[19]=w,e[20]=D,e[21]=y,e[22]=O):O=e[22];let k=O,A;e[23]===Symbol.for(`react.memo_cache_sentinel`)?(A=(e,t)=>o({skill:e,existingNames:t}),e[23]=A):A=e[23];let j;return e[24]!==k||e[25]!==g||e[26]!==f||e[27]!==l||e[28]!==m?(j={installingName:l,install:f,uninstall:m,duplicate:g,requestDelete:r,requestRename:A,requestUpdate:c,dialogs:k},e[24]=k,e[25]=g,e[26]=f,e[27]=l,e[28]=m,e[29]=j):j=e[29],j}function on(e){return e.map(sn).join(`, `)}function sn(e){return x[e]??e}var cn=new Set;function ln(e){let t=(0,Q.c)(19),{skill:n,onEdit:r,onInstall:a,onUninstall:o,onDelete:s}=e,c,l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(R,{"aria-hidden":!0}),l=(0,$.jsx)(i,{id:`ePK91l`}),t[0]=c,t[1]=l):(c=t[0],l=t[1]);let u;t[2]===r?u=t[3]:(u=(0,$.jsxs)(X,{onSelect:r,children:[c,l]}),t[2]=r,t[3]=u);let d;t[4]!==a||t[5]!==n.installed?(d=a&&!n.installed?(0,$.jsxs)(X,{onSelect:a,children:[(0,$.jsx)(Te,{"aria-hidden":!0}),(0,$.jsx)(i,{id:`TKQ7K-`})]}):null,t[4]=a,t[5]=n.installed,t[6]=d):d=t[6];let f;t[7]!==o||t[8]!==n.installed?(f=n.installed?(0,$.jsxs)(X,{onSelect:o,children:[(0,$.jsx)(De,{"aria-hidden":!0}),(0,$.jsx)(i,{id:`fo0VXg`})]}):null,t[7]=o,t[8]=n.installed,t[9]=f):f=t[9];let p,m;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(V,{"aria-hidden":!0}),m=(0,$.jsx)(i,{id:`cnGeoo`}),t[10]=p,t[11]=m):(p=t[10],m=t[11]);let h;t[12]===s?h=t[13]:(h=(0,$.jsxs)(X,{variant:`destructive`,onSelect:s,children:[p,m]}),t[12]=s,t[13]=h);let g;return t[14]!==u||t[15]!==d||t[16]!==f||t[17]!==h?(g=(0,$.jsxs)($.Fragment,{children:[u,d,f,h]}),t[14]=u,t[15]=d,t[16]=f,t[17]=h,t[18]=g):g=t[18],g}function un(e){let t=(0,Q.c)(65),{skill:n,actions:r,existingNames:o}=e,{_:s}=a(),c=Ae(),l=Mt().states,{dispatch:u}=xt(),d=typeof window<`u`?window.okDesktop:void 0,f=n.absolutePath,p;t[0]===s?p=t[1]:(p=async function(e){try{await It(e),H.success(s({id:`SXCSQd`}))}catch{H.error(s({id:`cRHuuI`}))}},t[0]=s,t[1]=p);let m=p,h;t[2]===f?h=t[3]:(h=d&&f?(0,$.jsxs)(X,{onSelect:()=>void d.shell.showItemInFolder(f),children:[(0,$.jsx)(z,{"aria-hidden":!0}),(0,$.jsx)(i,{id:`LtSYdi`})]}):null,t[2]=f,t[3]=h);let g;t[4]!==n.name||t[5]!==n.scope||t[6]!==c?(g=ct({skillName:n.name,scope:n.scope,workspace:c}),t[4]=n.name,t[5]=n.scope,t[6]=c,t[7]=g):g=t[7];let _;t[8]!==u||t[9]!==l||t[10]!==g?(_=(0,$.jsx)(Yt,{input:g,installStates:l,isElectronHost:d!=null,dispatch:u}),t[8]=u,t[9]=l,t[10]=g,t[11]=_):_=t[11];let v;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsxs)(Y,{children:[(0,$.jsx)(N,{"aria-hidden":!0}),(0,$.jsx)(i,{id:`zd00pH`})]}),t[12]=v):v=t[12];let y;t[13]!==f||t[14]!==m?(y=f?(0,$.jsx)(X,{onSelect:()=>void m(f),children:(0,$.jsx)(i,{id:`z2funE`})}):null,t[13]=f,t[14]=m,t[15]=y):y=t[15];let b;t[16]!==m||t[17]!==n.path?(b=()=>void m(n.path),t[16]=m,t[17]=n.path,t[18]=b):b=t[18];let x;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(i,{id:`xloBjn`}),t[19]=x):x=t[19];let S;t[20]===b?S=t[21]:(S=(0,$.jsx)(X,{onSelect:b,children:x}),t[20]=b,t[21]=S);let C;t[22]!==y||t[23]!==S?(C=(0,$.jsxs)(q,{children:[v,(0,$.jsxs)(me,{children:[y,S]})]}),t[22]=y,t[23]=S,t[24]=C):C=t[24];let w;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)(J,{}),t[25]=w):w=t[25];let T;t[26]!==r||t[27]!==o||t[28]!==n?(T=()=>void r.duplicate(n,o),t[26]=r,t[27]=o,t[28]=n,t[29]=T):T=t[29];let E,D;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(ee,{"aria-hidden":!0}),D=(0,$.jsx)(i,{id:`euc6Ns`}),t[30]=E,t[31]=D):(E=t[30],D=t[31]);let O;t[32]===T?O=t[33]:(O=(0,$.jsxs)(X,{onSelect:T,children:[E,D]}),t[32]=T,t[33]=O);let k;t[34]!==r||t[35]!==o||t[36]!==n?(k=()=>r.requestRename(n,o),t[34]=r,t[35]=o,t[36]=n,t[37]=k):k=t[37];let A,j;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,$.jsx)(Ee,{"aria-hidden":!0}),j=(0,$.jsx)(i,{id:`2wxgft`}),t[38]=A,t[39]=j):(A=t[38],j=t[39]);let M;t[40]===k?M=t[41]:(M=(0,$.jsxs)(X,{onSelect:k,children:[A,j]}),t[40]=k,t[41]=M);let P;t[42]!==r||t[43]!==n?(P=n.updateAvailable?(0,$.jsxs)(X,{onSelect:()=>r.requestUpdate(n),children:[(0,$.jsx)(te,{"aria-hidden":!0}),(0,$.jsx)(i,{id:`6g2jsp`})]}):null,t[42]=r,t[43]=n,t[44]=P):P=t[44];let F;t[45]!==r||t[46]!==n?(F=n.installed?(0,$.jsxs)(X,{onSelect:()=>void r.uninstall(n),children:[(0,$.jsx)(De,{"aria-hidden":!0}),(0,$.jsx)(i,{id:`fo0VXg`})]}):(0,$.jsxs)(X,{onSelect:()=>void r.install(n),children:[(0,$.jsx)(Te,{"aria-hidden":!0}),(0,$.jsx)(i,{id:`TKQ7K-`})]}),t[45]=r,t[46]=n,t[47]=F):F=t[47];let I;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,$.jsx)(J,{}),t[48]=I):I=t[48];let L;t[49]!==r||t[50]!==n?(L=()=>r.requestDelete(n),t[49]=r,t[50]=n,t[51]=L):L=t[51];let R,B;t[52]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(V,{"aria-hidden":!0}),B=(0,$.jsx)(i,{id:`cnGeoo`}),t[52]=R,t[53]=B):(R=t[52],B=t[53]);let U;t[54]===L?U=t[55]:(U=(0,$.jsxs)(X,{variant:`destructive`,onSelect:L,children:[R,B]}),t[54]=L,t[55]=U);let W;return t[56]!==C||t[57]!==O||t[58]!==M||t[59]!==h||t[60]!==P||t[61]!==F||t[62]!==U||t[63]!==_?(W=(0,$.jsxs)($.Fragment,{children:[h,_,C,w,O,M,P,F,I,U]}),t[56]=C,t[57]=O,t[58]=M,t[59]=h,t[60]=P,t[61]=F,t[62]=U,t[63]=_,t[64]=W):W=t[64],W}export{ot as C,Te as D,ke as E,vt as S,Ae as T,st as _,Yt as a,ct as b,Kt as c,Vt as d,Pt as f,at as g,lt as h,Xt as i,Ut as l,Mt as m,un as n,qt as o,It as p,an as r,Gt as s,ln as t,Wt as u,rt as v,xt as w,gt as x,it as y};
1
+ import{o as e}from"./chunk-CFjPhJqf.js";import{n as t,r as n,t as r}from"./compiler-runtime-CVnuRdak.js";import{n as i,r as a}from"./dist-CQw2y-s3.js";import{n as o}from"./dist-BVOt51sU.js";import{$t as s,Ar as c,Bt as l,Mt as u,Nt as d,Qt as f,Rt as p,St as m,Tt as h,Vt as g,Y as _,an as v,en as y,in as b,k as x,n as S,nn as C,pt as w,rn as T,t as E,tn as D,wt as O}from"./dist-D5fPTJjV.js";import{i as k,t as A,u as j}from"./button-cneJOVxD.js";import{a as M,d as N,f as ee,l as P,n as F,r as I,t as L,u as R}from"./workspace-paths-BTMolBhv.js";import{t as z}from"./folder-open-BF5DIykr.js";import{t as B}from"./loader-circle-B7Gv_Djz.js";import{t as te}from"./refresh-cw-CluaccKu.js";import{t as V}from"./trash-2-Dcpo0Di-.js";import{n as H}from"./dist-CoyydoqN.js";import{a as U,c as W,i as ne,n as G,o as re,r as K,s as ie,t as ae}from"./dialog-DdHaoAGK.js";import{C as q,S as J,T as Y,_ as X,a as oe,d as se,f as ce,g as le,n as ue,s as de,t as fe,v as pe,w as me}from"./skills-api-C4PwgAoY.js";import{t as he}from"./label-DPn_C7ZD.js";import{t as ge}from"./input-tW78aNaR.js";import{t as _e}from"./parse-api-error-CqtA8BcL.js";import{t as ve}from"./dist-BvBijIC5.js";import{o as ye,s as be}from"./documents-events-BvkJvzEE.js";import{n as xe}from"./config-context-CE3SCVYc.js";import{i as Se,n as Ce,t as we}from"./cursor-CjNH7VrK.js";var Te=j(`cloud-download`,[[`path`,{d:`M12 13v8l-4-4`,key:`1f5nwf`}],[`path`,{d:`m12 21 4-4`,key:`1lfcce`}],[`path`,{d:`M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284`,key:`ui1hmy`}]]),Ee=j(`pencil-line`,[[`path`,{d:`M13 21h8`,key:`1jsn5i`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}]]),De=j(`power-off`,[[`path`,{d:`M18.36 6.64A9 9 0 0 1 20.77 15`,key:`dxknvb`}],[`path`,{d:`M6.16 6.16a9 9 0 1 0 12.68 12.68`,key:`1x7qb5`}],[`path`,{d:`M12 2v4`,key:`3427ic`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),Z=e(t(),1),Q=r(),Oe=[{id:`claude-cowork`,displayName:`Claude Cowork`,appBrandName:`Claude Desktop`,schemes:[`claude:`],installUrl:`https://claude.com/download`,tagline:`Conversational pairing in Claude Desktop's Cowork tab.`},{id:`claude-code`,displayName:`Claude`,appBrandName:`Claude Desktop`,schemes:[`claude:`],installUrl:`https://claude.com/download`,tagline:`Agentic coding in Claude Desktop's Code tab.`},{id:`codex`,displayName:`Codex`,appBrandName:`Codex Desktop`,schemes:[`codex:`],installUrl:`https://openai.com/codex`,tagline:`OpenAI's coding agent, terminal-native.`},{id:`cursor`,displayName:`Cursor`,schemes:[`cursor:`],installUrl:`https://cursor.com/`,tagline:`AI-first VS Code fork with multi-file edits.`},{id:`opencode`,displayName:`OpenCode`,schemes:[],installUrl:`https://opencode.ai`,tagline:`Open-source terminal coding agent; bring any local model.`},{id:`pi`,displayName:`Pi`,schemes:[],installUrl:`https://pi.dev`,tagline:`Minimal open-source terminal coding agent, extensible in TypeScript.`},{id:`antigravity`,displayName:`Antigravity`,schemes:[],installUrl:`https://antigravity.google`,tagline:"Google's agentic IDE + `agy` terminal agent."}],ke=Oe.filter(e=>e.id!==`claude-cowork`&&e.id!==`opencode`&&e.id!==`pi`&&e.id!==`antigravity`),$=n();function Ae(){let e=(0,Q.c)(3),[t,n]=(0,Z.useState)(Ne),r,i;return e[0]===t?(r=e[1],i=e[2]):(r=()=>{if(t!==null||window.okDesktop)return;let e=!0;return fetch(`/api/workspace`).then(async t=>{let r=await t.json().catch(Me);if(!e||!t.ok)return;let i=u.safeParse(r);i.success&&n({contentDir:i.data.contentDir,pathSeparator:i.data.pathSeparator})}).catch(je),()=>{e=!1}},i=[t],e[0]=t,e[1]=r,e[2]=i),(0,Z.useEffect)(r,i),t}function je(e){console.warn(`[useWorkspace] /api/workspace fetch failed:`,e)}function Me(){return null}function Ne(){return Pe()}function Pe(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}function Fe(e){return{async install(t){let n;try{n=await e.buildAndOpen(t?.force?{force:!0}:void 0)}catch(e){return{ok:!1,reason:`bridge-error`,message:e instanceof Error?e.message:String(e)}}return n.ok?{ok:!0,path:n.path}:{ok:!1,reason:n.reason,message:n.message}}}}function Ie(e={}){let t=e.fetch??globalThis.fetch,n=`${e.apiOrigin??``}/api/install-skill`;return{async install(e){let r;try{r=await t(n,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e?.force?{force:!0}:{})})}catch(e){return{ok:!1,reason:`network-error`,message:e instanceof Error?e.message:String(e)}}if(!r.ok){let e=`HTTP ${r.status}`;try{let t=_e(await r.json());t&&(e=t)}catch{}return{ok:!1,reason:`http-error`,message:e}}let i;try{i=await r.json()}catch(e){return{ok:!1,reason:`parse-error`,message:e instanceof Error?e.message:`Invalid server response`}}return!i||typeof i.status!=`string`?{ok:!1,reason:`parse-error`,message:`Invalid server response shape`}:i.status===`failed`?{ok:!1,reason:`build-failed`,message:i.buildError??`unknown build failure`}:{ok:!0,path:i.outputPath,handoffWarning:i.handoffError?.message}}}}function Le(){if(typeof window>`u`)return null;let e=window.okDesktop?.skill;return e?Fe(e):Ie()}var Re=`ok:skill:cowork:installed`,ze=`1`,Be=250,Ve=`/api/skill/install-state`;function He(e){return`${Re}:v${e}`}var Ue=new Map;async function We(e={},t={}){let n=t.force?`__force__`:`__default__`,r=Ue.get(n);if(r)return r;let i=Ge(e,t);return Ue.set(n,i),i.finally(()=>{Ue.get(n)===i&&Ue.delete(n)}),i}async function Ge(e,t){let n=e.installer===void 0?Le():e.installer,r=Ke(e.storage),i=e.fetchSnapshot??Je,a=e.serverTimeoutMs??Be,o=null;if(!t.force){try{o=await Ye(i(),a)}catch(e){console.warn(`[cowork-skill] server install-state check failed; falling through:`,e)}if(o){let e=o.targets[`claude-cowork`]??null;if(e&&e.version===o.currentVersion)return{kind:`already-installed`,source:`server`}}}let s=He(o?.currentVersion??e.fallbackSkillVersion??qe());if(!t.force&&r?.getItem(s)===ze)return{kind:`already-installed`,source:`local`};if(!n)return{kind:`host-unsupported`};let c=await n.install({force:t.force??!1});if(!c.ok)return{kind:`install-failed`,reason:c.reason,message:c.message};try{r?.setItem(s,ze)}catch(e){console.warn(`[cowork-skill] storage.setItem failed (guard will not persist):`,e)}return{kind:`installed-now`,path:c.path,handoffWarning:c.handoffWarning}}function Ke(e){if(e!==void 0)return e;if(typeof window>`u`)return null;try{return window.localStorage}catch{return null}}function qe(){return typeof window>`u`?`unknown`:window.okDesktop?.appVersion??`unknown`}async function Je(){let e;try{e=await fetch(Ve,{method:`GET`,cache:`no-store`})}catch{return null}if(!e.ok)return null;try{let t=await e.json();return typeof t?.currentVersion==`string`?t:null}catch{return null}}async function Ye(e,t){return Promise.race([e,new Promise(e=>{setTimeout(()=>e(null),t)})])}function Xe(e){return We({},e)}function Ze(){return We({},{force:!0})}async function Qe(e,t){let n;try{n=await t(`/api/handoff`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)})}catch(e){return{ok:!1,reason:`dispatch-error`,detail:e instanceof Error?e.message:String(e)}}return n.status===200?{ok:!0}:n.status===404?{ok:!1,reason:`not-installed`,detail:`POST /api/handoff returned 404`}:n.status===422?{ok:!1,reason:`not-installed`,detail:`POST /api/handoff returned ${n.status}`}:{ok:!1,reason:`dispatch-error`,detail:`POST /api/handoff returned ${n.status}`}}async function $e(e,t={}){let n=t.fetch??globalThis.fetch.bind(globalThis);switch(e.target){case`claude-cowork`:return Qe({target:`claude-cowork`,url:p({mode:`cowork`},e)},n);case`claude-code`:return Qe({target:`claude-code`,url:p({mode:`code`},e)},n);case`codex`:return Qe({target:`codex`,url:l(e)},n);case`cursor`:return Qe({target:`cursor`,url:g(e),workspacePath:e.projectDir},n);case`opencode`:return{ok:!1,reason:`invalid-payload`,detail:`opencode is terminal-only; launch via requestTerminalLaunch`};case`pi`:return{ok:!1,reason:`invalid-payload`,detail:`pi is terminal-only; launch via requestTerminalLaunch`};case`antigravity`:return{ok:!1,reason:`invalid-payload`,detail:`antigravity is terminal-only; launch via requestTerminalLaunch`};default:{let t=e.target;return{ok:!1,reason:`invalid-payload`,detail:`unknown target: ${String(t)}`}}}}async function et(e,t={}){let n=t.okDesktop??(typeof window<`u`?window.okDesktop:void 0);if(n?.shell?.openExternal)try{return await n.shell.openExternal(e),{ok:!0}}catch(e){return{ok:!1,reason:`dispatch-error`,detail:tt(e)}}let r=t.doc??(typeof document<`u`?document:void 0);if(!r)return{ok:!1,reason:`dispatch-error`,detail:`no DOM available`};try{let t=r.createElement(`a`);return t.href=e,t.rel=`noopener noreferrer`,/^https?:/i.test(e)&&(t.target=`_blank`),r.body.appendChild(t),t.click(),t.remove(),{ok:!0}}catch(e){return{ok:!1,reason:`dispatch-error`,detail:tt(e)}}}function tt(e){if(e instanceof Error)return e.message;if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}async function nt(e,t={}){let n=t.okDesktop??(typeof window<`u`?window.okDesktop:void 0);if(n?.shell?.recordHandoff)try{await n.shell.recordHandoff(e)}catch(e){(t.warn??(e=>console.warn(e)))(`[handoff] recordHandoff IPC rejected (telemetry skipped): ${e instanceof Error?e.message:String(e)}`)}}function rt(e){if(!e.docName||!e.workspace)return null;let t=L(e.docName),{contentDir:n,pathSeparator:r}=e.workspace;return{docContext:{relativePath:t},projectDir:n,docPath:F(n,t,r)}}function it(e){return e.workspace?.contentDir?{docContext:null,projectDir:e.workspace.contentDir,docPath:``}:null}function at(e){return e.workspace?.contentDir?{docContext:null,createDescription:e.description,createScenario:e.scenario,createMentions:e.mentions,projectDir:e.workspace.contentDir,docPath:``}:null}function ot(e){return et(e.installUrl).then(()=>void 0)}function st(e){return!e.workspace?.contentDir||!e.folderRelativePath?null:{docContext:null,folderRelativePath:e.folderRelativePath,projectDir:e.workspace.contentDir,docPath:``}}function ct(e){return!e.workspace?.contentDir||!e.skillName?null:{docContext:null,skill:{name:e.skillName,scope:e.scope},projectDir:e.workspace.contentDir,docPath:``}}function lt(e){if(!e.workspace?.contentDir)return null;let{contentDir:t,pathSeparator:n}=e.workspace;if(e.docName){let r=e.docRelativePath??L(e.docName),i={scope:`doc`,docRelativePath:r,instruction:e.instruction,mentions:e.mentions};return{docContext:null,compose:e.selection===void 0?i:{...i,selection:e.selection},projectDir:t,docPath:F(t,r,n)}}return e.folderRelativePath?{docContext:null,compose:{scope:`folder`,folderRelativePath:e.folderRelativePath,instruction:e.instruction,mentions:e.mentions},projectDir:t,docPath:``}:{docContext:null,compose:{scope:`project`,instruction:e.instruction,mentions:e.mentions},projectDir:t,docPath:``}}function ut(e){return`Opened in ${e}.`}function dt(e,t=1){return t>=3?`Couldn't reach ${e} — please try again later.`:t===2?`Still couldn't reach ${e} — try one more time?`:`Couldn't reach ${e} — try again?`}function ft(e){return e>=3?null:e===2?`Try one more time`:`Retry`}function pt(e,t,n,r,i){let a=i===void 0?{}:{scope:i};return t.ok?{target:e,host:n,outcome:`ok`,ts:r,...a}:{target:e,host:n,outcome:`error`,ts:r,reason:t.reason,...a}}function mt(e,t,n){if(e.scope===`doc`){let r={scope:`doc`,docRelativePath:e.docRelativePath,instruction:e.instruction,mentions:e.mentions,target:t,autoOpen:n};return e.selection===void 0?r:{...r,selection:e.selection}}return e.scope===`folder`?{scope:`folder`,folderRelativePath:e.folderRelativePath,instruction:e.instruction,mentions:e.mentions,target:t,autoOpen:n}:{scope:`project`,instruction:e.instruction,mentions:e.mentions,target:t,autoOpen:n}}function ht(e,t,n){return e.compose?d(mt(e.compose,t,n)):e.selection?T({...e.selection,target:t}):e.skill?b(e.skill.name,e.skill.scope,n):e.ask?f(e.ask.relativePath,e.ask.instruction,n,t):c(e.docContext===null?e.folderRelativePath?C(e.folderRelativePath,n,e.instruction):e.createDescription===void 0?y(n,e.instruction):s(e.createDescription,n,e.createScenario??`new-project`,e.createMentions??[]):D(e.docContext.relativePath,n,e.instruction))}function gt(e,t){let n=typeof e.instruction==`string`&&e.instruction.trim()!==``;return e.compose!==void 0||e.createDescription!==void 0||n?`${_} ${ht(e,O[t].handoffTarget,!1)}`:v(e.docContext?.relativePath??null)}async function _t(e,t,n,r=1){if(e===`claude-cowork`&&r===1){let e;try{e=await n.ensureCoworkSkillInstalled()}catch(e){let t=e instanceof Error?e.message:String(e);return n.toast.error(`Couldn't install OpenKnowledge skill — ${t}`),{ok:!1,reason:`dispatch-error`,detail:`install-error: ${t}`}}if(e.kind===`installed-now`)return n.toast.success(`OpenKnowledge skill saved. Upload it in Claude Desktop, then click Cowork again.`),{ok:!0};if(e.kind===`install-failed`){let t=e.message??e.reason;return n.toast.error(`Couldn't install OpenKnowledge skill — ${t}`),{ok:!1,reason:`dispatch-error`,detail:`install-failed: ${t}`}}}let i={target:e,projectDir:t.projectDir,docPath:t.docPath,prompt:ht(t,e,n.autoOpen)},a=await n.dispatchHandoff(i),o=n.isElectronHost()?`electron`:`web`,s=n.now().toISOString(),c=t.compose,l=pt(e,a,o,s,t.selection!=null||c?.scope===`doc`&&c.selection!==void 0?`selection`:void 0);await n.recordHandoff(l);let u=n.getDisplayName(e);if(a.ok)n.toast.success(ut(u));else{let i=ft(r),a=dt(u,r);i===null?n.toast.error(a):n.toast.error(a,{action:{label:i,onClick:()=>{_t(e,t,n,r+1)}}})}return a}function vt(e){return Oe.find(t=>t.id===e)?.displayName??e}function yt(e=typeof window<`u`?window:void 0){return e?.okDesktop!=null}function bt(){return{dispatchHandoff:$e,recordHandoff:nt,toast:{success:e=>{H.success(e)},error:(e,t)=>{H.error(e,t?{action:t.action}:void 0)}},now:()=>new Date,isElectronHost:()=>yt(),getDisplayName:vt,ensureCoworkSkillInstalled:Xe,autoOpen:!0}}function xt(){let e=(0,Q.c)(2),{merged:t}=xe(),n=t?.appearance?.preview?.autoOpen??!0,r;return e[0]===n?r=e[1]:(r={dispatch:(e,t)=>_t(e,t,{...bt(),autoOpen:n}),reinstallCoworkSkill:Ze},e[0]=n,e[1]=r),r}var St=[...new Set(Oe.flatMap(e=>e.schemes))];function Ct(e,t){let n=t.now?.()??Date.now(),r={};for(let t of Oe){let i=t.schemes[0],a=i===void 0?void 0:e[i];if(!a){r[t.id]={installed:null};continue}r[t.id]={installed:a.installed,...a.displayName===void 0?{}:{displayName:a.displayName},lastChecked:n}}return r}function wt(e){return Ct({},e)}async function Tt(e){let t=e.schemes??St,n=await Promise.all(t.map(async t=>{let n=t.replace(/:$/,``);try{return[t,await e.detectProtocol(n)]}catch{return[t,{installed:!1}]}}));return Object.fromEntries(n)}var Et=Object.fromEntries(St.map(e=>[e,{installed:!1}]));async function Dt(e){let t;try{t=await e.fetch(`/api/installed-agents`,{signal:e.signal,headers:{Accept:`application/json`}})}catch(e){if(e.name===`AbortError`)throw e;return Et}if(!t.ok)return Et;let n;try{n=await t.json()}catch{return Et}if(typeof n!=`object`||!n||Array.isArray(n))return Et;let r=n,i={};for(let e of St)i[e]={installed:r[e.replace(/:$/,``)]===!0};return i}function Ot(e,t){let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n){let n=e[r],i=t[r];if(!n||!i||n.installed!==i.installed||n.displayName!==i.displayName)return!1}return!0}function kt(e){let t=e.throttleMs??1e4,n=!1,r=null,i=null,a={},o=wt({isElectronHost:e.isElectronHost(),now:e.now}),s=new Set,c=()=>{if(!n)for(let e of s)e(o)},l=()=>{o=Ct(a,{isElectronHost:e.isElectronHost(),now:e.now})};return{probe:async()=>{if(n)return;if(i)return i;if(r!==null&&e.now()-r<t)return;let o=(async()=>{try{let t=await e.probe();if(n)return;let i=!Ot(a,t);a=t,i&&(l(),c()),r=e.now()}catch{}finally{i=null}})();return i=o,o},getTargetStates:()=>o,subscribe:e=>(s.add(e),()=>{s.delete(e)}),cancel:()=>{n=!0,s.clear()}}}function At(e=typeof window<`u`?window:void 0){return e?.okDesktop!=null}function jt(){let e=typeof window<`u`?window.okDesktop:void 0;if(e){let t=t=>e.shell.detectProtocol(t);return{probe:()=>Tt({detectProtocol:t}),isElectronHost:()=>!0,now:Date.now}}let t=globalThis.fetch.bind(globalThis);return{probe:()=>Dt({fetch:t}),isElectronHost:()=>!1,now:Date.now}}function Mt(){let e=(0,Q.c)(5),[t,n]=(0,Z.useState)(Nt),r=(0,Z.useRef)(null),i,a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=()=>{let e=kt(jt());r.current=e;let t=e.subscribe(n);e.probe();let i=()=>{e.probe()};return window.addEventListener(`focus`,i),()=>{window.removeEventListener(`focus`,i),t(),e.cancel(),r.current=null}},a=[],e[0]=i,e[1]=a):(i=e[0],a=e[1]),(0,Z.useEffect)(i,a);let o;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>r.current?.probe()??Promise.resolve(),e[2]=o):o=e[2];let s;return e[3]===t?s=e[4]:(s={states:t,refresh:o},e[3]=t,e[4]=s),s}function Nt(){return wt({isElectronHost:At(),now:Date.now})}function Pt(e){return!(e instanceof Error)||e.name!==`NotAllowedError`?!1:/permission denied|permissions policy/i.test(e.message)}function Ft(e){let t=globalThis.document;if(!t?.body||typeof t.createElement!=`function`||typeof t.execCommand!=`function`)return!1;let n=t.createElement(`textarea`);n.value=e,n.style.position=`fixed`,n.style.opacity=`0`,n.style.pointerEvents=`none`,n.setAttribute(`readonly`,``),t.body.appendChild(n);try{return n.focus(),n.select(),t.execCommand(`copy`)}catch{return!1}finally{n.remove()}}async function It(e){let t=globalThis.okDesktop?.clipboard;if(t&&typeof t.writeText==`function`){await t.writeText(e);return}let n=globalThis.navigator?.clipboard;if(n&&typeof n.writeText==`function`)try{await n.writeText(e);return}catch(t){if(Ft(e))return;throw t}if(!Ft(e))throw Error(`clipboard API unavailable`)}function Lt(e){let t=(0,Q.c)(5),n,r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(`title`,{children:`Antigravity icon`}),r=(0,$.jsx)(`path`,{fill:`currentColor`,fillRule:`evenodd`,clipRule:`evenodd`,d:`M12 2.5a1.5 1.5 0 0 1 1.28.72l8.5 14A1.5 1.5 0 0 1 20.5 19.5h-17a1.5 1.5 0 0 1-1.28-2.28l8.5-14A1.5 1.5 0 0 1 12 2.5Zm0 4.42L5.83 17h12.34L12 6.92Z`}),i=(0,$.jsx)(`path`,{fill:`currentColor`,d:`M12 9.6 15.6 17h-7.2L12 9.6Z`}),t[0]=n,t[1]=r,t[2]=i):(n=t[0],r=t[1],i=t[2]);let a;return t[3]===e?a=t[4]:(a=(0,$.jsxs)(`svg`,{role:`img`,"aria-label":`Antigravity icon`,xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,fill:`none`,viewBox:`0 0 24 24`,...e,children:[n,r,i]}),t[3]=e,t[4]=a),a}function Rt(e){let t=(0,Q.c)(5),n,r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(`title`,{children:`OpenCode icon`}),r=(0,$.jsx)(`path`,{fill:`currentColor`,fillRule:`evenodd`,clipRule:`evenodd`,d:`M384 416H128V96H384V416ZM320 160H192V352H320V160Z`}),i=(0,$.jsx)(`path`,{fill:`currentColor`,fillOpacity:.55,d:`M320 224V352H192V224H320Z`}),t[0]=n,t[1]=r,t[2]=i):(n=t[0],r=t[1],i=t[2]);let a;return t[3]===e?a=t[4]:(a=(0,$.jsxs)(`svg`,{role:`img`,"aria-label":`OpenCode icon`,xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,fill:`none`,viewBox:`0 0 512 512`,...e,children:[n,r,i]}),t[3]=e,t[4]=a),a}function zt(e){let t=(0,Q.c)(5),n,r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(`title`,{children:`Pi icon`}),r=(0,$.jsx)(`path`,{fill:`currentColor`,fillRule:`evenodd`,clipRule:`evenodd`,d:`M165.29 165.29H517.36V400H400V517.36H282.65V634.72H165.29ZM282.65 282.65V400H400V282.65Z`}),i=(0,$.jsx)(`path`,{fill:`currentColor`,d:`M517.36 400H634.72V634.72H517.36Z`}),t[0]=n,t[1]=r,t[2]=i):(n=t[0],r=t[1],i=t[2]);let a;return t[3]===e?a=t[4]:(a=(0,$.jsxs)(`svg`,{role:`img`,"aria-label":`Pi icon`,xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,fill:`none`,viewBox:`0 0 800 800`,...e,children:[n,r,i]}),t[3]=e,t[4]=a),a}var Bt={"claude-cowork":`claude`,"claude-code":`claude`,codex:`openai`,cursor:`cursor`,opencode:`opencode`,pi:`pi`,antigravity:`antigravity`};function Vt(e){let t=(0,Q.c)(35),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({id:r,style:a,className:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let{resolvedTheme:s}=o(),c=Bt[r],l=c?(s===`dark`?S[c]:void 0)??E[c]:void 0,u;t[5]!==l||t[6]!==a?(u=l?{...a,"--ok-brand-color":l}:a,t[5]=l,t[6]=a,t[7]=u):u=t[7];let d=u,f=l&&`[&_*]:![color:var(--ok-brand-color)]`,p;t[8]!==n||t[9]!==f?(p=k(f,n),t[8]=n,t[9]=f,t[10]=p):p=t[10];let m=p;if(r===`claude-cowork`||r===`claude-code`){let e;return t[11]!==m||t[12]!==d||t[13]!==i?(e=(0,$.jsx)(Se,{style:d,className:m,...i}),t[11]=m,t[12]=d,t[13]=i,t[14]=e):e=t[14],e}if(r===`codex`){let e;return t[15]!==m||t[16]!==d||t[17]!==i?(e=(0,$.jsx)(Ce,{style:d,className:m,...i}),t[15]=m,t[16]=d,t[17]=i,t[18]=e):e=t[18],e}if(r===`cursor`){let e;return t[19]!==m||t[20]!==d||t[21]!==i?(e=(0,$.jsx)(we,{style:d,className:m,...i}),t[19]=m,t[20]=d,t[21]=i,t[22]=e):e=t[22],e}if(r===`opencode`){let e;return t[23]!==m||t[24]!==d||t[25]!==i?(e=(0,$.jsx)(Rt,{style:d,className:m,...i}),t[23]=m,t[24]=d,t[25]=i,t[26]=e):e=t[26],e}if(r===`pi`){let e;return t[27]!==m||t[28]!==d||t[29]!==i?(e=(0,$.jsx)(zt,{style:d,className:m,...i}),t[27]=m,t[28]=d,t[29]=i,t[30]=e):e=t[30],e}if(r===`antigravity`){let e;return t[31]!==m||t[32]!==d||t[33]!==i?(e=(0,$.jsx)(Lt,{style:d,className:m,...i}),t[31]=m,t[32]=d,t[33]=i,t[34]=e):e=t[34],e}return null}var Ht=(0,Z.createContext)(null);function Ut(e){let t=(0,Q.c)(3),{value:n,children:r}=e,i;return t[0]!==r||t[1]!==n?(i=(0,$.jsx)(Ht,{value:n,children:r}),t[0]=r,t[1]=n,t[2]=i):i=t[2],i}function Wt(){return(0,Z.use)(Ht)}var Gt=h;function Kt(e){return O[e].handoffTarget}function qt(e){let t=(0,Q.c)(48),{itemName:n,isSubmitting:r,onDelete:o,customTitle:s,customDescription:c,customDetail:l,customConfirmLabel:u,customConfirmLabelBusy:d,children:f}=e,{_:p}=a(),m;t[0]!==p||t[1]!==n?(m=n??p({id:`L3CEC1`}),t[0]=p,t[1]=n,t[2]=m):m=t[2];let h=m,g;t[3]!==p||t[4]!==u?(g=u??p({id:`cnGeoo`}),t[3]=p,t[4]=u,t[5]=g):g=t[5];let _=g,v;t[6]!==p||t[7]!==u||t[8]!==d?(v=d??u??p({id:`s3caR3`}),t[6]=p,t[7]=u,t[8]=d,t[9]=v):v=t[9];let y=v,b;t[10]!==p||t[11]!==s||t[12]!==h?(b=s??p({id:`77SdEP`,values:{itemName:h}}),t[10]=p,t[11]=s,t[12]=h,t[13]=b):b=t[13];let x;t[14]===b?x=t[15]:(x=(0,$.jsx)(W,{children:b}),t[14]=b,t[15]=x);let S;t[16]!==p||t[17]!==c||t[18]!==h?(S=c??p({id:`16D5Zj`,values:{itemName:h}}),t[16]=p,t[17]=c,t[18]=h,t[19]=S):S=t[19];let C;t[20]===S?C=t[21]:(C=(0,$.jsx)(U,{className:`whitespace-pre-wrap`,children:S}),t[20]=S,t[21]=C);let w;t[22]===l?w=t[23]:(w=l?(0,$.jsx)(`p`,{className:`text-muted-foreground text-sm`,"data-testid":`delete-confirmation-detail`,children:l}):null,t[22]=l,t[23]=w);let T;t[24]!==x||t[25]!==C||t[26]!==w?(T=(0,$.jsxs)(ie,{children:[x,C,w]}),t[24]=x,t[25]=C,t[26]=w,t[27]=T):T=t[27];let E;t[28]===f?E=t[29]:(E=f?(0,$.jsx)(G,{children:f}):null,t[28]=f,t[29]=E);let D;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsx)(i,{id:`dEgA5A`}),t[30]=D):D=t[30];let O;t[31]===r?O=t[32]:(O=(0,$.jsx)(K,{asChild:!0,children:(0,$.jsx)(A,{variant:`outline`,disabled:r,children:D})}),t[31]=r,t[32]=O);let k;t[33]!==_||t[34]!==y||t[35]!==r?(k=r?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(B,{className:`size-4 animate-spin`}),` `,y]}):_,t[33]=_,t[34]=y,t[35]=r,t[36]=k):k=t[36];let j;t[37]!==r||t[38]!==o||t[39]!==k?(j=(0,$.jsx)(A,{variant:`destructive`,onClick:o,disabled:r,children:k}),t[37]=r,t[38]=o,t[39]=k,t[40]=j):j=t[40];let M;t[41]!==O||t[42]!==j?(M=(0,$.jsxs)(re,{children:[O,j]}),t[41]=O,t[42]=j,t[43]=M):M=t[43];let N;return t[44]!==E||t[45]!==M||t[46]!==T?(N=(0,$.jsxs)(ne,{children:[T,E,M]}),t[44]=E,t[45]=M,t[46]=T,t[47]=N):N=t[47],N}function Jt(e){return e?ve._({id:`wTcjov`}):null}function Yt(e){let t=(0,Q.c)(30),{_:n}=a(),r=I(),o=Wt();if(r)return null;let{input:s,installStates:c,dispatch:l}=e,u=s===null,d,f,p,m,h,g,_;if(t[0]!==n||t[1]!==l||t[2]!==s||t[3]!==u||t[4]!==c||t[5]!==o){let e=Jt(u),r;t[13]===c?r=t[14]:(r=e=>c[e.id]?.installed===!0,t[13]=c,t[14]=r);let a=ke.filter(r),v;t[15]===c?v=t[16]:(v=ke.some(e=>c[e.id]?.installed==null),t[15]=c,t[16]=v),p=v;let y=a.length>0,b=o!==null;m=!y&&!b,f=q,t[17]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsxs)(Y,{children:[(0,$.jsx)(P,{"aria-hidden":`true`}),(0,$.jsx)(i,{id:`O7_W_a`})]}),t[17]=_):_=t[17],d=me,h=b?(0,$.jsxs)(le,{"aria-label":n({id:`ALhMYW`}),children:[(0,$.jsx)(pe,{children:(0,$.jsx)(i,{id:`ALhMYW`})}),Gt.map(t=>{let{displayName:r}=O[t];return(0,$.jsxs)(X,{onSelect:()=>{s!==null&&o.launchInTerminal(s,t)},disabled:u,"data-testid":`file-tree-open-in-terminal-${t}`,"aria-label":n(e?{id:`AIn2Yv`,values:{displayName:r,hint:e}}:{id:`QYfQdv`,values:{displayName:r}}),children:[(0,$.jsx)(Vt,{id:Kt(t),"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`flex-1`,children:r}),e?(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`ml-2 text-muted-foreground text-xs`,children:e}):null]},t)})]}):null,g=y?(0,$.jsxs)($.Fragment,{children:[b?(0,$.jsx)(J,{}):null,(0,$.jsxs)(le,{"aria-label":n({id:`BBqGS9`}),children:[(0,$.jsx)(pe,{children:(0,$.jsx)(i,{id:`BBqGS9`})}),a.map(t=>{let r=!u,{displayName:i}=t,a=n(e?{id:`1ZpfyB`,values:{displayName:i,hint:e}}:{id:`WqLq6M`,values:{displayName:i}});return(0,$.jsxs)(X,{disabled:!r,onSelect:()=>{s&&l(t.id,s)},"data-testid":`file-tree-open-in-${t.id}`,"aria-label":a,children:[(0,$.jsx)(Vt,{id:t.id,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`flex-1`,children:t.displayName}),e?(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`ml-2 text-muted-foreground text-xs`,children:e}):null]},t.id)})]})]}):null,t[0]=n,t[1]=l,t[2]=s,t[3]=u,t[4]=c,t[5]=o,t[6]=d,t[7]=f,t[8]=p,t[9]=m,t[10]=h,t[11]=g,t[12]=_}else d=t[6],f=t[7],p=t[8],m=t[9],h=t[10],g=t[11],_=t[12];let v;t[18]!==p||t[19]!==m?(v=m?(0,$.jsx)(X,{disabled:!0,"data-testid":`file-tree-open-in-empty`,children:p?(0,$.jsx)(i,{id:`EcR0fl`}):(0,$.jsx)(i,{id:`l6OXqI`})}):null,t[18]=p,t[19]=m,t[20]=v):v=t[20];let y;t[21]!==d||t[22]!==h||t[23]!==g||t[24]!==v?(y=(0,$.jsxs)(d,{children:[h,g,v]}),t[21]=d,t[22]=h,t[23]=g,t[24]=v,t[25]=y):y=t[25];let b;return t[26]!==f||t[27]!==_||t[28]!==y?(b=(0,$.jsxs)(f,{children:[_,y]}),t[26]=f,t[27]=_,t[28]=y,t[29]=b):b=t[29],b}function Xt(e){let t=(0,Q.c)(8),n=e?.enabled??!0,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={status:`idle`},t[0]=r):r=t[0];let[i,a]=(0,Z.useState)(r),[o,s]=(0,Z.useState)(0),c,l;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>{let e=()=>s(en),t=be(e),n=ye(t=>{t.includes(`files`)&&e()});return()=>{t(),n()}},l=[],t[1]=c,t[2]=l):(c=t[1],l=t[2]),(0,Z.useEffect)(c,l);let u;t[3]===n?u=t[4]:(u=()=>{if(!n)return;let e=!1;return a($t),fetch(`/api/skills`).then(Zt).then(t=>{if(e)return;let n=m.safeParse(t);if(!n.success){console.error(`[ok-skills] /api/skills response failed schema validation:`,n.error.issues),a({status:`error`,message:`Server returned an incomplete skills response.`});return}a({status:`ready`,data:n.data.skills})}).catch(t=>{e||a({status:`error`,message:t instanceof Error?t.message:String(t)})}),()=>{e=!0}},t[3]=n,t[4]=u);let d;return t[5]!==n||t[6]!==o?(d=[o,n],t[5]=n,t[6]=o,t[7]=d):d=t[7],(0,Z.useEffect)(u,d),i}async function Zt(e){if(!e.ok){let t=await e.json().catch(Qt);throw Error(_e(t)??`HTTP ${e.status}`)}return e.json()}function Qt(){return null}function $t(e){return e.status===`ready`?e:{status:`loading`}}function en(e){return e+1}function tn(e){let t=(0,Q.c)(16),{skill:n,onOpenChange:r,onDeleted:i}=e,{_:o}=a(),[s,c]=(0,Z.useState)(!1),l;t[0]!==o||t[1]!==i||t[2]!==r?(l=async function(e){c(!0);let t=await fe(e.scope,e.name);if(c(!1),!t.ok){let{error:e}=t;H.error(o({id:`AtBdnD`,values:{error:e}}));return}H.success(o({id:`h9QFb9`,values:{0:e.name}})),i(),r(!1)},t[0]=o,t[1]=i,t[2]=r,t[3]=l):l=t[3];let u=l,d=n!==null,f;t[4]!==s||t[5]!==r?(f=e=>{!e&&!s&&r(!1)},t[4]=s,t[5]=r,t[6]=f):f=t[6];let p;t[7]!==o||t[8]!==s||t[9]!==u||t[10]!==n?(p=n?(0,$.jsx)(qt,{itemName:o({id:`ExUzM4`,values:{0:n.name}}),isSubmitting:s,onDelete:()=>u(n),customDescription:o({id:`E1Da_b`,values:{0:n.path}})}):null,t[7]=o,t[8]=s,t[9]=u,t[10]=n,t[11]=p):p=t[11];let m;return t[12]!==d||t[13]!==f||t[14]!==p?(m=(0,$.jsx)(ae,{open:d,onOpenChange:f,children:p}),t[12]=d,t[13]=f,t[14]=p,t[15]=m):m=t[15],m}function nn(e){let t=(0,Q.c)(68),{skill:n,existingNames:r,onOpenChange:o,onRenamed:s}=e,{_:c}=a(),l=n!==null,u=(0,Z.useId)(),[d,f]=(0,Z.useState)(``),[p,m]=(0,Z.useState)(!1),h;t[0]===n?h=t[1]:(h=()=>{n&&f(n.name)},t[0]=n,t[1]=h);let g=n?.scope,_=n?.name,v;if(t[2]!==g||t[3]!==_?(v=[g,_],t[2]=g,t[3]=_,t[4]=v):v=t[4],(0,Z.useEffect)(h,v),!n)return null;let y,b,x,S;t[5]!==r||t[6]!==d||t[7]!==n.name?(x=d.trim(),S=x===n.name,y=x===``||!w.test(x),b=!y&&!S&&r.has(x),t[5]=r,t[6]=d,t[7]=n.name,t[8]=y,t[9]=b,t[10]=x,t[11]=S):(y=t[8],b=t[9],x=t[10],S=t[11]);let C=b,T=!y&&!C&&!S&&!p,E;t[12]!==c||t[13]!==T||t[14]!==o||t[15]!==s||t[16]!==n||t[17]!==x?(E=async function(){if(!n||!T)return;m(!0);let e=await de({scope:n.scope,fromName:n.name,toName:x});if(m(!1),!e.ok){H.error(c({id:`zKxoPm`,values:{0:n.name,1:e.error}}));return}H.success(c({id:`dUCQo4`,values:{trimmed:x}})),s?.(x),o(!1)},t[12]=c,t[13]=T,t[14]=o,t[15]=s,t[16]=n,t[17]=x,t[18]=E):E=t[18];let D=E,O;t[19]===o?O=t[20]:(O=e=>e?null:o(!1),t[19]=o,t[20]=O);let k;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,$.jsx)(W,{children:(0,$.jsx)(i,{id:`dw_3cv`})}),t[21]=k):k=t[21];let j;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsxs)(ie,{children:[k,(0,$.jsx)(U,{children:(0,$.jsx)(i,{id:`R9IDFz`})})]}),t[22]=j):j=t[22];let M;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,$.jsx)(i,{id:`6YtxFj`}),t[23]=M):M=t[23];let N;t[24]===u?N=t[25]:(N=(0,$.jsx)(he,{htmlFor:u,children:M}),t[24]=u,t[25]=N);let ee;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(ee=e=>f(e.target.value),t[26]=ee):ee=t[26];let P;t[27]===D?P=t[28]:(P=e=>{e.key===`Enter`&&D()},t[27]=D,t[28]=P);let F=y||C,I=y&&x!==``||C?`${u}-error`:void 0,L;t[29]!==u||t[30]!==d||t[31]!==P||t[32]!==F||t[33]!==I?(L=(0,$.jsx)(ge,{id:u,value:d,onChange:ee,onKeyDown:P,spellCheck:!1,autoCapitalize:`off`,autoCorrect:`off`,"aria-invalid":F,"aria-describedby":I,className:`font-mono`}),t[29]=u,t[30]=d,t[31]=P,t[32]=F,t[33]=I,t[34]=L):L=t[34];let R;t[35]!==C||t[36]!==u||t[37]!==y||t[38]!==x?(R=y&&x!==``?(0,$.jsx)(`p`,{id:`${u}-error`,className:`text-xs text-destructive`,children:(0,$.jsx)(i,{id:`A50vr3`,components:{0:(0,$.jsx)(`code`,{className:`font-mono`})}})}):C?(0,$.jsx)(`p`,{id:`${u}-error`,className:`text-xs text-destructive`,children:(0,$.jsx)(i,{id:`YJ1BTp`})}):null,t[35]=C,t[36]=u,t[37]=y,t[38]=x,t[39]=R):R=t[39];let z;t[40]!==N||t[41]!==L||t[42]!==R?(z=(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[N,L,R]}),t[40]=N,t[41]=L,t[42]=R,t[43]=z):z=t[43];let B;t[44]===o?B=t[45]:(B=()=>o(!1),t[44]=o,t[45]=B);let te;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(te=(0,$.jsx)(i,{id:`dEgA5A`}),t[46]=te):te=t[46];let V;t[47]!==p||t[48]!==B?(V=(0,$.jsx)(A,{variant:`ghost`,onClick:B,disabled:p,children:te}),t[47]=p,t[48]=B,t[49]=V):V=t[49];let G;t[50]===D?G=t[51]:(G=()=>void D(),t[50]=D,t[51]=G);let K=!T,q;t[52]===p?q=t[53]:(q=p?(0,$.jsx)(i,{id:`tHKQ6j`}):(0,$.jsx)(i,{id:`2wxgft`}),t[52]=p,t[53]=q);let J;t[54]!==G||t[55]!==K||t[56]!==q?(J=(0,$.jsx)(A,{onClick:G,disabled:K,children:q}),t[54]=G,t[55]=K,t[56]=q,t[57]=J):J=t[57];let Y;t[58]!==V||t[59]!==J?(Y=(0,$.jsxs)(re,{children:[V,J]}),t[58]=V,t[59]=J,t[60]=Y):Y=t[60];let X;t[61]!==z||t[62]!==Y?(X=(0,$.jsxs)(ne,{children:[j,z,Y]}),t[61]=z,t[62]=Y,t[63]=X):X=t[63];let oe;return t[64]!==l||t[65]!==X||t[66]!==O?(oe=(0,$.jsx)(ae,{open:l,onOpenChange:O,children:X}),t[64]=l,t[65]=X,t[66]=O,t[67]=oe):oe=t[67],oe}function rn(e){let t=(0,Q.c)(15),{skill:n,onOpenChange:r,onUpdated:o}=e,{_:s}=a(),[c,l]=(0,Z.useState)(!1),u;t[0]!==s||t[1]!==r||t[2]!==o?(u=async function(e){l(!0);let t=await ce({scope:e.scope,name:e.name});l(!1);let n=M(e.name);if(!t.ok){H.error(s({id:`FRqZ9v`,values:{0:t.error}}));return}H.success(t.checkpointRef?s({id:`My9uXI`,values:{0:t.version,display:n}}):s({id:`mPneVR`,values:{0:t.version,display:n}})),o(),r(!1)},t[0]=s,t[1]=r,t[2]=o,t[3]=u):u=t[3];let d=u,f=n!==null,p;t[4]!==r||t[5]!==c?(p=e=>{!e&&!c&&r(!1)},t[4]=r,t[5]=c,t[6]=p):p=t[6];let m;t[7]!==d||t[8]!==n||t[9]!==c?(m=n?(0,$.jsxs)(ne,{className:`sm:max-w-lg`,children:[(0,$.jsxs)(ie,{children:[(0,$.jsx)(W,{children:(0,$.jsx)(i,{id:`iAoh55`,values:{0:M(n.name)}})}),(0,$.jsx)(U,{children:n.installedVersion?(0,$.jsx)(i,{id:`47EXvY`,values:{0:n.bundledVersion??``,1:n.installedVersion}}):(0,$.jsx)(i,{id:`nD7Fx9`,values:{0:n.bundledVersion??``}})})]}),(0,$.jsx)(G,{}),(0,$.jsxs)(re,{children:[(0,$.jsx)(K,{asChild:!0,children:(0,$.jsx)(A,{variant:`outline`,disabled:c,children:(0,$.jsx)(i,{id:`dEgA5A`})})}),(0,$.jsx)(A,{onClick:()=>void d(n),disabled:c,children:c?(0,$.jsx)(i,{id:`JL3si7`}):(0,$.jsx)(i,{id:`EkH9pt`})})]})]}):null,t[7]=d,t[8]=n,t[9]=c,t[10]=m):m=t[10];let h;return t[11]!==f||t[12]!==p||t[13]!==m?(h=(0,$.jsx)(ae,{open:f,onOpenChange:p,children:m}),t[11]=f,t[12]=p,t[13]=m,t[14]=h):h=t[14],h}function an(){let e=(0,Q.c)(30),{_:t}=a(),[n,r]=(0,Z.useState)(null),[i,o]=(0,Z.useState)(null),[s,c]=(0,Z.useState)(null),[l,u]=(0,Z.useState)(null),d;e[0]===t?d=e[1]:(d=async function(e,n){u(e.name);let r=await oe({scope:e.scope,name:e.name,...n?{targets:[...n]}:{}});if(u(null),!r.ok)return H.error(t({id:`Mj8R8K`,values:{0:r.error}})),r;let i=on,a=new Set(r.hosts),o=r.hosts.filter(t=>!e.hosts.includes(t)),s=e.hosts.filter(e=>!a.has(e)),c=e=>{let t=r.warningCodes.indexOf(e);return t>=0?r.warnings[t]:void 0},l=c(`no-targets`);if(l)return H.warning(l),r;if(o.length>0){let e=c(`scripts-present`);e&&H.warning(e)}return r.hosts.length===0?H.success(t({id:`0LBDjY`,values:{0:e.name}})):o.length>0&&s.length===0?H.success(t({id:`PPFQ3o`,values:{0:e.name,1:i(o)}})):s.length>0&&o.length===0?H.success(t({id:`OOIVJo`,values:{0:e.name,1:i(s)}})):o.length>0&&s.length>0?H.success(t({id:`OxplNM`,values:{0:e.name,1:i(o),2:i(s)}})):H.success(t({id:`wDgmsr`,values:{0:e.name,1:i(r.hosts)}})),r},e[0]=t,e[1]=d);let f=d,p;e[2]===t?p=e[3]:(p=async function(e){u(e.name);let n=await se({scope:e.scope,name:e.name});return u(null),n.ok?H.success(t({id:`0LBDjY`,values:{0:e.name}})):H.error(t({id:`nJq7et`,values:{0:n.error}})),n},e[2]=t,e[3]=p);let m=p,h;e[4]===t?h=e[5]:(h=async function(e,n){let r=await ue({scope:e.scope,name:e.name,existingNames:n});if(!r.ok){H.error(t({id:`UPjaXD`,values:{0:e.name,1:r.error}}));return}H.success(t({id:`0g7rCZ`,values:{0:r.name}}))},e[4]=t,e[5]=h);let g=h,_,v;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(_=e=>{e||r(null)},v=()=>r(null),e[6]=_,e[7]=v):(_=e[6],v=e[7]);let y;e[8]===n?y=e[9]:(y=(0,$.jsx)(tn,{skill:n,onOpenChange:_,onDeleted:v}),e[8]=n,e[9]=y);let b=i?.skill??null,x=i?.existingNames??cn,S,C;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(S=e=>{e||o(null)},C=()=>o(null),e[10]=S,e[11]=C):(S=e[10],C=e[11]);let w;e[12]!==b||e[13]!==x?(w=(0,$.jsx)(nn,{skill:b,existingNames:x,onOpenChange:S,onRenamed:C}),e[12]=b,e[13]=x,e[14]=w):w=e[14];let T,E;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(T=e=>{e||c(null)},E=()=>c(null),e[15]=T,e[16]=E):(T=e[15],E=e[16]);let D;e[17]===s?D=e[18]:(D=(0,$.jsx)(rn,{skill:s,onOpenChange:T,onUpdated:E}),e[17]=s,e[18]=D);let O;e[19]!==w||e[20]!==D||e[21]!==y?(O=(0,$.jsxs)($.Fragment,{children:[y,w,D]}),e[19]=w,e[20]=D,e[21]=y,e[22]=O):O=e[22];let k=O,A;e[23]===Symbol.for(`react.memo_cache_sentinel`)?(A=(e,t)=>o({skill:e,existingNames:t}),e[23]=A):A=e[23];let j;return e[24]!==k||e[25]!==g||e[26]!==f||e[27]!==l||e[28]!==m?(j={installingName:l,install:f,uninstall:m,duplicate:g,requestDelete:r,requestRename:A,requestUpdate:c,dialogs:k},e[24]=k,e[25]=g,e[26]=f,e[27]=l,e[28]=m,e[29]=j):j=e[29],j}function on(e){return e.map(sn).join(`, `)}function sn(e){return x[e]??e}var cn=new Set;function ln(e){let t=(0,Q.c)(19),{skill:n,onEdit:r,onInstall:a,onUninstall:o,onDelete:s}=e,c,l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(R,{"aria-hidden":!0}),l=(0,$.jsx)(i,{id:`ePK91l`}),t[0]=c,t[1]=l):(c=t[0],l=t[1]);let u;t[2]===r?u=t[3]:(u=(0,$.jsxs)(X,{onSelect:r,children:[c,l]}),t[2]=r,t[3]=u);let d;t[4]!==a||t[5]!==n.installed?(d=a&&!n.installed?(0,$.jsxs)(X,{onSelect:a,children:[(0,$.jsx)(Te,{"aria-hidden":!0}),(0,$.jsx)(i,{id:`TKQ7K-`})]}):null,t[4]=a,t[5]=n.installed,t[6]=d):d=t[6];let f;t[7]!==o||t[8]!==n.installed?(f=n.installed?(0,$.jsxs)(X,{onSelect:o,children:[(0,$.jsx)(De,{"aria-hidden":!0}),(0,$.jsx)(i,{id:`fo0VXg`})]}):null,t[7]=o,t[8]=n.installed,t[9]=f):f=t[9];let p,m;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(V,{"aria-hidden":!0}),m=(0,$.jsx)(i,{id:`cnGeoo`}),t[10]=p,t[11]=m):(p=t[10],m=t[11]);let h;t[12]===s?h=t[13]:(h=(0,$.jsxs)(X,{variant:`destructive`,onSelect:s,children:[p,m]}),t[12]=s,t[13]=h);let g;return t[14]!==u||t[15]!==d||t[16]!==f||t[17]!==h?(g=(0,$.jsxs)($.Fragment,{children:[u,d,f,h]}),t[14]=u,t[15]=d,t[16]=f,t[17]=h,t[18]=g):g=t[18],g}function un(e){let t=(0,Q.c)(65),{skill:n,actions:r,existingNames:o}=e,{_:s}=a(),c=Ae(),l=Mt().states,{dispatch:u}=xt(),d=typeof window<`u`?window.okDesktop:void 0,f=n.absolutePath,p;t[0]===s?p=t[1]:(p=async function(e){try{await It(e),H.success(s({id:`SXCSQd`}))}catch{H.error(s({id:`cRHuuI`}))}},t[0]=s,t[1]=p);let m=p,h;t[2]===f?h=t[3]:(h=d&&f?(0,$.jsxs)(X,{onSelect:()=>void d.shell.showItemInFolder(f),children:[(0,$.jsx)(z,{"aria-hidden":!0}),(0,$.jsx)(i,{id:`LtSYdi`})]}):null,t[2]=f,t[3]=h);let g;t[4]!==n.name||t[5]!==n.scope||t[6]!==c?(g=ct({skillName:n.name,scope:n.scope,workspace:c}),t[4]=n.name,t[5]=n.scope,t[6]=c,t[7]=g):g=t[7];let _;t[8]!==u||t[9]!==l||t[10]!==g?(_=(0,$.jsx)(Yt,{input:g,installStates:l,isElectronHost:d!=null,dispatch:u}),t[8]=u,t[9]=l,t[10]=g,t[11]=_):_=t[11];let v;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsxs)(Y,{children:[(0,$.jsx)(N,{"aria-hidden":!0}),(0,$.jsx)(i,{id:`zd00pH`})]}),t[12]=v):v=t[12];let y;t[13]!==f||t[14]!==m?(y=f?(0,$.jsx)(X,{onSelect:()=>void m(f),children:(0,$.jsx)(i,{id:`z2funE`})}):null,t[13]=f,t[14]=m,t[15]=y):y=t[15];let b;t[16]!==m||t[17]!==n.path?(b=()=>void m(n.path),t[16]=m,t[17]=n.path,t[18]=b):b=t[18];let x;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(i,{id:`xloBjn`}),t[19]=x):x=t[19];let S;t[20]===b?S=t[21]:(S=(0,$.jsx)(X,{onSelect:b,children:x}),t[20]=b,t[21]=S);let C;t[22]!==y||t[23]!==S?(C=(0,$.jsxs)(q,{children:[v,(0,$.jsxs)(me,{children:[y,S]})]}),t[22]=y,t[23]=S,t[24]=C):C=t[24];let w;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)(J,{}),t[25]=w):w=t[25];let T;t[26]!==r||t[27]!==o||t[28]!==n?(T=()=>void r.duplicate(n,o),t[26]=r,t[27]=o,t[28]=n,t[29]=T):T=t[29];let E,D;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(ee,{"aria-hidden":!0}),D=(0,$.jsx)(i,{id:`euc6Ns`}),t[30]=E,t[31]=D):(E=t[30],D=t[31]);let O;t[32]===T?O=t[33]:(O=(0,$.jsxs)(X,{onSelect:T,children:[E,D]}),t[32]=T,t[33]=O);let k;t[34]!==r||t[35]!==o||t[36]!==n?(k=()=>r.requestRename(n,o),t[34]=r,t[35]=o,t[36]=n,t[37]=k):k=t[37];let A,j;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,$.jsx)(Ee,{"aria-hidden":!0}),j=(0,$.jsx)(i,{id:`2wxgft`}),t[38]=A,t[39]=j):(A=t[38],j=t[39]);let M;t[40]===k?M=t[41]:(M=(0,$.jsxs)(X,{onSelect:k,children:[A,j]}),t[40]=k,t[41]=M);let P;t[42]!==r||t[43]!==n?(P=n.updateAvailable?(0,$.jsxs)(X,{onSelect:()=>r.requestUpdate(n),children:[(0,$.jsx)(te,{"aria-hidden":!0}),(0,$.jsx)(i,{id:`6g2jsp`})]}):null,t[42]=r,t[43]=n,t[44]=P):P=t[44];let F;t[45]!==r||t[46]!==n?(F=n.installed?(0,$.jsxs)(X,{onSelect:()=>void r.uninstall(n),children:[(0,$.jsx)(De,{"aria-hidden":!0}),(0,$.jsx)(i,{id:`fo0VXg`})]}):(0,$.jsxs)(X,{onSelect:()=>void r.install(n),children:[(0,$.jsx)(Te,{"aria-hidden":!0}),(0,$.jsx)(i,{id:`TKQ7K-`})]}),t[45]=r,t[46]=n,t[47]=F):F=t[47];let I;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,$.jsx)(J,{}),t[48]=I):I=t[48];let L;t[49]!==r||t[50]!==n?(L=()=>r.requestDelete(n),t[49]=r,t[50]=n,t[51]=L):L=t[51];let R,B;t[52]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(V,{"aria-hidden":!0}),B=(0,$.jsx)(i,{id:`cnGeoo`}),t[52]=R,t[53]=B):(R=t[52],B=t[53]);let U;t[54]===L?U=t[55]:(U=(0,$.jsxs)(X,{variant:`destructive`,onSelect:L,children:[R,B]}),t[54]=L,t[55]=U);let W;return t[56]!==C||t[57]!==O||t[58]!==M||t[59]!==h||t[60]!==P||t[61]!==F||t[62]!==U||t[63]!==_?(W=(0,$.jsxs)($.Fragment,{children:[h,_,C,w,O,M,P,F,I,U]}),t[56]=C,t[57]=O,t[58]=M,t[59]=h,t[60]=P,t[61]=F,t[62]=U,t[63]=_,t[64]=W):W=t[64],W}export{ot as C,Te as D,ke as E,vt as S,Ae as T,st as _,Yt as a,ct as b,Kt as c,Vt as d,Pt as f,at as g,lt as h,Xt as i,Ut as l,Mt as m,un as n,qt as o,It as p,an as r,Gt as s,ln as t,Wt as u,rt as v,xt as w,gt as x,it as y};
@@ -48,7 +48,7 @@
48
48
  -->
49
49
  <script>(() => { let t = 'system'; try { const r = localStorage.getItem('ok-theme-v1'); if (r === 'light' || r === 'dark' || r === 'system') t = r; } catch {} let dark = t === 'dark'; if (t === 'system') { try { dark = window.matchMedia('(prefers-color-scheme: dark)').matches; } catch {} } if (dark) document.documentElement.classList.add('dark'); if (window.okDesktop) document.documentElement.classList.add('electron-mode'); })();</script>
50
50
  <style>html { background-color: #fafafa } html.dark { background-color: #171717 }</style>
51
- <script type="module" crossorigin src="./assets/index-CWW9ADpk.js"></script>
51
+ <script type="module" crossorigin src="./assets/index-Dot-SWIQ.js"></script>
52
52
  <link rel="modulepreload" crossorigin href="./assets/chunk-CFjPhJqf.js">
53
53
  <link rel="modulepreload" crossorigin href="./assets/preload-helper-2ej06EnG.js">
54
54
  <link rel="modulepreload" crossorigin href="./assets/w3c-keyname-CHcJEDvG.js">
@@ -80,7 +80,7 @@
80
80
  <link rel="modulepreload" crossorigin href="./assets/navigation-targets-u2AFSpqT.js">
81
81
  <link rel="modulepreload" crossorigin href="./assets/documents-fetch-DqIXnUVU.js">
82
82
  <link rel="modulepreload" crossorigin href="./assets/CodeMirrorPropInput-CI_BdrFO.js">
83
- <link rel="modulepreload" crossorigin href="./assets/dist-AuN-WRQ2.js">
83
+ <link rel="modulepreload" crossorigin href="./assets/dist-D74hAxnw.js">
84
84
  <link rel="modulepreload" crossorigin href="./assets/documents-events-BvkJvzEE.js">
85
85
  <link rel="modulepreload" crossorigin href="./assets/parse-api-error-CqtA8BcL.js">
86
86
  <link rel="modulepreload" crossorigin href="./assets/open-managed-artifact-tab-BX3OwOLJ.js">
@@ -114,25 +114,25 @@
114
114
  <link rel="modulepreload" crossorigin href="./assets/EnableSyncConfirmDialog-Bfx-F020.js">
115
115
  <link rel="modulepreload" crossorigin href="./assets/arrow-up-right-Crm0Btez.js">
116
116
  <link rel="modulepreload" crossorigin href="./assets/refresh-cw-CluaccKu.js">
117
- <link rel="modulepreload" crossorigin href="./assets/cursor-Diqcx2dn.js">
118
- <link rel="modulepreload" crossorigin href="./assets/skill-actions-D6y739v8.js">
119
- <link rel="modulepreload" crossorigin href="./assets/textarea-CfltWSGa.js">
120
- <link rel="modulepreload" crossorigin href="./assets/external-link-27uXLNxg.js">
121
- <link rel="modulepreload" crossorigin href="./assets/keyboard-shortcuts-BuZN2bTe.js">
122
- <link rel="modulepreload" crossorigin href="./assets/auth-state-cache-Chy1TIhv.js">
117
+ <link rel="modulepreload" crossorigin href="./assets/cursor-CjNH7VrK.js">
118
+ <link rel="modulepreload" crossorigin href="./assets/skill-actions--keDj-1t.js">
119
+ <link rel="modulepreload" crossorigin href="./assets/textarea-DtAQz2_P.js">
120
+ <link rel="modulepreload" crossorigin href="./assets/external-link-BjECE2gH.js">
121
+ <link rel="modulepreload" crossorigin href="./assets/keyboard-shortcuts-CYQR8WL_.js">
122
+ <link rel="modulepreload" crossorigin href="./assets/auth-state-cache-CYLTInpD.js">
123
123
  <link rel="modulepreload" crossorigin href="./assets/toggle-group-CXHn0FKi.js">
124
124
  <link rel="modulepreload" crossorigin href="./assets/panel-BH2RZRZQ.js">
125
- <link rel="modulepreload" crossorigin href="./assets/format-2O9Da5Lm.js">
126
- <link rel="modulepreload" crossorigin href="./assets/selection-context-BVfXsapt.js">
127
- <link rel="modulepreload" crossorigin href="./assets/PropertyPanel-M1FqAxBu.js">
125
+ <link rel="modulepreload" crossorigin href="./assets/format-EMqSStmm.js">
126
+ <link rel="modulepreload" crossorigin href="./assets/selection-context-Lsc6HP-h.js">
127
+ <link rel="modulepreload" crossorigin href="./assets/PropertyPanel-CdSjB-1i.js">
128
128
  <link rel="modulepreload" crossorigin href="./assets/miss-dialog-store-PJQ_kr0I.js">
129
- <link rel="modulepreload" crossorigin href="./assets/pending-receive-nav-store-DD8Ei1lo.js">
129
+ <link rel="modulepreload" crossorigin href="./assets/pending-receive-nav-store-CEbpuzlN.js">
130
130
  <link rel="modulepreload" crossorigin href="./assets/chevron-left-BEP8MhU3.js">
131
- <link rel="modulepreload" crossorigin href="./assets/agent-presence-BH_OoZBC.js">
132
- <link rel="modulepreload" crossorigin href="./assets/typing-burst-detector-DXjPfO7_.js">
131
+ <link rel="modulepreload" crossorigin href="./assets/agent-presence-Df3xVodm.js">
132
+ <link rel="modulepreload" crossorigin href="./assets/typing-burst-detector-uC8uK0Mq.js">
133
133
  <link rel="modulepreload" crossorigin href="./assets/project-paths-Cv9JzTbQ.js">
134
134
  <link rel="modulepreload" crossorigin href="./assets/file-tree-adapter-DvAE1kkw.js">
135
- <link rel="modulepreload" crossorigin href="./assets/target-navigation-intent-P7IapNEj.js">
135
+ <link rel="modulepreload" crossorigin href="./assets/target-navigation-intent-B9aNmptJ.js">
136
136
  <link rel="modulepreload" crossorigin href="./assets/mcp-consent-store-BxRtlIhJ.js">
137
137
  <link rel="modulepreload" crossorigin href="./assets/receive-store-Dt6o4uQU.js">
138
138
  <link rel="stylesheet" crossorigin href="./assets/DocumentContext-B0sQn39F.css">
@@ -1,2 +1,2 @@
1
- import{S as e,r as t}from"./init-CD7gPvxY.mjs";import{t as n}from"./is-object-Cg453afR.mjs";import{join as r}from"node:path";import{existsSync as i,readFileSync as a}from"node:fs";const o=[[`@inkeep/open-knowledge`,`ui`],[`-y`,`@inkeep/open-knowledge`,`ui`],t];function s(e){if(e.runtimeExecutable===`/bin/sh`&&Array.isArray(e.runtimeArgs)){let t=e.runtimeArgs[2];if(typeof t==`string`){if(t.includes(`# ok-ui-v1`))return`canonical`;if(/# ok-ui-v\d+/.test(t))return`legacy-bare`}return`preserved`}if(e.runtimeExecutable===`powershell`&&Array.isArray(e.runtimeArgs)){let t=e.runtimeArgs[3];if(typeof t==`string`){if(t.includes(`# ok-ui-win-v1`))return`canonical`;if(/# ok-ui-win-v\d+/.test(t))return`legacy-bare`}return`preserved`}if(e.runtimeExecutable===`npx`&&Array.isArray(e.runtimeArgs)){for(let t of o)if(c(e.runtimeArgs,t))return`legacy-bare`}return`preserved`}function c(e,t){if(e.length!==t.length)return!1;for(let n=0;n<t.length;n++)if(e[n]!==t[n])return!1;return!0}function l(t){let o=t.logger??u,c=r(t.projectDir,`.claude`,`launch.json`);if(t.reclaimDisableEnv===`1`)return o({event:`launch-json-repair-skipped`,reason:`reclaim-disabled`}),{outcome:{configPath:c,outcome:`skipped-reclaim-disabled`},repairedCount:0};if(!i(c))return{outcome:{configPath:c,outcome:`no-file`},repairedCount:0};let l;try{let e=a(c,`utf-8`).trim();l=e?JSON.parse(e):{}}catch(e){let t=e instanceof Error?e.message:String(e);return o({event:`launch-json-repair-read-failed`,configPath:c,error:t}),{outcome:{configPath:c,outcome:`read-failed`,error:t},repairedCount:0}}if(!n(l)){let e=`launch.json root is not an object`;return o({event:`launch-json-repair-read-failed`,configPath:c,error:e}),{outcome:{configPath:c,outcome:`read-failed`,error:e},repairedCount:0}}let d=l.configurations;if(!Array.isArray(d))return{outcome:{configPath:c,outcome:`no-entry`},repairedCount:0};let f=d.find(e=>n(e)&&e.name===`open-knowledge-ui`);if(!f)return{outcome:{configPath:c,outcome:`no-entry`},repairedCount:0};let p=s(f);if(p===`canonical`)return{outcome:{configPath:c,outcome:`canonical`},repairedCount:0};if(p===`preserved`)return{outcome:{configPath:c,outcome:`preserved`},repairedCount:0};let m=e(t.projectDir,{mode:`published`});if(m.action===`failed`){let e=m.error??`unknown write failure`;return o({event:`launch-json-repair-write-failed`,configPath:c,error:e}),{outcome:{configPath:c,outcome:`write-failed`,error:e},repairedCount:0}}return o({event:`launch-json-repair-applied`,configPath:c}),{outcome:{configPath:c,outcome:`repaired`},repairedCount:1}}function u(e){process.stderr.write(`${JSON.stringify(e)}\n`)}export{l as repairLaunchJson};
2
- //# sourceMappingURL=repair-launch-json-B0B568xb.mjs.map
1
+ import{S as e,r as t}from"./init-Ctx2NP2_.mjs";import{t as n}from"./is-object-Cg453afR.mjs";import{join as r}from"node:path";import{existsSync as i,readFileSync as a}from"node:fs";const o=[[`@inkeep/open-knowledge`,`ui`],[`-y`,`@inkeep/open-knowledge`,`ui`],t];function s(e){if(e.runtimeExecutable===`/bin/sh`&&Array.isArray(e.runtimeArgs)){let t=e.runtimeArgs[2];if(typeof t==`string`){if(t.includes(`# ok-ui-v1`))return`canonical`;if(/# ok-ui-v\d+/.test(t))return`legacy-bare`}return`preserved`}if(e.runtimeExecutable===`powershell`&&Array.isArray(e.runtimeArgs)){let t=e.runtimeArgs[3];if(typeof t==`string`){if(t.includes(`# ok-ui-win-v1`))return`canonical`;if(/# ok-ui-win-v\d+/.test(t))return`legacy-bare`}return`preserved`}if(e.runtimeExecutable===`npx`&&Array.isArray(e.runtimeArgs)){for(let t of o)if(c(e.runtimeArgs,t))return`legacy-bare`}return`preserved`}function c(e,t){if(e.length!==t.length)return!1;for(let n=0;n<t.length;n++)if(e[n]!==t[n])return!1;return!0}function l(t){let o=t.logger??u,c=r(t.projectDir,`.claude`,`launch.json`);if(t.reclaimDisableEnv===`1`)return o({event:`launch-json-repair-skipped`,reason:`reclaim-disabled`}),{outcome:{configPath:c,outcome:`skipped-reclaim-disabled`},repairedCount:0};if(!i(c))return{outcome:{configPath:c,outcome:`no-file`},repairedCount:0};let l;try{let e=a(c,`utf-8`).trim();l=e?JSON.parse(e):{}}catch(e){let t=e instanceof Error?e.message:String(e);return o({event:`launch-json-repair-read-failed`,configPath:c,error:t}),{outcome:{configPath:c,outcome:`read-failed`,error:t},repairedCount:0}}if(!n(l)){let e=`launch.json root is not an object`;return o({event:`launch-json-repair-read-failed`,configPath:c,error:e}),{outcome:{configPath:c,outcome:`read-failed`,error:e},repairedCount:0}}let d=l.configurations;if(!Array.isArray(d))return{outcome:{configPath:c,outcome:`no-entry`},repairedCount:0};let f=d.find(e=>n(e)&&e.name===`open-knowledge-ui`);if(!f)return{outcome:{configPath:c,outcome:`no-entry`},repairedCount:0};let p=s(f);if(p===`canonical`)return{outcome:{configPath:c,outcome:`canonical`},repairedCount:0};if(p===`preserved`)return{outcome:{configPath:c,outcome:`preserved`},repairedCount:0};let m=e(t.projectDir,{mode:`published`});if(m.action===`failed`){let e=m.error??`unknown write failure`;return o({event:`launch-json-repair-write-failed`,configPath:c,error:e}),{outcome:{configPath:c,outcome:`write-failed`,error:e},repairedCount:0}}return o({event:`launch-json-repair-applied`,configPath:c}),{outcome:{configPath:c,outcome:`repaired`},repairedCount:1}}function u(e){process.stderr.write(`${JSON.stringify(e)}\n`)}export{l as repairLaunchJson};
2
+ //# sourceMappingURL=repair-launch-json-B22PVEUL.mjs.map
@@ -1,2 +1,2 @@
1
- import{g as e,w as t}from"./init-CD7gPvxY.mjs";import{_ as n,d as r,s as i}from"./write-project-skill-8alJi7YJ.mjs";import{t as a}from"./mcp-migrate-event-D0NrGjvc.mjs";import{homedir as o}from"node:os";function s(e){let t=e.logger??u,n=e.home??o(),a=[];if(e.reclaimDisableEnv===`1`)return t({event:`mcp-config-repair-skipped`,reason:`reclaim-disabled`}),{outcomes:a,repairedCount:0};for(let o of i){let i=r[o],s=c(()=>i.configPath(``,n));if(s!==null&&a.push(l({scope:`user`,editorId:o,target:i,home:n,cwd:``,configPath:s,configPathOverride:void 0,logger:t})),i.projectConfigPath){let n=i.projectConfigPath,r=c(()=>n(e.projectDir));r!==null&&a.push(l({scope:`project`,editorId:o,target:i,home:void 0,cwd:e.projectDir,configPath:r,configPathOverride:r,logger:t}))}}return{outcomes:a,repairedCount:a.filter(e=>e.outcome===`repaired`).length}}function c(e){try{return e()}catch{return null}}function l(r){let i={scope:r.scope,editorId:r.editorId,configPath:r.configPath},o=e(r.target,r.cwd,r.home,r.configPathOverride);if(o===null)return{...i,outcome:`no-entry`};if(n(o))return{...i,outcome:`canonical`};r.logger(a({scope:r.scope,surface:`cli-repair`,editorId:r.editorId,configPath:r.configPath,priorEntry:o}));let s=t(r.target,r.cwd,{mode:`published`,skipAvailabilityCheck:!0},r.home,r.configPathOverride);if(s.action===`failed`){let e=s.error??`unknown write failure`;return r.logger({event:`mcp-config-repair-write-failed`,scope:r.scope,editorId:r.editorId,configPath:r.configPath,error:e}),{...i,outcome:`write-failed`,error:e}}return s.action===`declined`?(r.logger({event:`mcp-config-repair-declined`,scope:r.scope,editorId:r.editorId,configPath:r.configPath,reason:s.declineReason}),{...i,outcome:`declined`}):{...i,outcome:`repaired`}}function u(e){process.stderr.write(`${JSON.stringify(e)}\n`)}export{s as repairMcpConfigs};
2
- //# sourceMappingURL=repair-mcp-configs-Cz7vaVvt.mjs.map
1
+ import{g as e,w as t}from"./init-Ctx2NP2_.mjs";import{_ as n,d as r,s as i}from"./write-project-skill-CIXZymGf.mjs";import{t as a}from"./mcp-migrate-event-D0NrGjvc.mjs";import{homedir as o}from"node:os";function s(e){let t=e.logger??u,n=e.home??o(),a=[];if(e.reclaimDisableEnv===`1`)return t({event:`mcp-config-repair-skipped`,reason:`reclaim-disabled`}),{outcomes:a,repairedCount:0};for(let o of i){let i=r[o],s=c(()=>i.configPath(``,n));if(s!==null&&a.push(l({scope:`user`,editorId:o,target:i,home:n,cwd:``,configPath:s,configPathOverride:void 0,logger:t})),i.projectConfigPath){let n=i.projectConfigPath,r=c(()=>n(e.projectDir));r!==null&&a.push(l({scope:`project`,editorId:o,target:i,home:void 0,cwd:e.projectDir,configPath:r,configPathOverride:r,logger:t}))}}return{outcomes:a,repairedCount:a.filter(e=>e.outcome===`repaired`).length}}function c(e){try{return e()}catch{return null}}function l(r){let i={scope:r.scope,editorId:r.editorId,configPath:r.configPath},o=e(r.target,r.cwd,r.home,r.configPathOverride);if(o===null)return{...i,outcome:`no-entry`};if(n(o))return{...i,outcome:`canonical`};r.logger(a({scope:r.scope,surface:`cli-repair`,editorId:r.editorId,configPath:r.configPath,priorEntry:o}));let s=t(r.target,r.cwd,{mode:`published`,skipAvailabilityCheck:!0},r.home,r.configPathOverride);if(s.action===`failed`){let e=s.error??`unknown write failure`;return r.logger({event:`mcp-config-repair-write-failed`,scope:r.scope,editorId:r.editorId,configPath:r.configPath,error:e}),{...i,outcome:`write-failed`,error:e}}return s.action===`declined`?(r.logger({event:`mcp-config-repair-declined`,scope:r.scope,editorId:r.editorId,configPath:r.configPath,reason:s.declineReason}),{...i,outcome:`declined`}):{...i,outcome:`repaired`}}function u(e){process.stderr.write(`${JSON.stringify(e)}\n`)}export{s as repairMcpConfigs};
2
+ //# sourceMappingURL=repair-mcp-configs-BY_IWOhJ.mjs.map
@@ -1,3 +1,3 @@
1
- import{ua as e}from"./server-lock-iLcBw_q0-rwg8rOgA.mjs";import{Jr as t,Lr as n,Wr as r,ca as i,d as a,ei as o,ia as s,ut as c,zr as l}from"./dist-enzS4QJb.mjs";import{t as u}from"./esm-CsQUg9js.mjs";import{a as d,d as f,f as p,t as m}from"./write-project-skill-8alJi7YJ.mjs";import{dirname as h,join as g,resolve as _}from"node:path";import{homedir as v}from"node:os";import{existsSync as y,mkdirSync as b,readFileSync as x,readdirSync as S,rmSync as C,statSync as w,writeFileSync as T}from"node:fs";const E={existsSync:e=>y(e),isDirectory:e=>{try{return w(e).isDirectory()}catch(e){if(e.code===`ENOENT`)return!1;throw e}},readdirSync:e=>S(e),readFileSync:e=>x(e),writeFileSync:(e,t)=>{T(e,t)},mkdirSync:(e,t)=>{b(e,t)},rmSync:(e,t)=>{C(e,t)}},D={resolveProjectBundledSkillDir:()=>o(`project`,{checkDesktop:!1}),resolveUserBundledSkillDir:e=>o(e,{checkDesktop:!1}),readBundledVersion:()=>l(),readRecordedVersion:e=>r(e,`cli-hosts`),writeRecordedVersion:(e,t)=>i(e,`cli-hosts`,t,`cli-start`),recordEvent:e=>t(e),readBundleDecision:(e,t)=>n(e,t),writeBundleDecision:(e,t,n)=>s(e,t,n),removeBundleFromDisk:(e,t)=>d(e,t)};function O(e){process.stderr.write(`${JSON.stringify(e)}\n`)}function k(e,t,n){n.rmSync(t,{recursive:!0,force:!0}),n.mkdirSync(h(t),{recursive:!0}),A(e,t,n)}function A(e,t,n){n.mkdirSync(t,{recursive:!0});for(let r of n.readdirSync(e)){let i=g(e,r),a=g(t,r);n.isDirectory(i)?A(i,a,n):n.writeFileSync(a,n.readFileSync(i))}}function j(e,t,n,r,i,a){let o=[],s=g(e,`.agents`,`skills`,t),c=r.existsSync(s),l=!1;try{k(n,s,r),l=!0,o.push({kind:`central`,path:s,outcome:c?`overwritten`:`written`}),i({event:`user-skill-reclaim-central-written`,scope:`user`,path:s,preexisting:c,version:a})}catch(e){let t=e instanceof Error?e.message:String(e);o.push({kind:`central`,path:s,outcome:`failed`,error:t}),i({event:`user-skill-reclaim-central-failed`,scope:`user`,path:s,error:t})}for(let c of p){let l=g(e,c.hostDir),u=g(l,`skills`,t);if(u===s){o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:`skipped-collapsed-with-central`});continue}if(!r.existsSync(l)){o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:`skipped-host-absent`});continue}let d=r.existsSync(u);try{k(n,u,r),o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:d?`overwritten`:`written`}),i({event:`user-skill-reclaim-host-written`,scope:`user`,editorId:c.editorId,hostDir:c.hostDir,path:u,preexisting:d,version:a})}catch(e){let t=e instanceof Error?e.message:String(e);o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:`failed`,error:t}),i({event:`user-skill-reclaim-host-failed`,scope:`user`,editorId:c.editorId,hostDir:c.hostDir,path:u,error:t})}}return{entries:o,centralWritten:l}}function M(e,t){if(!e)return!1;try{if(!t.existsSync(e))return!1;let n=t.readFileSync(e).toString(`utf8`);return n.includes(`# ok-mcp-v1`)||n.includes(`# ok-mcp-win-v1`)}catch{return!1}}function N(e,t,n,r){let i;try{i=t.resolveProjectBundledSkillDir()}catch(e){return r({event:`project-skill-reclaim-bundle-missing`,scope:`project`,error:e instanceof Error?e.message:String(e)}),{outcome:`skipped`,reason:`bundle-missing`}}let a=[];for(let t of p){let o=g(e,t.hostDir,`skills`,`open-knowledge`),s=g(o,`SKILL.md`),c=n.existsSync(s),l=f[t.editorId]?.projectConfigPath?.(e),u=!c&&M(l,n);if(!c&&!u){a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:`no-token`}),r({event:`project-skill-reclaim-no-token`,scope:`project`,editorId:t.editorId,path:o});continue}try{m(o,e),k(i,o,n);let s=c?`reclaimed`:`created`;a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:s}),r({event:c?`project-skill-reclaim-reclaimed`:`project-skill-reclaim-created`,scope:`project`,editorId:t.editorId,path:o})}catch(e){let n=e instanceof Error?e.message:String(e);a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:`failed`,error:n}),r({event:`project-skill-reclaim-failed`,scope:`project`,editorId:t.editorId,path:o,error:n})}}return{outcome:`done`,entries:a}}async function P(t,n,r,i){let o=e=>{n.recordEvent(e).catch(()=>{})},s=()=>new Date().toISOString(),l;try{l=await n.readBundledVersion()}catch(e){let t=e instanceof Error?e.message:String(e);return i({event:`user-skill-reclaim-version-read-failed`,scope:`user`,error:t}),o({ts:s(),surface:`cli-start`,target:`cli-hosts`,bundle:`discovery`,outcome:`failed`,reason:`version-read-failed:${t}`}),{outcome:`skipped`,reason:`version-read-failed`}}let u;try{u=await n.readRecordedVersion(t)}catch(e){i({event:`user-skill-reclaim-version-read-error`,scope:`user`,error:e instanceof Error?e.message:String(e)}),u=null}let d=[],f=null;for(let e of c)try{d.push({id:e,sourceDir:n.resolveUserBundledSkillDir(e)})}catch(e){f=e instanceof Error?e.message:String(e)}if(d.length===0)return i({event:`user-skill-reclaim-bundle-missing`,scope:`user`,error:f??`no user-global bundles`}),o({ts:s(),surface:`cli-start`,target:`cli-hosts`,outcome:`failed`,reason:`bundle-missing:${f}`}),{outcome:`skipped`,reason:`bundle-missing`};let p=[];for(let o of d){let s=a[o.id],c=r.existsSync(g(t,`.agents`,`skills`,s)),l=await n.readBundleDecision(t,s).catch(()=>null);if(!e(l,{installedOnDisk:c})){if(c)try{n.removeBundleFromDisk(t,o.id),i({event:`user-skill-reclaim-bundle-declined-removed`,scope:`user`,bundle:o.id})}catch(e){i({event:`user-skill-reclaim-bundle-remove-failed`,scope:`user`,bundle:o.id,error:e instanceof Error?e.message:String(e)})}continue}if(l===null&&c)try{await n.writeBundleDecision(t,s,!0)}catch(e){i({event:`user-skill-reclaim-grandfather-write-failed`,scope:`user`,bundle:o.id,error:e instanceof Error?e.message:String(e)})}p.push(o)}if(p.length===0)return{outcome:`skipped`,reason:`all-bundles-declined`};let m=p.every(e=>r.existsSync(g(t,`.agents`,`skills`,a[e.id])));if(u!==null&&u===l&&m)return i({event:`user-skill-reclaim-skipped-version-current`,scope:`user`,version:l}),{outcome:`skipped`,reason:`version-current`};let h=[],_=d.length===c.length,v=!0;for(let{id:e,sourceDir:n}of p){let o=j(t,a[e],n,r,i,l);h.push(...o.entries),o.centralWritten||(v=!1)}let y=h.some(e=>e.kind===`central`&&(e.outcome===`written`||e.outcome===`overwritten`));if(_&&v&&y){let e=null;try{await n.writeRecordedVersion(t,l),i({event:`user-skill-reclaim-version-recorded`,scope:`user`,version:l})}catch(t){e=t instanceof Error?t.message:String(t),i({event:`user-skill-reclaim-version-record-failed`,scope:`user`,version:l,error:e})}for(let{id:t}of p)o({ts:s(),surface:`cli-start`,target:`cli-hosts`,bundle:t,outcome:e===null?`installed`:`failed`,version:l,...e===null?{}:{reason:`state-write-failed:${e}`}})}else{let e=h.some(e=>e.kind===`host`&&e.outcome===`failed`);o({ts:s(),surface:`cli-start`,target:`cli-hosts`,outcome:`failed`,version:l,reason:e?`all-writes-failed`:`no-hosts-installed`})}return{outcome:`done`,version:l,entries:h}}async function F(e){let t=e.logger??O,n=e.fs??E,r=e.home??v(),i={...D,...e.deps};return e.reclaimDisableEnv===`1`?(t({event:`skill-repair-skipped`,reason:`reclaim-disabled`}),{status:`skipped`,reason:`reclaim-disabled`}):{status:`done`,project:N(e.projectDir,i,n,t),user:await P(r,i,n,t)}}function I(e){return e.status===`skipped`?e.reason===`reclaim-disabled`?0:1:e.project.outcome===`skipped`||e.user.outcome===`skipped`&&e.user.reason!==`version-current`&&e.user.reason!==`all-bundles-declined`||e.project.entries.some(e=>e.outcome===`failed`)||e.user.outcome===`done`&&e.user.entries.some(e=>e.outcome===`failed`)?1:0}function L(e){if(e.status===`skipped`)return`Skipped: ${e.reason}`;let t=[`Skill reclaim complete.`];if(e.project.outcome===`done`){let n=e.project.entries.filter(e=>e.outcome===`reclaimed`).length,r=e.project.entries.filter(e=>e.outcome===`created`).length,i=e.project.entries.filter(e=>e.outcome===`no-token`).length,a=e.project.entries.filter(e=>e.outcome===`failed`).length;t.push(` Project: ${n} reclaimed, ${r} created, ${i} no-token, ${a} failed.`)}else t.push(` Project: skipped (${e.project.reason}).`);if(e.user.outcome===`done`){let n=e.user.entries.filter(e=>e.outcome===`written`||e.outcome===`overwritten`).length,r=e.user.entries.filter(e=>e.outcome===`skipped-host-absent`||e.outcome===`skipped-collapsed-with-central`).length,i=e.user.entries.filter(e=>e.outcome===`failed`).length;t.push(` User (${e.user.version}): ${n} written, ${r} skipped, ${i} failed.`)}else t.push(` User: skipped (${e.user.reason}).`);return t.join(`
1
+ import{ua as e}from"./server-lock-iLcBw_q0-rwg8rOgA.mjs";import{Jr as t,Lr as n,Wr as r,ca as i,d as a,ei as o,ia as s,ut as c,zr as l}from"./dist-uq1hO0l5.mjs";import{t as u}from"./esm-CsQUg9js.mjs";import{a as d,d as f,f as p,t as m}from"./write-project-skill-CIXZymGf.mjs";import{dirname as h,join as g,resolve as _}from"node:path";import{homedir as v}from"node:os";import{existsSync as y,mkdirSync as b,readFileSync as x,readdirSync as S,rmSync as C,statSync as w,writeFileSync as T}from"node:fs";const E={existsSync:e=>y(e),isDirectory:e=>{try{return w(e).isDirectory()}catch(e){if(e.code===`ENOENT`)return!1;throw e}},readdirSync:e=>S(e),readFileSync:e=>x(e),writeFileSync:(e,t)=>{T(e,t)},mkdirSync:(e,t)=>{b(e,t)},rmSync:(e,t)=>{C(e,t)}},D={resolveProjectBundledSkillDir:()=>o(`project`,{checkDesktop:!1}),resolveUserBundledSkillDir:e=>o(e,{checkDesktop:!1}),readBundledVersion:()=>l(),readRecordedVersion:e=>r(e,`cli-hosts`),writeRecordedVersion:(e,t)=>i(e,`cli-hosts`,t,`cli-start`),recordEvent:e=>t(e),readBundleDecision:(e,t)=>n(e,t),writeBundleDecision:(e,t,n)=>s(e,t,n),removeBundleFromDisk:(e,t)=>d(e,t)};function O(e){process.stderr.write(`${JSON.stringify(e)}\n`)}function k(e,t,n){n.rmSync(t,{recursive:!0,force:!0}),n.mkdirSync(h(t),{recursive:!0}),A(e,t,n)}function A(e,t,n){n.mkdirSync(t,{recursive:!0});for(let r of n.readdirSync(e)){let i=g(e,r),a=g(t,r);n.isDirectory(i)?A(i,a,n):n.writeFileSync(a,n.readFileSync(i))}}function j(e,t,n,r,i,a){let o=[],s=g(e,`.agents`,`skills`,t),c=r.existsSync(s),l=!1;try{k(n,s,r),l=!0,o.push({kind:`central`,path:s,outcome:c?`overwritten`:`written`}),i({event:`user-skill-reclaim-central-written`,scope:`user`,path:s,preexisting:c,version:a})}catch(e){let t=e instanceof Error?e.message:String(e);o.push({kind:`central`,path:s,outcome:`failed`,error:t}),i({event:`user-skill-reclaim-central-failed`,scope:`user`,path:s,error:t})}for(let c of p){let l=g(e,c.hostDir),u=g(l,`skills`,t);if(u===s){o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:`skipped-collapsed-with-central`});continue}if(!r.existsSync(l)){o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:`skipped-host-absent`});continue}let d=r.existsSync(u);try{k(n,u,r),o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:d?`overwritten`:`written`}),i({event:`user-skill-reclaim-host-written`,scope:`user`,editorId:c.editorId,hostDir:c.hostDir,path:u,preexisting:d,version:a})}catch(e){let t=e instanceof Error?e.message:String(e);o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:`failed`,error:t}),i({event:`user-skill-reclaim-host-failed`,scope:`user`,editorId:c.editorId,hostDir:c.hostDir,path:u,error:t})}}return{entries:o,centralWritten:l}}function M(e,t){if(!e)return!1;try{if(!t.existsSync(e))return!1;let n=t.readFileSync(e).toString(`utf8`);return n.includes(`# ok-mcp-v1`)||n.includes(`# ok-mcp-win-v1`)}catch{return!1}}function N(e,t,n,r){let i;try{i=t.resolveProjectBundledSkillDir()}catch(e){return r({event:`project-skill-reclaim-bundle-missing`,scope:`project`,error:e instanceof Error?e.message:String(e)}),{outcome:`skipped`,reason:`bundle-missing`}}let a=[];for(let t of p){let o=g(e,t.hostDir,`skills`,`open-knowledge`),s=g(o,`SKILL.md`),c=n.existsSync(s),l=f[t.editorId]?.projectConfigPath?.(e),u=!c&&M(l,n);if(!c&&!u){a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:`no-token`}),r({event:`project-skill-reclaim-no-token`,scope:`project`,editorId:t.editorId,path:o});continue}try{m(o,e),k(i,o,n);let s=c?`reclaimed`:`created`;a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:s}),r({event:c?`project-skill-reclaim-reclaimed`:`project-skill-reclaim-created`,scope:`project`,editorId:t.editorId,path:o})}catch(e){let n=e instanceof Error?e.message:String(e);a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:`failed`,error:n}),r({event:`project-skill-reclaim-failed`,scope:`project`,editorId:t.editorId,path:o,error:n})}}return{outcome:`done`,entries:a}}async function P(t,n,r,i){let o=e=>{n.recordEvent(e).catch(()=>{})},s=()=>new Date().toISOString(),l;try{l=await n.readBundledVersion()}catch(e){let t=e instanceof Error?e.message:String(e);return i({event:`user-skill-reclaim-version-read-failed`,scope:`user`,error:t}),o({ts:s(),surface:`cli-start`,target:`cli-hosts`,bundle:`discovery`,outcome:`failed`,reason:`version-read-failed:${t}`}),{outcome:`skipped`,reason:`version-read-failed`}}let u;try{u=await n.readRecordedVersion(t)}catch(e){i({event:`user-skill-reclaim-version-read-error`,scope:`user`,error:e instanceof Error?e.message:String(e)}),u=null}let d=[],f=null;for(let e of c)try{d.push({id:e,sourceDir:n.resolveUserBundledSkillDir(e)})}catch(e){f=e instanceof Error?e.message:String(e)}if(d.length===0)return i({event:`user-skill-reclaim-bundle-missing`,scope:`user`,error:f??`no user-global bundles`}),o({ts:s(),surface:`cli-start`,target:`cli-hosts`,outcome:`failed`,reason:`bundle-missing:${f}`}),{outcome:`skipped`,reason:`bundle-missing`};let p=[];for(let o of d){let s=a[o.id],c=r.existsSync(g(t,`.agents`,`skills`,s)),l=await n.readBundleDecision(t,s).catch(()=>null);if(!e(l,{installedOnDisk:c})){if(c)try{n.removeBundleFromDisk(t,o.id),i({event:`user-skill-reclaim-bundle-declined-removed`,scope:`user`,bundle:o.id})}catch(e){i({event:`user-skill-reclaim-bundle-remove-failed`,scope:`user`,bundle:o.id,error:e instanceof Error?e.message:String(e)})}continue}if(l===null&&c)try{await n.writeBundleDecision(t,s,!0)}catch(e){i({event:`user-skill-reclaim-grandfather-write-failed`,scope:`user`,bundle:o.id,error:e instanceof Error?e.message:String(e)})}p.push(o)}if(p.length===0)return{outcome:`skipped`,reason:`all-bundles-declined`};let m=p.every(e=>r.existsSync(g(t,`.agents`,`skills`,a[e.id])));if(u!==null&&u===l&&m)return i({event:`user-skill-reclaim-skipped-version-current`,scope:`user`,version:l}),{outcome:`skipped`,reason:`version-current`};let h=[],_=d.length===c.length,v=!0;for(let{id:e,sourceDir:n}of p){let o=j(t,a[e],n,r,i,l);h.push(...o.entries),o.centralWritten||(v=!1)}let y=h.some(e=>e.kind===`central`&&(e.outcome===`written`||e.outcome===`overwritten`));if(_&&v&&y){let e=null;try{await n.writeRecordedVersion(t,l),i({event:`user-skill-reclaim-version-recorded`,scope:`user`,version:l})}catch(t){e=t instanceof Error?t.message:String(t),i({event:`user-skill-reclaim-version-record-failed`,scope:`user`,version:l,error:e})}for(let{id:t}of p)o({ts:s(),surface:`cli-start`,target:`cli-hosts`,bundle:t,outcome:e===null?`installed`:`failed`,version:l,...e===null?{}:{reason:`state-write-failed:${e}`}})}else{let e=h.some(e=>e.kind===`host`&&e.outcome===`failed`);o({ts:s(),surface:`cli-start`,target:`cli-hosts`,outcome:`failed`,version:l,reason:e?`all-writes-failed`:`no-hosts-installed`})}return{outcome:`done`,version:l,entries:h}}async function F(e){let t=e.logger??O,n=e.fs??E,r=e.home??v(),i={...D,...e.deps};return e.reclaimDisableEnv===`1`?(t({event:`skill-repair-skipped`,reason:`reclaim-disabled`}),{status:`skipped`,reason:`reclaim-disabled`}):{status:`done`,project:N(e.projectDir,i,n,t),user:await P(r,i,n,t)}}function I(e){return e.status===`skipped`?e.reason===`reclaim-disabled`?0:1:e.project.outcome===`skipped`||e.user.outcome===`skipped`&&e.user.reason!==`version-current`&&e.user.reason!==`all-bundles-declined`||e.project.entries.some(e=>e.outcome===`failed`)||e.user.outcome===`done`&&e.user.entries.some(e=>e.outcome===`failed`)?1:0}function L(e){if(e.status===`skipped`)return`Skipped: ${e.reason}`;let t=[`Skill reclaim complete.`];if(e.project.outcome===`done`){let n=e.project.entries.filter(e=>e.outcome===`reclaimed`).length,r=e.project.entries.filter(e=>e.outcome===`created`).length,i=e.project.entries.filter(e=>e.outcome===`no-token`).length,a=e.project.entries.filter(e=>e.outcome===`failed`).length;t.push(` Project: ${n} reclaimed, ${r} created, ${i} no-token, ${a} failed.`)}else t.push(` Project: skipped (${e.project.reason}).`);if(e.user.outcome===`done`){let n=e.user.entries.filter(e=>e.outcome===`written`||e.outcome===`overwritten`).length,r=e.user.entries.filter(e=>e.outcome===`skipped-host-absent`||e.outcome===`skipped-collapsed-with-central`).length,i=e.user.entries.filter(e=>e.outcome===`failed`).length;t.push(` User (${e.user.version}): ${n} written, ${r} skipped, ${i} failed.`)}else t.push(` User: skipped (${e.user.reason}).`);return t.join(`
2
2
  `)}function R(){return new u(`repair-skills`).description("Refresh bundled SKILL.md files for installed AI editors (project-local + user-global). Runs automatically during `ok start`; this command forces an explicit sweep.").action(async()=>{let e=await F({projectDir:_(process.cwd()),reclaimDisableEnv:process.env.OK_RECLAIM_DISABLE??null});process.stdout.write(`${L(e)}\n`),process.exitCode=I(e)})}export{R as n,F as t};
3
- //# sourceMappingURL=repair-skills-DoroYY8I.mjs.map
3
+ //# sourceMappingURL=repair-skills-BHDFQ7QJ.mjs.map
@@ -0,0 +1 @@
1
+ import{t as e}from"./repair-skills-BHDFQ7QJ.mjs";export{e as repairSkills};
@@ -1,7 +1,7 @@
1
- import{s as e}from"./chunk-C94x7I9S.mjs";import{c as t,l as n,s as r,u as i}from"./server-lock-iLcBw_q0-rwg8rOgA.mjs";import{Mr as a,Nr as o,Tn as s,ga as c,ii as l,pn as u,xn as d}from"./dist-enzS4QJb.mjs";import{t as f}from"./esm-CsQUg9js.mjs";import"./gh-detect-CkD5P0-7.mjs";import{C as ee,D as p,M as m,N as h,S as te,d as g,j as _,k as v,w as y}from"./init-CD7gPvxY.mjs";import{_ as ne,d as re,i as ie,v as ae}from"./write-project-skill-8alJi7YJ.mjs";import"./loader-BNccmd7o.mjs";import{c as oe}from"./colors-8SzMRIVy.mjs";import"./preview-CJTJyhRe.mjs";import{dirname as se,isAbsolute as b,join as x,relative as S,resolve as C}from"node:path";import{hostname as w}from"node:os";import{existsSync as T,lstatSync as E,readFileSync as D,readlinkSync as ce,rmSync as le,statSync as ue}from"node:fs";import{readFile as O,realpath as k}from"node:fs/promises";function A(e,a,o={}){let s=i(e,a);if(!T(s))return{status:`missing`,lockPath:s};let c;try{c=JSON.parse(D(s,`utf-8`))}catch{return{status:`corrupt`,lockPath:s}}if(!c||typeof c!=`object`||!n(c.pid))return{status:`corrupt`,lockPath:s};let l=c;if(!(o.isAlive??t)(l.pid))return{status:`dead-pid`,lockPath:s,lock:l};if(typeof l.machineId==`string`)return l.machineId===(o.machineId??r())?{status:`alive`,lockPath:s,lock:l}:{status:`foreign-host`,lockPath:s,lock:l};let u=o.host??w();return l.hostname===u?{status:`alive`,lockPath:s,lock:l}:{status:`foreign-host`,lockPath:s,lock:l}}function j(e){return e.replace(/:\d+$/,``)}function M(e){let t=e.trim();if(!t)return null;{let e=/^https?:\/\/([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`https`,hostname:j(e[1]),owner:e[2],name:e[3]}}{let e=/^ssh:\/\/(?:[\w.-]+@)?([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`ssh`,hostname:j(e[1]),owner:e[2],name:e[3]}}{let e=/^git:\/\/([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`git`,hostname:j(e[1]),owner:e[2],name:e[3]}}{let e=/^(?:[\w.-]+@)?([\w.-]+):([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?$/.exec(t);if(e?.[1].includes(`.`)||e&&t.startsWith(`git@`))return{protocol:`ssh`,hostname:e[1],owner:e[2],name:e[3]}}{let e=/^git:([\w.-]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`git`,hostname:e[1],owner:e[2],name:e[3]}}if(!t.includes(`://`)&&!t.includes(`@`)&&!t.startsWith(`/`)){let e=/^([\w.-]+)\/([\w.\-~%]+?)(?:\.git)?$/.exec(t);if(e)return{protocol:`https`,hostname:`github.com`,owner:e[1],name:e[2]}}return null}function N(e){let t;try{t=new URL(e)}catch{return null}if(t.hostname!==`github.com`&&t.hostname!==`www.github.com`)return null;let n=t.pathname.split(`/`).filter(e=>e.length>0);if(n.length<5||n[2]!==`blob`)return null;let r,i,a,o;try{r=decodeURIComponent(n[0]),i=decodeURIComponent(n[1]),a=decodeURIComponent(n[3]),o=n.slice(4).map(e=>decodeURIComponent(e))}catch{return null}return!r||!i||!a||o.length===0||o.some(e=>e.length===0)?null:{owner:r,repo:i,branch:a,path:o.join(`/`)}}function P(e){let t;try{t=new URL(e)}catch{return null}if(t.hostname!==`github.com`&&t.hostname!==`www.github.com`)return null;let n=t.pathname.split(`/`);if(n.length<5||n[0]!==``||n[3]!==`tree`)return null;let r=n.slice(5);r.length===1&&r[0]===``&&r.pop();let i,a,o,s;try{i=decodeURIComponent(n[1]),a=decodeURIComponent(n[2]),o=decodeURIComponent(n[4]),s=r.map(e=>decodeURIComponent(e))}catch{return null}return!i||!a||!o||s.some(e=>e.length===0)?null:{owner:i,repo:a,branch:o,path:s.join(`/`)}}function F(e){let t=N(e);if(t)return{kind:`doc`,...t};let n=P(e);return n?{kind:`folder`,...n}:null}const I=`# >>> open-knowledge cli >>>`,L=`# <<< open-knowledge cli <<<`,R=/^# >>> open-knowledge cli >>>\n[\s\S]*?^# <<< open-knowledge cli <<<\n?/m;function z(e){return x(e,`Library`,`Application Support`,`OpenKnowledge`,`path-install.json`)}const B={existsSync:e=>T(e),readFileSync:(e,t)=>D(e,t),lstatSync:e=>E(e),readlinkSync:e=>ce(e)};function V(e,t=B){let n=z(e);if(!t.existsSync(n))return null;try{let e=JSON.parse(t.readFileSync(n,`utf8`));return e?.version===1?e:null}catch{return null}}function H(e){let t=e.replace(R,``);return{text:t,changed:t!==e,emptyAfter:t.trim()===``}}function U(e,t,n=B){try{return n.lstatSync(e).isSymbolicLink()?n.readlinkSync(e)===t:!1}catch{return!1}}function de(e){return ne(e)||ae(e)||v(e)}function fe(e,t,n,r){let i=g(e,t,n,r);if(i.kind===`absent`||i.kind===`no-entry`)return{kind:`not-present`};if(i.kind===`decline`)return{kind:`declined`,reason:i.reason};if(!de(i.entry))return{kind:`left-foreign`};let a;try{a=r??e.configPath(t,n)}catch{return{kind:`not-present`}}let o=e.serverName(t);return e.format===`file`?(le(a,{force:!0}),{kind:`removed`}):e.format===`toml`?me(a,o):pe(a,e.topLevelKey,e.serverMapSubKey,o)}function pe(e,t,n,r){let i;try{i=D(e,`utf-8`)}catch{return{kind:`declined`,reason:`unparseable`}}if(Buffer.byteLength(i,`utf-8`)>10485760)return{kind:`declined`,reason:`oversize`};let{text:a,changed:o}=h(i,ee(t,n,r));return o?(c(e,a,{mode:_(e)}),{kind:`removed`}):{kind:`not-present`}}function me(e,t){let n=p();if(n.backend===`fallback`)return{kind:`declined`,reason:`no-native-writer`};let r;try{r=D(e,`utf-8`)}catch{return{kind:`declined`,reason:`unparseable`}}let i=r.charCodeAt(0)===65279,a=i?r.slice(1):r,o=m(a),s=a.trim()===``||a.endsWith(`
1
+ import{s as e}from"./chunk-C94x7I9S.mjs";import{c as t,l as n,s as r,u as i}from"./server-lock-iLcBw_q0-rwg8rOgA.mjs";import{Mr as a,Nr as o,Tn as s,ga as c,ii as l,pn as u,xn as d}from"./dist-uq1hO0l5.mjs";import{t as f}from"./esm-CsQUg9js.mjs";import"./gh-detect-CkD5P0-7.mjs";import{C as ee,D as p,M as m,N as h,S as te,d as g,j as _,k as v,w as y}from"./init-Ctx2NP2_.mjs";import{_ as ne,d as re,i as ie,v as ae}from"./write-project-skill-CIXZymGf.mjs";import"./loader-_BJcNCg3.mjs";import{c as oe}from"./colors-8SzMRIVy.mjs";import"./preview-CX35q4j-.mjs";import{dirname as se,isAbsolute as b,join as x,relative as S,resolve as C}from"node:path";import{hostname as w}from"node:os";import{existsSync as T,lstatSync as E,readFileSync as D,readlinkSync as ce,rmSync as le,statSync as ue}from"node:fs";import{readFile as O,realpath as k}from"node:fs/promises";function A(e,a,o={}){let s=i(e,a);if(!T(s))return{status:`missing`,lockPath:s};let c;try{c=JSON.parse(D(s,`utf-8`))}catch{return{status:`corrupt`,lockPath:s}}if(!c||typeof c!=`object`||!n(c.pid))return{status:`corrupt`,lockPath:s};let l=c;if(!(o.isAlive??t)(l.pid))return{status:`dead-pid`,lockPath:s,lock:l};if(typeof l.machineId==`string`)return l.machineId===(o.machineId??r())?{status:`alive`,lockPath:s,lock:l}:{status:`foreign-host`,lockPath:s,lock:l};let u=o.host??w();return l.hostname===u?{status:`alive`,lockPath:s,lock:l}:{status:`foreign-host`,lockPath:s,lock:l}}function j(e){return e.replace(/:\d+$/,``)}function M(e){let t=e.trim();if(!t)return null;{let e=/^https?:\/\/([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`https`,hostname:j(e[1]),owner:e[2],name:e[3]}}{let e=/^ssh:\/\/(?:[\w.-]+@)?([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`ssh`,hostname:j(e[1]),owner:e[2],name:e[3]}}{let e=/^git:\/\/([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`git`,hostname:j(e[1]),owner:e[2],name:e[3]}}{let e=/^(?:[\w.-]+@)?([\w.-]+):([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?$/.exec(t);if(e?.[1].includes(`.`)||e&&t.startsWith(`git@`))return{protocol:`ssh`,hostname:e[1],owner:e[2],name:e[3]}}{let e=/^git:([\w.-]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`git`,hostname:e[1],owner:e[2],name:e[3]}}if(!t.includes(`://`)&&!t.includes(`@`)&&!t.startsWith(`/`)){let e=/^([\w.-]+)\/([\w.\-~%]+?)(?:\.git)?$/.exec(t);if(e)return{protocol:`https`,hostname:`github.com`,owner:e[1],name:e[2]}}return null}function N(e){let t;try{t=new URL(e)}catch{return null}if(t.hostname!==`github.com`&&t.hostname!==`www.github.com`)return null;let n=t.pathname.split(`/`).filter(e=>e.length>0);if(n.length<5||n[2]!==`blob`)return null;let r,i,a,o;try{r=decodeURIComponent(n[0]),i=decodeURIComponent(n[1]),a=decodeURIComponent(n[3]),o=n.slice(4).map(e=>decodeURIComponent(e))}catch{return null}return!r||!i||!a||o.length===0||o.some(e=>e.length===0)?null:{owner:r,repo:i,branch:a,path:o.join(`/`)}}function P(e){let t;try{t=new URL(e)}catch{return null}if(t.hostname!==`github.com`&&t.hostname!==`www.github.com`)return null;let n=t.pathname.split(`/`);if(n.length<5||n[0]!==``||n[3]!==`tree`)return null;let r=n.slice(5);r.length===1&&r[0]===``&&r.pop();let i,a,o,s;try{i=decodeURIComponent(n[1]),a=decodeURIComponent(n[2]),o=decodeURIComponent(n[4]),s=r.map(e=>decodeURIComponent(e))}catch{return null}return!i||!a||!o||s.some(e=>e.length===0)?null:{owner:i,repo:a,branch:o,path:s.join(`/`)}}function F(e){let t=N(e);if(t)return{kind:`doc`,...t};let n=P(e);return n?{kind:`folder`,...n}:null}const I=`# >>> open-knowledge cli >>>`,L=`# <<< open-knowledge cli <<<`,R=/^# >>> open-knowledge cli >>>\n[\s\S]*?^# <<< open-knowledge cli <<<\n?/m;function z(e){return x(e,`Library`,`Application Support`,`OpenKnowledge`,`path-install.json`)}const B={existsSync:e=>T(e),readFileSync:(e,t)=>D(e,t),lstatSync:e=>E(e),readlinkSync:e=>ce(e)};function V(e,t=B){let n=z(e);if(!t.existsSync(n))return null;try{let e=JSON.parse(t.readFileSync(n,`utf8`));return e?.version===1?e:null}catch{return null}}function H(e){let t=e.replace(R,``);return{text:t,changed:t!==e,emptyAfter:t.trim()===``}}function U(e,t,n=B){try{return n.lstatSync(e).isSymbolicLink()?n.readlinkSync(e)===t:!1}catch{return!1}}function de(e){return ne(e)||ae(e)||v(e)}function fe(e,t,n,r){let i=g(e,t,n,r);if(i.kind===`absent`||i.kind===`no-entry`)return{kind:`not-present`};if(i.kind===`decline`)return{kind:`declined`,reason:i.reason};if(!de(i.entry))return{kind:`left-foreign`};let a;try{a=r??e.configPath(t,n)}catch{return{kind:`not-present`}}let o=e.serverName(t);return e.format===`file`?(le(a,{force:!0}),{kind:`removed`}):e.format===`toml`?me(a,o):pe(a,e.topLevelKey,e.serverMapSubKey,o)}function pe(e,t,n,r){let i;try{i=D(e,`utf-8`)}catch{return{kind:`declined`,reason:`unparseable`}}if(Buffer.byteLength(i,`utf-8`)>10485760)return{kind:`declined`,reason:`oversize`};let{text:a,changed:o}=h(i,ee(t,n,r));return o?(c(e,a,{mode:_(e)}),{kind:`removed`}):{kind:`not-present`}}function me(e,t){let n=p();if(n.backend===`fallback`)return{kind:`declined`,reason:`no-native-writer`};let r;try{r=D(e,`utf-8`)}catch{return{kind:`declined`,reason:`unparseable`}}let i=r.charCodeAt(0)===65279,a=i?r.slice(1):r,o=m(a),s=a.trim()===``||a.endsWith(`
2
2
  `),l;try{l=n.removeEntry(a,t)}catch{return{kind:`declined`,reason:`unparseable`}}if(!l.existed)return{kind:`not-present`};let u=l.text;s?u.endsWith(`
3
3
  `)||(u=`${u}\n`):u=u.replace(/\n+$/,``),o&&(u=u.replace(/\r\n/g,`
4
4
  `).replace(/\n/g,`\r
5
5
  `));let d=`${i?``:``}${u}`;return d!==r&&c(e,d,{mode:_(e)}),{kind:`removed`}}const he=new Set([`start`,`stop`,`status`,`clean`,`ui`,`mcp`,`preview`,`deinit`]);function ge(e,t,n=s){if(e!==void 0&&!he.has(e))return null;let r=n(t);return r===null||r.distance===0?null:r.rootPath}let W=null;function _e(e){W=e}function G(){return W??process.cwd()}var K=e(oe(),1);function ve(e){return e==null?!1:e.includes(`--type=utility`)&&e.includes(`--utility-sub-type=node.mojom.NodeService`)}function ye(e,t=Date.now()){let n=new Date(e).getTime();if(Number.isNaN(n))return`—`;let r=t-n,i=Math.floor(r/1e3);if(i<60)return`${i}s`;let a=Math.floor(i/60);if(a<60)return`${a}m ago`;let o=Math.floor(a/60);return o<24?`${o}h ago`:`${Math.floor(o/24)}d ago`}function be(e,t,n,r,i,a){if(t.status===`missing`||t.status===`corrupt`)return null;let o=t.lock,s=null;if(n.status!==`missing`&&n.status!==`corrupt`){let e=n.lock;s={port:e.port,status:n.status,pid:e.pid,startedAt:e.startedAt,usage:a}}return{directory:o.worktreeRoot,server:{port:o.port,status:t.status,pid:o.pid,startedAt:o.startedAt,usage:i},ui:s,hostname:o.hostname,lockPath:t.lockPath,binary:r==null?null:d(r),command:r,isDesktop:ve(r)}}function xe(e){return e.ui==null?!1:e.ui.status===`alive`||e.ui.status===`foreign-host`}function q(e){let t=e.server.status;return t===`alive`||t===`foreign-host`?e.isDesktop?`desktop`:t===`alive`?`running`:`foreign`:t===`dead-pid`&&xe(e)?`ui-orphan`:`stale`}const Se=new Set([`running`,`desktop`,`foreign`,`ui-orphan`]);function Ce(e){switch(e){case`running`:return K.default.green(e);case`desktop`:return K.default.blue(e);case`foreign`:return K.default.cyan(e);case`ui-orphan`:return K.default.magenta(e);case`stale`:return K.default.yellow(e)}}function J(e){return e==null?`—`:`${e.cpuPercent.toFixed(1)}% / ${e.memPercent.toFixed(1)}%`}function we(e){return`${J(e.server.usage)} | ${J(e.ui?.usage??null)}`}function Te(e){return`${e.server.port===0?`(starting)`:String(e.server.port)} / ${e.ui==null||e.ui.status===`dead-pid`?`—`:String(e.ui.port)}`}function Ee(e){if(e.length===0)return`No open-knowledge servers found.`;let t=[`DIRECTORY`,`PORTS (API/UI)`,`CPU/MEM (API | UI)`,`STATUS`,`PID`,`STARTED`,`BINARY`],n=e.map(e=>{let t=q(e),n=t===`ui-orphan`&&e.ui!=null?e.ui.pid:e.server.pid;return[e.directory,Te(e),we(e),t,String(n),ye(e.server.startedAt),e.binary??`—`]}),r=t.length,i=t.map(e=>e.length);for(let e of n)for(let t=0;t<r;t++)i[t]=Math.max(i[t]??0,(e[t]??``).length);let a=t.map((e,t)=>e.padEnd(i[t]??0)).join(` `).trimEnd(),o=e.map((e,t)=>{let a=n[t]??[],o=[];for(let t=0;t<r;t++){let n=(a[t]??``).padEnd(i[t]??0);if(t===3){let r=a[t]??``;n=Ce(q(e))+` `.repeat(Math.max(0,(i[t]??0)-r.length))}o.push(n)}return o.join(` `).trimEnd()}),s=K.default.dim(`To stop a server: ok stop <port|pid|directory|all>`);return[a,...o,``,s].join(`
6
6
  `)}async function Y(e={}){let t=e.discover??u,n=e.inspect??A,r=e.log??(e=>console.log(e)),i=e.resolveCommand??a,s=e.resolveUsage??o,c=await t(),l=[];for(let e of c){let t=n(e,`server`),r=n(e,`ui`),a=be(e,t,r,t.status===`missing`||t.status===`corrupt`?null:i(t.lock.pid),t.status===`missing`||t.status===`corrupt`?null:s(t.lock.pid),r.status===`missing`||r.status===`corrupt`?null:s(r.lock.pid));a!=null&&l.push(a)}if(e.json){let e=l.map(e=>({...e,displayStatus:q(e)}));r(JSON.stringify(e,null,2));return}r(Ee(e.all?l:l.filter(e=>Se.has(q(e)))))}function De(){return new f(`ps`).description(`List all running open-knowledge servers`).argument(`[modifier]`,`"all" to include stale (dead-pid) entries`).option(`--all`,`Include stale (dead-pid) entries (foreign-host shows by default)`).option(`--json`,`Emit structured JSON (always includes all statuses)`).action(async(e,t)=>{await Y({all:t.all===!0||e===`all`,json:t.json===!0})})}function Oe(e,n,r={}){let i=r.isAlive??t,a=[];for(let[t,r]of[[`server`,e],[`ui`,n]])(r.status===`alive`||r.status===`foreign-host`&&i(r.lock.pid))&&a.push({name:t,pid:r.lock.pid,port:r.lock.port});return{targets:a}}function X(e){let t=e.inspect??(t=>A(e.lockDir,t)),n=e.kill??((e,t)=>process.kill(e,t)),r=e.log??(e=>console.log(e)),i=e.error??(e=>console.error(e)),a=Oe(t(`server`),t(`ui`),{isAlive:e.isAlive});if(a.targets.length===0)return r(`No running open-knowledge processes.`),{stopped:[],failed:[],hadTargets:!1};let o=[],s=[];for(let e of a.targets)try{n(e.pid,`SIGTERM`),o.push(e)}catch(t){s.push({target:e,error:t instanceof Error?t.message:String(t)})}return o.length>0&&r(`Stopped: ${o.map(e=>`${e.name} (pid=${e.pid}, port=${e.port})`).join(`, `)}`),s.length>0&&i(`Failed to stop: ${s.map(({target:e,error:t})=>`${e.name} (pid=${e.pid}): ${t}`).join(`; `)}`),{stopped:o,failed:s,hadTargets:!0}}function Z(e,t){return e.status===`alive`?!0:e.status===`foreign-host`?t(e.lock.pid):!1}async function ke(e,n=t){let r=await u(),i=null;for(let t of r){let r=A(t,`server`),a=A(t,`ui`);if(Z(r,n)&&r.lock.port===e||Z(a,n)&&a.lock.port===e)return t;i===null&&(Z(r,n)&&r.lock.pid===e||Z(a,n)&&a.lock.pid===e)&&(i=t)}return i}function Q(e){let t=X({lockDir:e});return t.failed.length>0&&(process.exitCode=1),t}function Ae(e){return new f(`stop`).description(`Stop open-knowledge server(s). With no argument: stops the server for the current directory. Pass a port number, a directory path, or "all" to target globally.`).argument(`[target...]`,`port number, directory path (spaces OK), or "all"`).action(async n=>{let r=n.length===0?void 0:n.join(` `);if(r===void 0){e();let t=X({lockDir:l(process.cwd()),log:()=>{}});if(t.hadTargets){if(t.stopped.length>0){let e=t.stopped.map(e=>`${e.name} (pid=${e.pid}, port=${e.port})`).join(`, `);console.log(`Stopped: ${e}`)}t.failed.length>0&&(process.exitCode=1)}else await Y({});return}if(r===`all`){let e=await u();if(e.length===0){console.log(`No running open-knowledge servers found.`);return}let n=0;for(let r of e){let e=A(r,`server`),i=A(r,`ui`);!Z(e,t)&&!Z(i,t)||(Q(r),n++)}n===0&&console.log(`No running open-knowledge servers found.`);return}if(/^\d+$/.test(r)){let e=Number.parseInt(r,10),t=await ke(e);if(t===null){console.log(`No running open-knowledge server found with port or PID ${e}.`);return}Q(t);return}Q(l(C(G(),r)))})}function je(e){return{event:`mcp-config-decline`,scope:e.scope,surface:e.surface,editorId:e.editorId,reason:e.reason}}async function Me(e,t){let n,r;try{n=await k(C(e)),r=await k(C(se(e)))}catch{return{kind:`not-git`}}if(!$(n,r))return{kind:`symlink-escape`};let i=x(n,`.git`),a;try{a=ue(i)}catch{return{kind:`not-git`}}let o;if(a.isDirectory()){let e;try{e=await k(i)}catch{return{kind:`not-git`}}if(!$(e,n))return{kind:`symlink-escape`};o=e}else if(a.isFile()){let e;try{e=await O(i,`utf-8`)}catch{return{kind:`not-git`}}let t=/^gitdir:\s*(.+)$/m.exec(e.trim());if(!t)return{kind:`not-git`};let r=t[1].trim(),a=b(r)?r:C(n,r);try{o=await k(a)}catch{return{kind:`not-git`}}}else return{kind:`not-git`};let s=x(await Ne(o),`config`),c;try{c=await O(s,`utf-8`)}catch{return{kind:`not-git`}}let l=Fe(c);if(l===null)return{kind:`no-origin`};let u=M(l);if(u===null||u.hostname!==`github.com`)return{kind:`non-github`};let d=u.owner.toLowerCase()===t.owner.toLowerCase(),f=u.name.toLowerCase()===t.repo.toLowerCase();return!d||!f?{kind:`wrong-repo`,actualOwner:u.owner,actualRepo:u.name}:{kind:`ok`,gitRemoteUrl:`https://github.com/${u.owner}/${u.name}.git`}}async function Ne(e){let t;try{t=(await O(x(e,`commondir`),`utf-8`)).trim()}catch{return e}if(t.length===0)return e;let n=b(t)?t:C(e,t);try{return await k(n)}catch{return n}}function $(e,t){if(e===t)return!0;let n=S(t,e);return n.length>0&&!n.startsWith(`..`)&&!b(n)}function Pe(e){let t=e.indexOf(`#`),n=e.indexOf(`;`),r=-1;return t>=0&&n>=0?r=Math.min(t,n):t>=0?r=t:n>=0&&(r=n),(r===-1?e:e.slice(0,r)).trim()}function Fe(e){let t=!1;for(let n of e.split(/\r?\n/)){let e=Pe(n);if(e.length===0)continue;if(e.startsWith(`[`)){t=/^\[\s*remote\s+["']origin["']\s*\]$/.test(e);continue}if(!t)continue;let r=/^url\s*=\s*(.+)$/.exec(e);if(r)return Ie(r[1])}return null}function Ie(e){let t=e.trim();return t.startsWith(`"`)&&t.endsWith(`"`)||t.startsWith(`'`)&&t.endsWith(`'`)?t.slice(1,-1):t}const Le=[{id:`mcp-config`,write(e,t,n){let r=e.projectConfigPath?.(t);if(!r)return{integration:`mcp-config`,editorId:e.id,action:`skipped-unsupported`};try{let i=y(e,t,n,void 0,r);return i.action===`written`||i.action===`overwritten`?{integration:`mcp-config`,editorId:e.id,action:i.action,path:i.configPath}:i.action===`failed`?{integration:`mcp-config`,editorId:e.id,action:`failed`,path:i.configPath,error:i.error??`unknown failure`}:i.action===`declined`?{integration:`mcp-config`,editorId:e.id,action:`declined`,path:i.configPath,...i.declineReason===void 0?{}:{reason:i.declineReason}}:{integration:`mcp-config`,editorId:e.id,action:`failed`,path:i.configPath,error:`unexpected project-scope action: ${i.action}`}}catch(t){return{integration:`mcp-config`,editorId:e.id,action:`failed`,path:r,error:t instanceof Error?t.message:String(t)}}}},{id:`project-skill`,write(e,t,n){try{let n=ie(e,t);return{integration:`project-skill`,editorId:e.id,action:n.action,...n.path?{path:n.path}:{},...n.error?{error:n.error}:{}}}catch(t){return{integration:`project-skill`,editorId:e.id,action:`failed`,error:t instanceof Error?t.message:String(t)}}}}];function Re(e,t,n={},r=Le){let i=[];for(let a of t){let t=re[a];for(let a of r)i.push(a.write(t,e,n))}return i}function ze(e,t,n={}){return{integrations:Re(e,t,n),claudeLaunchJson:t.includes(`claude`)?te(e,n):void 0}}export{N as _,Ae as a,M as b,ge as c,R as d,L as f,H as g,V as h,X as i,fe as l,z as m,Me as n,De as o,U as p,je as r,_e as s,ze as t,I as u,F as v,A as x,P as y};
7
- //# sourceMappingURL=src-BGLE9r6j.mjs.map
7
+ //# sourceMappingURL=src-Bv4nWkUq.mjs.map
@@ -0,0 +1 @@
1
+ import{_ as e,f as t,r as n}from"./start-DAGRv3oL.mjs";export{n as bootStartServer,t as resolveHost,e as startCommand};