@inkeep/open-knowledge 0.83.0-beta.5 → 0.83.0-beta.6

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 (122) hide show
  1. package/dist/cli.mjs +6 -6
  2. package/dist/constants-D7JQKPXh.mjs +1 -0
  3. package/dist/index.mjs +1 -1
  4. package/dist/{init-CrjTf1pi.mjs → init-C5n0LZMn.mjs} +2 -2
  5. package/dist/init-ec6ffu4x.mjs +1 -0
  6. package/dist/{launch-json-removal-BEKplNGY.mjs → launch-json-removal-BE6cJksG.mjs} +1 -1
  7. package/dist/{loader-CrmSAWIW.mjs → loader-DOvCHCV-.mjs} +1 -1
  8. package/dist/loader-DksiD2SW.mjs +1 -0
  9. package/dist/{preview-B2beHnfh.mjs → preview-BDgV2eEH.mjs} +1 -1
  10. package/dist/preview-D42uDe8a.mjs +1 -0
  11. package/dist/public/assets/{AccountSection-Droiytue.js → AccountSection-BpY8fXau.js} +1 -1
  12. package/dist/public/assets/{ActivityModeContent-CbnLPTIH.js → ActivityModeContent-B7SYD_oX.js} +1 -1
  13. package/dist/public/assets/{AddPropertiesButton-KfKILXo9.js → AddPropertiesButton-VyqVtzIN.js} +1 -1
  14. package/dist/public/assets/{AgentDiffPane-B0odJ1aT.js → AgentDiffPane-DAIaj_6D.js} +1 -1
  15. package/dist/public/assets/{AttachmentsSection-Mw0-ZVyb.js → AttachmentsSection-DL8roP-O.js} +1 -1
  16. package/dist/public/assets/{CodeMirrorPropInput-CJK_-B_x.js → CodeMirrorPropInput-BWNyI9V2.js} +1 -1
  17. package/dist/public/assets/{ContentRulesSection-Bss4zUDP.js → ContentRulesSection-h6pHMqD1.js} +1 -1
  18. package/dist/public/assets/{DocumentContext-Bsl186nT.js → DocumentContext-DxDNsrxc.js} +1 -1
  19. package/dist/public/assets/{EditorModeToggle-DPAypJvm.js → EditorModeToggle-rSAArExF.js} +1 -1
  20. package/dist/public/assets/{ExcalidrawDocEditor-C_j2ekRK.js → ExcalidrawDocEditor-DiIxuNaj.js} +1 -1
  21. package/dist/public/assets/FeedbackForm-n4cK_QGh.js +1 -0
  22. package/dist/public/assets/{ImportSkillDialog-CYgy5v1q.js → ImportSkillDialog-lPX3LQOm.js} +1 -1
  23. package/dist/public/assets/{LinkPreviewsSection-uXIP-dp3.js → LinkPreviewsSection-mmAXSLtK.js} +1 -1
  24. package/dist/public/assets/{LintConfigEditor-BFYDnPot.js → LintConfigEditor-BbhL2owO.js} +1 -1
  25. package/dist/public/assets/LintingSection-CSM0_1QE.js +1 -0
  26. package/dist/public/assets/{ManagedArtifactProperties-oK6vCr7C.js → ManagedArtifactProperties-YaOwWUAx.js} +1 -1
  27. package/dist/public/assets/ManagedArtifactProperties-uoCdZH2I.js +1 -0
  28. package/dist/public/assets/{MermaidDocEditor-7zbWvNHd.js → MermaidDocEditor-BQetPb3J.js} +1 -1
  29. package/dist/public/assets/{NetworkAccessSection-Bn8H6wuf.js → NetworkAccessSection-CJ0RJ37j.js} +1 -1
  30. package/dist/public/assets/{PropertyDisplayRow-DtQD10NU.js → PropertyDisplayRow-BxgncotE.js} +1 -1
  31. package/dist/public/assets/{PublishToGitHubDialog-Bi_yfoyq.js → PublishToGitHubDialog-BjLmDxVs.js} +1 -1
  32. package/dist/public/assets/{SchemaConfigEditor-CmvHbYD0.js → SchemaConfigEditor-CL13boF8.js} +1 -1
  33. package/dist/public/assets/{SearchSection-NRyXWfQ3.js → SearchSection-D6cO9U0B.js} +1 -1
  34. package/dist/public/assets/{SessionsHost-Cc2oV3dV.js → SessionsHost-BH4nUjR2.js} +2 -2
  35. package/dist/public/assets/{SettingsDialogBody-CWnpUal4.js → SettingsDialogBody-DOlLSJng.js} +2 -2
  36. package/dist/public/assets/{ShareReceiveMissDialog-ChcdZosR.js → ShareReceiveMissDialog-C4IgyZWj.js} +1 -1
  37. package/dist/public/assets/{SkillToolbarControls-BXSkUGmd.js → SkillToolbarControls-CnDExhdQ.js} +1 -1
  38. package/dist/public/assets/{SourceEditor-AolrPcnF.js → SourceEditor-3U1rZw1J.js} +1 -1
  39. package/dist/public/assets/{SpellingSettings-Bp5WJ0V7.js → SpellingSettings-BAFQbL_s.js} +1 -1
  40. package/dist/public/assets/{SyncSection-DN4BNjYi.js → SyncSection-Ciu87ehb.js} +1 -1
  41. package/dist/public/assets/{SyncStatusBadge-BO6CFavL.js → SyncStatusBadge-CJXgXQeb.js} +1 -1
  42. package/dist/public/assets/{TerminalSection-DnexOFJv.js → TerminalSection-BIeBUi3Y.js} +1 -1
  43. package/dist/public/assets/{TerminalWindowApp-CYOc89Z0.js → TerminalWindowApp-D75W_nOD.js} +1 -1
  44. package/dist/public/assets/{TextDocEditor-DcTmh_sa.js → TextDocEditor-Dir-jZtA.js} +1 -1
  45. package/dist/public/assets/{ThemePluginSection-DOCAYKOj.js → ThemePluginSection-CovSRzUr.js} +1 -1
  46. package/dist/public/assets/{ThreadView-H4YeUz_6.js → ThreadView-B5ZZtVV4.js} +1 -1
  47. package/dist/public/assets/{TimelineDiffPane-DBRzt5of.js → TimelineDiffPane-QDBoFYDb.js} +1 -1
  48. package/dist/public/assets/{client-version-Bhpi7gms.js → client-version-C-aFlRsC.js} +1 -1
  49. package/dist/public/assets/{comment-chips-CO_v36hx.js → comment-chips-C9FVyemH.js} +1 -1
  50. package/dist/public/assets/{config-provider-DYjwca1V.js → config-provider-ang-QnXf.js} +1 -1
  51. package/dist/public/assets/config-schema-CcRHTCTU.js +1 -0
  52. package/dist/public/assets/{doc-undo-manager-Dn9t2Iwn.js → doc-undo-manager-D4kt3rYd.js} +1 -1
  53. package/dist/public/assets/field-controls-DF8qjTLS.js +1 -0
  54. package/dist/public/assets/{field-controls-CAjZIoxe.js → field-controls-DdO1Jfbb.js} +1 -1
  55. package/dist/public/assets/{index-jj7AN3ys.js → index-BCiCqT8R.js} +8 -8
  56. package/dist/public/assets/{lint-config-client-DRl_GTbs.js → lint-config-client-D0TnXak8.js} +1 -1
  57. package/dist/public/assets/{lint-plugins-DQC4DG_-.js → lint-plugins-CT78JavG.js} +1 -1
  58. package/dist/public/assets/{markdown-lint-C_9h2J3z.js → markdown-lint-BKCKKMvW.js} +1 -1
  59. package/dist/public/assets/{markdownlint-rule-browser-BShldaY9.js → markdownlint-rule-browser-CLiJDsUJ.js} +1 -1
  60. package/dist/public/assets/messages-B3fCTSsU.js +1 -0
  61. package/dist/public/assets/messages-B4LuE4Uj.js +1 -0
  62. package/dist/public/assets/messages-BE2Gn3RX.js +1 -0
  63. package/dist/public/assets/messages-BI2FOXv1.js +1 -0
  64. package/dist/public/assets/messages-BW-Cdt9C.js +1 -0
  65. package/dist/public/assets/messages-BvhAxQrI.js +1 -0
  66. package/dist/public/assets/messages-CTIWBL1W.js +1 -0
  67. package/dist/public/assets/messages-CWGa07Dg.js +1 -0
  68. package/dist/public/assets/messages-DWxo7VDJ.js +1 -0
  69. package/dist/public/assets/messages-Df0SITTo.js +1 -0
  70. package/dist/public/assets/messages-HU4oqbuE.js +1 -0
  71. package/dist/public/assets/messages-b7a1Syss.js +1 -0
  72. package/dist/public/assets/messages-viWmNfI1.js +1 -0
  73. package/dist/public/assets/{pending-receive-nav-store-DIU-Po1C.js → pending-receive-nav-store-DVgbBI_j.js} +1 -1
  74. package/dist/public/assets/{progress-BpdOUTnu.js → progress-DK60f0xv.js} +1 -1
  75. package/dist/public/assets/{saved-themes-client-BdzXiLZg.js → saved-themes-client-DQgpb_Nl.js} +1 -1
  76. package/dist/public/assets/{schema-section-AjQemGau.js → schema-section-DShGMOyT.js} +1 -1
  77. package/dist/public/assets/{selection-context-Dj_iPBku.js → selection-context-ClNQPaFJ.js} +1 -1
  78. package/dist/public/assets/{src-CS5ZPUzW.js → src-HUmS96mW.js} +1 -1
  79. package/dist/public/assets/{telemetry-impl-m7aO3jDl.js → telemetry-impl-DChsPrpQ.js} +1 -1
  80. package/dist/public/assets/{telemetry-startup-74CCPsgN.js → telemetry-startup-B9nVffXq.js} +1 -1
  81. package/dist/public/assets/{typing-burst-detector-Clq1sSnx.js → typing-burst-detector-BeLp1KqP.js} +1 -1
  82. package/dist/public/assets/{uninstall-D609kB1N.js → uninstall-CHUB11SP.js} +1 -1
  83. package/dist/public/assets/{use-activity-panel-I5AELaRz.js → use-activity-panel-DZWu1j8R.js} +1 -1
  84. package/dist/public/assets/{use-apply-config-language-C0m8OLaJ.js → use-apply-config-language-cr1JKqWJ.js} +2 -2
  85. package/dist/public/assets/{use-open-skill-Bro5-8rY.js → use-open-skill-DpJ_35HO.js} +1 -1
  86. package/dist/public/assets/{use-terminal-enabled-DASwB3kR.js → use-terminal-enabled-VopbK1KQ.js} +1 -1
  87. package/dist/public/assets/{use-timeline-entry-diff-DePScbzI.js → use-timeline-entry-diff-DPE4FYBg.js} +1 -1
  88. package/dist/public/index.html +22 -22
  89. package/dist/public/uninstall.html +3 -3
  90. package/dist/{registry-probes-CtY_1ly1.mjs → registry-probes-CjXFMEIZ.mjs} +1 -1
  91. package/dist/{removal-file-path-CNIqq13J.mjs → removal-file-path-DAe04iIF.mjs} +1 -1
  92. package/dist/{repair-launch-json-CJpZgLgO.mjs → repair-launch-json-Db5HnCXi.mjs} +1 -1
  93. package/dist/{repair-mcp-configs-DlqDZ1Q-.mjs → repair-mcp-configs-C21Kb5o_.mjs} +1 -1
  94. package/dist/{src-CnRhVti_.mjs → src-CbgdwIHT.mjs} +1 -1
  95. package/dist/src-DAzDkuCr.mjs +1 -0
  96. package/dist/{start-UcVINga1.mjs → start-C8VQZz6U.mjs} +2 -2
  97. package/dist/start-CzEAj2qz.mjs +1 -0
  98. package/package.json +4 -4
  99. package/dist/constants-DPhkbJXs.mjs +0 -1
  100. package/dist/init-Kw-TosnB.mjs +0 -1
  101. package/dist/loader-CwZvWeL0.mjs +0 -1
  102. package/dist/preview-AWnyLtzP.mjs +0 -1
  103. package/dist/public/assets/FeedbackForm-CQ0MZzAX.js +0 -1
  104. package/dist/public/assets/LintingSection-CKk0R2XV.js +0 -1
  105. package/dist/public/assets/ManagedArtifactProperties-D4nKksLq.js +0 -1
  106. package/dist/public/assets/config-schema-CjObvyCB.js +0 -1
  107. package/dist/public/assets/field-controls-23rf_c2g.js +0 -1
  108. package/dist/public/assets/messages-6qDi59f7.js +0 -1
  109. package/dist/public/assets/messages-BEvT9Nwy.js +0 -1
  110. package/dist/public/assets/messages-BSK33k09.js +0 -1
  111. package/dist/public/assets/messages-BWfEJjWl.js +0 -1
  112. package/dist/public/assets/messages-BlGEL1N1.js +0 -1
  113. package/dist/public/assets/messages-Bq95Bcqm.js +0 -1
  114. package/dist/public/assets/messages-BvpXmuCB.js +0 -1
  115. package/dist/public/assets/messages-Cw5_--PV.js +0 -1
  116. package/dist/public/assets/messages-D456hKdc.js +0 -1
  117. package/dist/public/assets/messages-F1g5PrYW.js +0 -1
  118. package/dist/public/assets/messages-_PYN_xve.js +0 -1
  119. package/dist/public/assets/messages-gEPZ_37y.js +0 -1
  120. package/dist/public/assets/messages-vtPav911.js +0 -1
  121. package/dist/src-lCnJgf0p.mjs +0 -1
  122. package/dist/start-CIrEb03P.mjs +0 -1
@@ -1,5 +1,5 @@
1
- import{J as e,N as t,Y as n,Yu as r,b as i,i as a,rl as o}from"./md-manager-BGnqyqi1-DsBy1Dky.mjs";import{Qo as s,ds as c,es as l,hi as u,ii as d,ji as f,k as p,yi as m}from"./dist-BHg9XI3A.mjs";import{Ct as h,L as g,Tt as _,X as v,b as y,ut as b,wt as x,y as S,z as C}from"./init-CrjTf1pi.mjs";import{a as w,c as T,d as E,f as D,i as ee,n as O,o as k,p as A,r as j,s as M,t as N,u as P,y as te}from"./registry-probes-CtY_1ly1.mjs";import{n as F}from"./constants-DPhkbJXs.mjs";import{execFileSync as I,spawn as L}from"node:child_process";import{basename as R,dirname as z,resolve as B}from"node:path";import{existsSync as V,realpathSync as ne}from"node:fs";import{homedir as re,tmpdir as ie}from"node:os";import{rm as ae}from"node:fs/promises";import{setTimeout as oe}from"node:timers/promises";const se=[`/opt/homebrew/bin/gh`,`/usr/local/bin/gh`,`/opt/local/bin/gh`,`/snap/bin/gh`,`/usr/bin/gh`],ce={encoding:`utf-8`,stdio:[`ignore`,`pipe`,`pipe`],timeout:5e3,windowsHide:!0};function le(e,t={}){let{login:n}=t,r=t._exec??I,i=H(t._fileExists??V),a=e?[`--hostname`,e]:[];if(n){let e=U(r,i,[`auth`,`token`,...a,`--user`,n]);if(e)return{available:!0,token:e,resolvedLogin:n,fallback:!1}}let o=U(r,i,[`auth`,`token`,...a]);return o?n?{available:!0,token:o,fallback:!0}:{available:!0,token:o}:{available:!1}}function H(e){return[`gh`,...se.filter(e)]}function U(e,t,n){for(let r of t)try{let t=e(r,n,ce).toString().trim();if(t.length>0)return t}catch{}}function W(e,t={}){let n=t._exec??I,r=H(t._fileExists??V),i=[`auth`,`status`,...e?[`--hostname`,e]:[]],a=U(n,r,[...i,`--json`,`hosts`]);if(a!==void 0){let t=ue(a,e);if(t)return t}let o=U(n,r,i);if(o!==void 0){let e=he(o);if(e.length>0)return e}}function G(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function ue(e,t){let n;try{n=JSON.parse(e)}catch{return}let r=G(G(n)?.hosts);if(!r||t!==void 0&&r[t]===void 0)return;let i=t===void 0?Object.values(r):[r[t]],a=[];for(let e of i){if(!Array.isArray(e))return;for(let t of e){let e=G(t);if(!e)continue;let n=e.login;typeof n==`string`&&n.length!==0&&a.push({login:n,active:e.active===!0})}}return a}const de=/Logged in to \S+ account (\S+) \(/,fe=/(?:Failed to log in to|Timeout trying to log in to) \S+/,pe=/^\s*-\s*Active account:\s*true\s*$/,me=/\u001b\[[0-9;]*m/g;function he(e){let t=[],n;for(let r of e.split(`
2
- `)){let e=r.replace(me,``),i=de.exec(e)?.[1];if(i){n={login:i,active:!1},t.push(n);continue}if(fe.test(e)){n=void 0;continue}n&&pe.test(e)&&(n.active=!0)}return t}const ge={mode:`published`,skipAvailabilityCheck:!0,replaceEntry:!0};function K(){return{action:`failed`,errorId:`write-failed`}}function q(){return{action:`skipped-missing`,errorId:`surface-missing`}}function J(e,t,n){c(`agent-integrations-apply`).warn({editor:e,path:t,reason:n},`skill write failed`)}function Y(){return{action:`skipped-unsupported`,errorId:`no-writer`}}function _e(e){switch(e){case`removed`:return{action:`removed`};case`not-present`:return{action:`no-op`};case`left-foreign`:return{action:`skipped-foreign`,errorId:`foreign-artifact`};case`declined`:return{action:`declined`,errorId:`write-declined`}}}function ve(e,t,n,r,i){let a=v[e];try{let o=k(a,t,n,r,i);return o.kind===`removed`&&o.trustDetail&&c(`agent-integrations-apply`).warn({editor:e,path:r??a.configPath(t,n),trust:o.trust,trustDetail:o.trustDetail},`MCP config removal retained Pi folder trust`),_e(o.kind)}catch(i){return c(`agent-integrations-apply`).warn({editor:e,path:r??a.configPath(t,n),reason:i instanceof Error?i.message:String(i)},`MCP config removal failed`),K()}}async function ye(e,t,n){if(v[e].scope!==`global`)return q();if(n===`absent`)return ve(e,``,t.home,void 0,t.env);let r=(await y({editors:[e],home:t.home,replaceEntry:!0})).find(t=>t.editorId===e);if(r===void 0)return K();switch(r.action){case`written`:case`overwritten`:return{action:r.action};case`declined`:return{action:`declined`,errorId:`write-declined`};case`skipped-missing`:return q();case`skipped-flag`:return Y();default:return K()}}function be(e,t,n){let r=v[e].projectConfigPath?.(t.cwd);if(r===void 0)return q();if(n===`absent`)return ve(e,t.cwd,t.home,r,t.env);let i=S(v[e],t.cwd,ge,void 0,r);switch(i.action){case`written`:case`overwritten`:return{action:i.action};case`declined`:return{action:`declined`,errorId:`write-declined`};default:return K()}}function xe(e,t,n){let r=t.home??re();if(n===`absent`){let t=j(e,r);switch(t.action){case`removed`:return{action:`removed`};case`not-present`:return{action:`no-op`};case`skipped-unsupported`:return q();case`failed`:return J(e,t.path,t.error),K()}}let i=w(e,r);switch(i.action){case`written`:return{action:`written`};case`overwritten`:return{action:`overwritten`};case`skipped-unsupported`:return q();case`failed`:return J(e,i.path,i.error),K()}}function Se(e,t,n){if(n===`absent`){let n=g(v[e],t.cwd);switch(n.action){case`removed`:return{action:`removed`};case`not-present`:return{action:`no-op`};case`skipped-unsupported`:return q();case`failed`:return J(e,n.path,n.error),K()}}let r=C(v[e],t.cwd);switch(r.action){case`written`:return{action:`written`};case`overwritten`:return{action:`overwritten`};case`skipped-unsupported`:return q();case`skipped-prerequisite`:return{action:`skipped-prerequisite`,errorId:`dependency-failed`};case`failed`:return J(e,r.path,r.error),K()}}function Ce(e){return t=>{if(t.pathId===void 0)return Y();let n=r(t.pathId);if(n===null||n.kind===`central-skill-store`)return Y();switch(n.kind){case`editor-user-config`:return ye(n.editor,e,t.desired);case`editor-project-config`:return be(n.editor,e,t.desired);case`editor-project-skill-root`:return Se(n.editor,e,t.desired);case`editor-user-skill-root`:return xe(n.editor,e,t.desired)}}}function we(e,t){return e.bind?.[0]??t.HOST??`127.0.0.1`}function Te(e){if(e===`server`)return e;throw new x(`--only must be 'server'`)}function Ee(e=V){let t=import.meta.dirname??new URL(`.`,import.meta.url).pathname;return[B(t,`public`),B(t,`../../app/dist`),B(t,`../../../app/dist`)].find(t=>e(t))}function De(e){if(e.explicitDir!==void 0)return{dir:e.explicitDir,missingBundle:!1};if(e.only===`server`)return{dir:void 0,missingBundle:!1};let t=e.findBundledDir();return{dir:t,missingBundle:t===void 0}}function Oe(e){if(e===`off`)return`off`;if(!o.test(e))throw new x(`--idle-shutdown must be 'off' or a duration like 90s, 30m, 2h`);return e}function ke(e){return e===`localhost`||e===`::1`||e===`[::1]`||e.startsWith(`127.`)}function Ae(e){return!e.flagBindSet&&!e.okBindSet&&e.hostEnvSet&&e.fileBindCount>1}function je(e){return!e.openBrowser||e.ephemeral||e.only===`server`||!e.servesUi?!1:(e.explicitOn||ke(e.host))&&e.isTTY}function Me(e,t){let n;try{n=new URL(t)}catch{throw new x(`${e} is not a valid URL: ${t}`)}if(n.protocol!==`http:`&&n.protocol!==`https:`)throw new x(`${e} must be an http(s) origin (got: ${t})`);return t}function Ne(e){return Me(`--external-url`,e)}function Pe(e){let t=R(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var X=class extends Error{cwd;constructor(e){super("This directory isn't set up yet. Run `ok init` first, then `ok start` again."),this.name=`OkDirMissingError`,this.cwd=e}},Z=class extends Error{projectDir;constructor(e){super(`--project-dir must be a throwaway ${p}* directory under the OS temp dir. Refusing to write ephemeral session state into ${e}. Omit --project-dir to let ok start create (and clean up) its own.`),this.name=`EphemeralProjectDirNotThrowawayError`,this.projectDir=e}};function Q(e,t={}){let n=t.tmpdirFn??ie,r=t.realpathFn??ne,i=e=>{try{return r(e)}catch(t){return t.code===`ENOENT`?B(e):null}},a=B(e),o;try{o=r(a)}catch(e){if(e.code===`ENOENT`){let e=i(z(a));o=e===null?null:B(e,R(a))}else o=null}if(o===null)return!1;let s=i(n());return s!==null&&z(o)===s&&R(o).startsWith(`ok-ephemeral-`)}function $(e,t,n=e=>ae(e,{recursive:!0,force:!0})){return async()=>{try{await e()}finally{if(Q(t))try{await n(t)}catch(e){process.stderr.write(`[start] ephemeral temp dir reap failed for ${t}: ${e instanceof Error?e.message:String(e)}\n`)}else process.stderr.write(`[start] leaving ${t} in place: only ${p}* dirs under the OS temp dir are removed on ephemeral teardown\n`)}}}function Fe(e,t={}){let n=t.exit??(e=>process.exit(e)),r=t.getActiveHandles??(()=>{let e=process._getActiveHandles;return e?e.call(process):null});return async()=>{let i=!1;try{await e()}catch(e){i=!0,t.log?.error({err:e},`idle-shutdown: destroy failed — exiting anyway`)}finally{let e=null;try{let t=r();if(t!==null){e={};for(let n of t){let t=n?.constructor?.name??`unknown`;e[t]=(e[t]??0)+1}}}catch{e=null}t.log?.info({event:`idle-shutdown-exit`,exitCode:+!!i,openHandles:e??{},handlesAvailable:e!==null},`idle-shutdown: teardown finished — exiting process`),n(+!!i)}}}async function Ie(e){let{config:t,cwd:n,host:r}=e,i=e.skipAutoInit??!1,a=e.idleThresholdMs===void 0?18e5:e.idleThresholdMs,{existsSync:o,mkdirSync:s}=await import(`node:fs`),{basename:c,dirname:l,resolve:u}=await import(`node:path`),{bootServer:p,createEphemeralProjectDir:h,getLogger:g,resolveContentDir:_,resolveLockDir:v,seedEphemeralProjectDir:y,waitForServerLockDrain:x}=await import(`./dist-ByQ8IZXo.mjs`),S=e.log??g(`start`),C=e.singleFile!==void 0,w=C?f(e.singleFile).canonicalFilePath:void 0,E=w?l(w):void 0,D=w?c(w):void 0,k,A=!1;if(E!==void 0){if(e.projectDir!==void 0){if(k=e.projectDir,!Q(k))throw new Z(k);o(u(k,`.ok`,`config.yml`))||y(k,E)}else k=h(E),A=!0}let j=async()=>{if(!(!A||k===void 0)){if(!Q(k)){S.warn({ephemeralProjectDir:k},`[start] refusing to reap self-provisioned ephemeral dir: no longer resolves to an ok-ephemeral-* temp dir`);return}try{await ae(k,{recursive:!0,force:!0})}catch(e){S.warn({err:e,ephemeralProjectDir:k},`[start] failed to reap self-provisioned ephemeral temp dir`)}}},P=k;if(!C){if(!i&&!d(n))throw new X(n);let t=process.env.OK_RECLAIM_DISABLE??null,r=e=>{e.severity===`info`?S.debug({event:e},`[start] reclaim sweep event`):S.warn({event:e},`[start] reclaim sweep reported a problem`)};try{let i=(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-DlqDZ1Q-.mjs`)).repairMcpConfigs)({projectDir:n,reclaimDisableEnv:t,logger:r}).outcomes.filter(e=>e.outcome!==`no-entry`&&e.outcome!==`canonical`&&e.outcome!==`repaired`&&e.outcome!==`foreign`);i.length>0&&S.warn({unhealed:i},`[start] reclaim sweep left entries it could not heal`)}catch(e){S.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-CJpZgLgO.mjs`)).repairLaunchJson)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){S.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}}let F=E??_(t,n);!C&&!o(F)&&(s(F,{recursive:!0}),S.info({contentDir:F},`Created content directory`));let I=te(),L=m(),R;try{{let e=v(k??n),t=Date.now(),r=await x(e);r!==`no-drain`&&S.info({event:`start-waited-for-draining-predecessor`,outcome:r,waitedMs:Date.now()-t,drainLockDir:e},r===`released`?`[start] predecessor server finished draining — proceeding`:`[start] predecessor server still draining after wait — proceeding to collide`)}R=await p({config:t,contentDir:F,projectDir:k??n,contentRoot:C?void 0:t.content.dir,port:e.port,host:r,quiet:!1,detectGh:le,detectGhAccounts:W,tokenStore:I,embeddingsKeyStore:L,mcpTomlEditor:b(),...C?{ephemeral:!0,singleDocRelPath:D,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],probeHarnessManagedMcpEntry:(e,t)=>O(e,t),probePiAcpBridge:e=>T(e),ensurePiAcpBridge:(e,t)=>M(e,void 0,void 0,void 0,t),agentIntegrations:(()=>{let e={cwd:k??n,home:re(),env:process.env};return{probe:N(e),execute:Ce(e),userSkillPresentAnywhere:ee}})(),idleShutdownMs:a,...e.serverRuntime===void 0?{}:{serverRuntime:e.serverRuntime},...e.bind===void 0?{}:{bind:e.bind},skipAutoInit:!0,idleShutdownHandler:t=>{let n=t;return Fe(P===void 0?n:$(n,P),{log:S,exit:e.idleExit})},log:S,...e.serveContentAssets===void 0?{}:{serveContentAssets:e.serveContentAssets},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{},...e.terminalAuthAvailable===!0?{terminalAuthAvailable:!0}:{}})}catch(e){throw await j(),e}let z=R.destroy,B=A?async()=>{try{await z()}finally{await j()}}:z;return{httpServer:R.httpServer,destroy:B,lockDir:R.lockDir,contentDir:F,port:R.port,ready:R.ready,degraded:R.degraded}}function Le(e,t,n=()=>s({absPath:l(`user`,process.cwd()),sideline:!1,warn:()=>{}}).value){return t===void 0?e:n()}function Re(e){if(e===`browser`||e===`app`)return e;throw new x(`--mode must be 'browser' or 'app'`)}function ze(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function Be(e){let t=[`Stopping OpenKnowledge…`,`Saving pending changes and releasing the server lock — this can take a few seconds.`];return e===`SIGINT`&&t.push(`Press Ctrl+C again to force quit.`),t}async function Ve(r,o){let s=Le(r,o.singleFile),c=ze(process.env);c!==null&&(process.env.OK_CONSOLE_LEVEL=c);let{renderBanner:l}=await import(`./banner-kywHhVaC.mjs`),{accent:u,dim:d,error:f,warning:p}=await import(`./colors-SgU3JHQu.mjs`),m=process.cwd();process.title=Pe(m);let h;try{h=e(process.env)}catch(e){throw e instanceof a&&(console.error(f(e.message)),process.exit(78)),e}for(let e of h.diagnostics)console.warn(p(`[config] ${e.message}`));let g=i(s,h.layer),_=h.overrides.some(e=>e.envVar===`OK_BIND`),v=o.bind!==void 0&&o.bind.length>0?o.bind:void 0,y=process.env.HOST,b=y!==void 0&&y.trim()!==``?y:void 0,x=n(g),S=v??(_||b===void 0?[...x.bind]:[b]);Ae({flagBindSet:v!==void 0,okBindSet:_,hostEnvSet:b!==void 0,fileBindCount:x.bind.length})&&console.warn(p(`[config] HOST=${b} overrides server.bind — dropping the file-configured addresses (${x.bind.join(`, `)}). Use OK_BIND with a space-separated list to keep multiple binds.`));let C=S[0]??`127.0.0.1`,w=S,T=o.externalUrl,E=n(i(g,{server:{bind:w,...T===void 0?{}:{externalUrl:T}}}));if(E.allowExternal&&(!E.loopbackOnly||E.externalUrl)){let e=E.externalUrl??E.bind.join(`, `);console.warn(p([``,`⚠ EXTERNAL ACCESS ENABLED (server.allowExternal) — no server-side authentication.`,` This server is reachable beyond this machine (${e}). Anyone who can`,` reach it has FULL control of this knowledge base — sync, publishing, GitHub`,` credentials, and local operations (clone, sign-in, repo spawn).`,` Restrict who can reach it at the edge: a Tailscale ACL, a reverse proxy with`,` auth (Cloudflare Access, oauth2-proxy), or a firewall.`,``].join(`
1
+ import{J as e,N as t,Y as n,Yu as r,b as i,i as a,rl as o}from"./md-manager-BGnqyqi1-DsBy1Dky.mjs";import{Qo as s,ds as c,es as l,hi as u,ii as d,ji as f,k as p,yi as m}from"./dist-BHg9XI3A.mjs";import{Ct as h,L as g,Tt as _,X as v,b as y,ut as b,wt as x,y as S,z as C}from"./init-C5n0LZMn.mjs";import{a as w,c as T,d as E,f as D,i as ee,n as O,o as k,p as A,r as j,s as M,t as N,u as P,y as te}from"./registry-probes-CjXFMEIZ.mjs";import{n as F}from"./constants-D7JQKPXh.mjs";import{execFileSync as I,spawn as L}from"node:child_process";import{basename as R,dirname as z,resolve as B}from"node:path";import{existsSync as V,realpathSync as ne}from"node:fs";import{homedir as re,tmpdir as ie}from"node:os";import{rm as ae}from"node:fs/promises";import{setTimeout as oe}from"node:timers/promises";const se=[`/opt/homebrew/bin/gh`,`/usr/local/bin/gh`,`/opt/local/bin/gh`,`/snap/bin/gh`,`/usr/bin/gh`],ce={encoding:`utf-8`,stdio:[`ignore`,`pipe`,`pipe`],timeout:5e3,windowsHide:!0};function le(e,t={}){let{login:n}=t,r=t._exec??I,i=H(t._fileExists??V),a=e?[`--hostname`,e]:[];if(n){let e=U(r,i,[`auth`,`token`,...a,`--user`,n]);if(e)return{available:!0,token:e,resolvedLogin:n,fallback:!1}}let o=U(r,i,[`auth`,`token`,...a]);return o?n?{available:!0,token:o,fallback:!0}:{available:!0,token:o}:{available:!1}}function H(e){return[`gh`,...se.filter(e)]}function U(e,t,n){for(let r of t)try{let t=e(r,n,ce).toString().trim();if(t.length>0)return t}catch{}}function W(e,t={}){let n=t._exec??I,r=H(t._fileExists??V),i=[`auth`,`status`,...e?[`--hostname`,e]:[]],a=U(n,r,[...i,`--json`,`hosts`]);if(a!==void 0){let t=ue(a,e);if(t)return t}let o=U(n,r,i);if(o!==void 0){let e=he(o);if(e.length>0)return e}}function G(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function ue(e,t){let n;try{n=JSON.parse(e)}catch{return}let r=G(G(n)?.hosts);if(!r||t!==void 0&&r[t]===void 0)return;let i=t===void 0?Object.values(r):[r[t]],a=[];for(let e of i){if(!Array.isArray(e))return;for(let t of e){let e=G(t);if(!e)continue;let n=e.login;typeof n==`string`&&n.length!==0&&a.push({login:n,active:e.active===!0})}}return a}const de=/Logged in to \S+ account (\S+) \(/,fe=/(?:Failed to log in to|Timeout trying to log in to) \S+/,pe=/^\s*-\s*Active account:\s*true\s*$/,me=/\u001b\[[0-9;]*m/g;function he(e){let t=[],n;for(let r of e.split(`
2
+ `)){let e=r.replace(me,``),i=de.exec(e)?.[1];if(i){n={login:i,active:!1},t.push(n);continue}if(fe.test(e)){n=void 0;continue}n&&pe.test(e)&&(n.active=!0)}return t}const ge={mode:`published`,skipAvailabilityCheck:!0,replaceEntry:!0};function K(){return{action:`failed`,errorId:`write-failed`}}function q(){return{action:`skipped-missing`,errorId:`surface-missing`}}function J(e,t,n){c(`agent-integrations-apply`).warn({editor:e,path:t,reason:n},`skill write failed`)}function Y(){return{action:`skipped-unsupported`,errorId:`no-writer`}}function _e(e){switch(e){case`removed`:return{action:`removed`};case`not-present`:return{action:`no-op`};case`left-foreign`:return{action:`skipped-foreign`,errorId:`foreign-artifact`};case`declined`:return{action:`declined`,errorId:`write-declined`}}}function ve(e,t,n,r,i){let a=v[e];try{let o=k(a,t,n,r,i);return o.kind===`removed`&&o.trustDetail&&c(`agent-integrations-apply`).warn({editor:e,path:r??a.configPath(t,n),trust:o.trust,trustDetail:o.trustDetail},`MCP config removal retained Pi folder trust`),_e(o.kind)}catch(i){return c(`agent-integrations-apply`).warn({editor:e,path:r??a.configPath(t,n),reason:i instanceof Error?i.message:String(i)},`MCP config removal failed`),K()}}async function ye(e,t,n){if(v[e].scope!==`global`)return q();if(n===`absent`)return ve(e,``,t.home,void 0,t.env);let r=(await y({editors:[e],home:t.home,replaceEntry:!0})).find(t=>t.editorId===e);if(r===void 0)return K();switch(r.action){case`written`:case`overwritten`:return{action:r.action};case`declined`:return{action:`declined`,errorId:`write-declined`};case`skipped-missing`:return q();case`skipped-flag`:return Y();default:return K()}}function be(e,t,n){let r=v[e].projectConfigPath?.(t.cwd);if(r===void 0)return q();if(n===`absent`)return ve(e,t.cwd,t.home,r,t.env);let i=S(v[e],t.cwd,ge,void 0,r);switch(i.action){case`written`:case`overwritten`:return{action:i.action};case`declined`:return{action:`declined`,errorId:`write-declined`};default:return K()}}function xe(e,t,n){let r=t.home??re();if(n===`absent`){let t=j(e,r);switch(t.action){case`removed`:return{action:`removed`};case`not-present`:return{action:`no-op`};case`skipped-unsupported`:return q();case`failed`:return J(e,t.path,t.error),K()}}let i=w(e,r);switch(i.action){case`written`:return{action:`written`};case`overwritten`:return{action:`overwritten`};case`skipped-unsupported`:return q();case`failed`:return J(e,i.path,i.error),K()}}function Se(e,t,n){if(n===`absent`){let n=g(v[e],t.cwd);switch(n.action){case`removed`:return{action:`removed`};case`not-present`:return{action:`no-op`};case`skipped-unsupported`:return q();case`failed`:return J(e,n.path,n.error),K()}}let r=C(v[e],t.cwd);switch(r.action){case`written`:return{action:`written`};case`overwritten`:return{action:`overwritten`};case`skipped-unsupported`:return q();case`skipped-prerequisite`:return{action:`skipped-prerequisite`,errorId:`dependency-failed`};case`failed`:return J(e,r.path,r.error),K()}}function Ce(e){return t=>{if(t.pathId===void 0)return Y();let n=r(t.pathId);if(n===null||n.kind===`central-skill-store`)return Y();switch(n.kind){case`editor-user-config`:return ye(n.editor,e,t.desired);case`editor-project-config`:return be(n.editor,e,t.desired);case`editor-project-skill-root`:return Se(n.editor,e,t.desired);case`editor-user-skill-root`:return xe(n.editor,e,t.desired)}}}function we(e,t){return e.bind?.[0]??t.HOST??`127.0.0.1`}function Te(e){if(e===`server`)return e;throw new x(`--only must be 'server'`)}function Ee(e=V){let t=import.meta.dirname??new URL(`.`,import.meta.url).pathname;return[B(t,`public`),B(t,`../../app/dist`),B(t,`../../../app/dist`)].find(t=>e(t))}function De(e){if(e.explicitDir!==void 0)return{dir:e.explicitDir,missingBundle:!1};if(e.only===`server`)return{dir:void 0,missingBundle:!1};let t=e.findBundledDir();return{dir:t,missingBundle:t===void 0}}function Oe(e){if(e===`off`)return`off`;if(!o.test(e))throw new x(`--idle-shutdown must be 'off' or a duration like 90s, 30m, 2h`);return e}function ke(e){return e===`localhost`||e===`::1`||e===`[::1]`||e.startsWith(`127.`)}function Ae(e){return!e.flagBindSet&&!e.okBindSet&&e.hostEnvSet&&e.fileBindCount>1}function je(e){return!e.openBrowser||e.ephemeral||e.only===`server`||!e.servesUi?!1:(e.explicitOn||ke(e.host))&&e.isTTY}function Me(e,t){let n;try{n=new URL(t)}catch{throw new x(`${e} is not a valid URL: ${t}`)}if(n.protocol!==`http:`&&n.protocol!==`https:`)throw new x(`${e} must be an http(s) origin (got: ${t})`);return t}function Ne(e){return Me(`--external-url`,e)}function Pe(e){let t=R(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var X=class extends Error{cwd;constructor(e){super("This directory isn't set up yet. Run `ok init` first, then `ok start` again."),this.name=`OkDirMissingError`,this.cwd=e}},Z=class extends Error{projectDir;constructor(e){super(`--project-dir must be a throwaway ${p}* directory under the OS temp dir. Refusing to write ephemeral session state into ${e}. Omit --project-dir to let ok start create (and clean up) its own.`),this.name=`EphemeralProjectDirNotThrowawayError`,this.projectDir=e}};function Q(e,t={}){let n=t.tmpdirFn??ie,r=t.realpathFn??ne,i=e=>{try{return r(e)}catch(t){return t.code===`ENOENT`?B(e):null}},a=B(e),o;try{o=r(a)}catch(e){if(e.code===`ENOENT`){let e=i(z(a));o=e===null?null:B(e,R(a))}else o=null}if(o===null)return!1;let s=i(n());return s!==null&&z(o)===s&&R(o).startsWith(`ok-ephemeral-`)}function $(e,t,n=e=>ae(e,{recursive:!0,force:!0})){return async()=>{try{await e()}finally{if(Q(t))try{await n(t)}catch(e){process.stderr.write(`[start] ephemeral temp dir reap failed for ${t}: ${e instanceof Error?e.message:String(e)}\n`)}else process.stderr.write(`[start] leaving ${t} in place: only ${p}* dirs under the OS temp dir are removed on ephemeral teardown\n`)}}}function Fe(e,t={}){let n=t.exit??(e=>process.exit(e)),r=t.getActiveHandles??(()=>{let e=process._getActiveHandles;return e?e.call(process):null});return async()=>{let i=!1;try{await e()}catch(e){i=!0,t.log?.error({err:e},`idle-shutdown: destroy failed — exiting anyway`)}finally{let e=null;try{let t=r();if(t!==null){e={};for(let n of t){let t=n?.constructor?.name??`unknown`;e[t]=(e[t]??0)+1}}}catch{e=null}t.log?.info({event:`idle-shutdown-exit`,exitCode:+!!i,openHandles:e??{},handlesAvailable:e!==null},`idle-shutdown: teardown finished — exiting process`),n(+!!i)}}}async function Ie(e){let{config:t,cwd:n,host:r}=e,i=e.skipAutoInit??!1,a=e.idleThresholdMs===void 0?18e5:e.idleThresholdMs,{existsSync:o,mkdirSync:s}=await import(`node:fs`),{basename:c,dirname:l,resolve:u}=await import(`node:path`),{bootServer:p,createEphemeralProjectDir:h,getLogger:g,resolveContentDir:_,resolveLockDir:v,seedEphemeralProjectDir:y,waitForServerLockDrain:x}=await import(`./dist-ByQ8IZXo.mjs`),S=e.log??g(`start`),C=e.singleFile!==void 0,w=C?f(e.singleFile).canonicalFilePath:void 0,E=w?l(w):void 0,D=w?c(w):void 0,k,A=!1;if(E!==void 0){if(e.projectDir!==void 0){if(k=e.projectDir,!Q(k))throw new Z(k);o(u(k,`.ok`,`config.yml`))||y(k,E)}else k=h(E),A=!0}let j=async()=>{if(!(!A||k===void 0)){if(!Q(k)){S.warn({ephemeralProjectDir:k},`[start] refusing to reap self-provisioned ephemeral dir: no longer resolves to an ok-ephemeral-* temp dir`);return}try{await ae(k,{recursive:!0,force:!0})}catch(e){S.warn({err:e,ephemeralProjectDir:k},`[start] failed to reap self-provisioned ephemeral temp dir`)}}},P=k;if(!C){if(!i&&!d(n))throw new X(n);let t=process.env.OK_RECLAIM_DISABLE??null,r=e=>{e.severity===`info`?S.debug({event:e},`[start] reclaim sweep event`):S.warn({event:e},`[start] reclaim sweep reported a problem`)};try{let i=(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-C21Kb5o_.mjs`)).repairMcpConfigs)({projectDir:n,reclaimDisableEnv:t,logger:r}).outcomes.filter(e=>e.outcome!==`no-entry`&&e.outcome!==`canonical`&&e.outcome!==`repaired`&&e.outcome!==`foreign`);i.length>0&&S.warn({unhealed:i},`[start] reclaim sweep left entries it could not heal`)}catch(e){S.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-Db5HnCXi.mjs`)).repairLaunchJson)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){S.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}}let F=E??_(t,n);!C&&!o(F)&&(s(F,{recursive:!0}),S.info({contentDir:F},`Created content directory`));let I=te(),L=m(),R;try{{let e=v(k??n),t=Date.now(),r=await x(e);r!==`no-drain`&&S.info({event:`start-waited-for-draining-predecessor`,outcome:r,waitedMs:Date.now()-t,drainLockDir:e},r===`released`?`[start] predecessor server finished draining — proceeding`:`[start] predecessor server still draining after wait — proceeding to collide`)}R=await p({config:t,contentDir:F,projectDir:k??n,contentRoot:C?void 0:t.content.dir,port:e.port,host:r,quiet:!1,detectGh:le,detectGhAccounts:W,tokenStore:I,embeddingsKeyStore:L,mcpTomlEditor:b(),...C?{ephemeral:!0,singleDocRelPath:D,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],probeHarnessManagedMcpEntry:(e,t)=>O(e,t),probePiAcpBridge:e=>T(e),ensurePiAcpBridge:(e,t)=>M(e,void 0,void 0,void 0,t),agentIntegrations:(()=>{let e={cwd:k??n,home:re(),env:process.env};return{probe:N(e),execute:Ce(e),userSkillPresentAnywhere:ee}})(),idleShutdownMs:a,...e.serverRuntime===void 0?{}:{serverRuntime:e.serverRuntime},...e.bind===void 0?{}:{bind:e.bind},skipAutoInit:!0,idleShutdownHandler:t=>{let n=t;return Fe(P===void 0?n:$(n,P),{log:S,exit:e.idleExit})},log:S,...e.serveContentAssets===void 0?{}:{serveContentAssets:e.serveContentAssets},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{},...e.terminalAuthAvailable===!0?{terminalAuthAvailable:!0}:{}})}catch(e){throw await j(),e}let z=R.destroy,B=A?async()=>{try{await z()}finally{await j()}}:z;return{httpServer:R.httpServer,destroy:B,lockDir:R.lockDir,contentDir:F,port:R.port,ready:R.ready,degraded:R.degraded}}function Le(e,t,n=()=>s({absPath:l(`user`,process.cwd()),sideline:!1,warn:()=>{}}).value){return t===void 0?e:n()}function Re(e){if(e===`browser`||e===`app`)return e;throw new x(`--mode must be 'browser' or 'app'`)}function ze(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function Be(e){let t=[`Stopping OpenKnowledge…`,`Saving pending changes and releasing the server lock — this can take a few seconds.`];return e===`SIGINT`&&t.push(`Press Ctrl+C again to force quit.`),t}async function Ve(r,o){let s=Le(r,o.singleFile),c=ze(process.env);c!==null&&(process.env.OK_CONSOLE_LEVEL=c);let{renderBanner:l}=await import(`./banner-kywHhVaC.mjs`),{accent:u,dim:d,error:f,warning:p}=await import(`./colors-SgU3JHQu.mjs`),m=process.cwd();process.title=Pe(m);let h;try{h=e(process.env)}catch(e){throw e instanceof a&&(console.error(f(e.message)),process.exit(78)),e}for(let e of h.diagnostics)console.warn(p(`[config] ${e.message}`));let g=i(s,h.layer),_=h.overrides.some(e=>e.envVar===`OK_BIND`),v=o.bind!==void 0&&o.bind.length>0?o.bind:void 0,y=process.env.HOST,b=y!==void 0&&y.trim()!==``?y:void 0,x=n(g),S=v??(_||b===void 0?[...x.bind]:[b]);Ae({flagBindSet:v!==void 0,okBindSet:_,hostEnvSet:b!==void 0,fileBindCount:x.bind.length})&&console.warn(p(`[config] HOST=${b} overrides server.bind — dropping the file-configured addresses (${x.bind.join(`, `)}). Use OK_BIND with a space-separated list to keep multiple binds.`));let C=S[0]??`127.0.0.1`,w=S,T=o.externalUrl,E=n(i(g,{server:{bind:w,...T===void 0?{}:{externalUrl:T}}}));if(E.allowExternal&&(!E.loopbackOnly||E.externalUrl)){let e=E.externalUrl??E.bind.join(`, `);console.warn(p([``,`⚠ EXTERNAL ACCESS ENABLED (server.allowExternal) — no server-side authentication.`,` This server is reachable beyond this machine (${e}). Anyone who can`,` reach it has FULL control of this knowledge base — sync, publishing, GitHub`,` credentials, and local operations (clone, sign-in, repo spawn).`,` Restrict who can reach it at the edge: a Tailscale ACL, a reverse proxy with`,` auth (Cloudflare Access, oauth2-proxy), or a firewall.`,``].join(`
3
3
  `)))}let D=o.port===void 0?void 0:Number(o.port),ee=h.overrides.find(e=>e.envVar===`PORT`)?.value,O=D??ee??s.server?.port,k=De({explicitDir:o.reactShellDistDir,only:o.only,findBundledDir:Ee}),A=k.dir;k.missingBundle&&console.warn(`bundled web UI not found — serving /api and /mcp only. Reinstall @inkeep/open-knowledge, or build packages/app in a source checkout.`);let j;try{j=await Ie({config:s,cwd:m,host:C,port:O,bind:w,...o.serveContentAssets===void 0?{}:{serveContentAssets:o.serveContentAssets},...A?{reactShellDistDir:A}:{},idleThresholdMs:t(o.idleShutdown??E.idleShutdown),serverRuntime:E,...o.singleFile?{singleFile:o.singleFile}:{},...o.projectDir?{projectDir:o.projectDir}:{},...o.terminalAuth===!0?{terminalAuthAvailable:!0}:{}})}catch(e){e instanceof X&&(console.error(f(e.message)),process.exit(1)),e instanceof Z&&(console.error(f(e.message)),process.exit(1));let t=await import(`./dist-ByQ8IZXo.mjs`);if((e instanceof t.GitNotAvailableError||e instanceof t.GitTooOldError)&&process.exit(78),e instanceof t.ExposureConsentError&&(console.error(f(e.message)),process.exit(78)),(e instanceof t.SingleFileNotFoundError||e instanceof t.SingleFileNotAFileError||e instanceof t.SingleFileNotMarkdownError)&&(console.error(f(e.message)),process.exit(1)),(e instanceof t.MissingOkConfigError||e instanceof t.DocumentDurabilityStateError)&&(console.error(f(e.message)),process.exit(1)),We(e,t)){let e=t.resolveLockDir(m),n=null;try{n=await He({readServerLock:()=>t.readServerLock(e),now:Date.now,sleep:e=>oe(e),timeoutMs:3e3,pollIntervalMs:50})}catch(e){process.stderr.write(`[start] spawn-or-reuse: lock poll failed (${e instanceof Error?e.message:String(e)}) — falling back to the collision message\n`)}if(n!==null){let[e,...t]=Ue(n);console.log(u(e));for(let e of t)console.log(d(e));process.exit(0)}}let n=Ge(e,m,t);n!==null&&(console.error(f(n)),process.exit(1)),console.error(`${f(`Failed to start:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exit(1)}let M=!1,N=async e=>{if(M)return;M=!0;let[t,...n]=Be(e);console.log(u(`\n${t}`));for(let e of n)console.log(d(` ${e}`));try{await j.destroy(`external-signal`)}catch(e){console.error(`${f(`destroy() failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exitCode=1}process.exit(process.exitCode??0)};process.once(`SIGINT`,()=>{N(`SIGINT`)}),process.once(`SIGTERM`,()=>{N(`SIGTERM`)});let P=`http://${C.includes(`:`)&&!C.startsWith(`[`)?`[${C}]`:C}:${j.port}`,te=C===`0.0.0.0`||C===`::`?`http://0.0.0.0:${j.port}`:void 0,I=P;console.log(l({name:`open-knowledge`,version:F,localUrl:I,networkUrl:te,nextSteps:[`Open the Editor URL in your browser to start editing.`]}));let L={"shadow-repo":`Version history and branch-switch safety unavailable`,"file-watcher":`External file changes will not sync to the editor`,"head-watcher":`Git branch switches may cause document inconsistency`};j.ready.then(async()=>{if(j.degraded.length>0){console.log();for(let e of j.degraded){let t=L[e]??`${e} (check server logs for details)`;console.warn(` ${p(`⚠`)} ${p(e)}: ${d(t)}`)}console.log()}if(je({openBrowser:o.openBrowser!==!1&&E.openBrowser,explicitOn:o.openBrowser!==!1&&g.server?.openBrowser===!0,host:C,isTTY:process.stdout.isTTY===!0,ephemeral:o.singleFile!==void 0,only:o.only,servesUi:A!==void 0})){let{openBrowser:e}=await import(`./open-browser-CJogphTe.mjs`);e(I)}}).catch(e=>{console.error(` ${f(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})}async function He(e){let t=e.now()+e.timeoutMs,n=e.readServerLock();for(;n!==null&&n.draining!==!0&&n.port<=0&&e.now()<t;)await e.sleep(e.pollIntervalMs),n=e.readServerLock();return n===null||n.draining===!0||n.port<=0?null:u(n)&&n.url!==void 0?{url:n.url,kind:n.kind,pid:n.pid,servesUi:!0}:{url:n.url??`http://127.0.0.1:${n.port}`,kind:n.kind,pid:n.pid,servesUi:!1}}function Ue(e){return[`${e.kind===`mcp-spawned`?`An MCP-spawned OpenKnowledge server is already running on this project`:`OpenKnowledge is already running on this project`} (pid ${e.pid}).`,` ${e.url}`,"Leaving it running — run `ok stop` first if you want a fresh server."]}function We(e,t){let n=t.ServerLockCollisionError;return n!==void 0&&e instanceof n}function Ge(e,t,n){let r=n.ServerLockCollisionError;if(r===void 0||!(e instanceof r))return null;try{let e=n.readServerLock(n.resolveLockDir(t));return e&&e.kind===`mcp-spawned`?"An MCP-spawned server holds this lock; it should release on idle-shutdown (~30 min). Or run `ok stop`.":"OpenKnowledge server is already running on this project — check `ok status` or `ok stop`."}catch{return null}}function Ke(e){return new h(`start`).description(`Start the OpenKnowledge server (UI + API + MCP + collab on one port)`).option(`-p, --port <port>`,`Server port`,void 0).option(`--bind <address>`,`Bind address (repeatable; default 127.0.0.1 — loopback only)`,(e,t)=>[...t??[],e]).option(`--no-open-browser`,`Do not open the browser after start (interactive loopback starts open it by default)`).option(`--only <module>`,`Serve one module: 'server' (API + MCP only, no shell or browser)`,Te).option(`--idle-shutdown <duration>`,`Shut the server down after this long with no connected clients ('off', or a duration like 90s, 30m, 2h; default 30m)`,Oe).option(`--mode <mode>`,`Force dispatch mode: 'browser' or 'app'`,Re).option(`--serve-content-assets`,`Serve content assets from this server (now the default; kept for compatibility)`).option(`--react-shell-dist-dir <path>`,`Serve React shell from <path>`).addOption(new _(`--single-file <path>`,`No-project ephemeral single-file mode: scope the server to one markdown file (git + MCP off)`).hideHelp()).addOption(new _(`--project-dir <dir>`,`Throwaway project root for --single-file (where ephemeral .ok/ state lives)`).hideHelp()).addOption(new _(`--terminal-auth`,`Tell in-app agents that this server's client can run terminal sign-ins (the desktop app passes it when it has a terminal)`).hideHelp()).option(`--external-url <url>`,`Canonical external origin clients dial (sets server.externalUrl for this run) — its host joins the Host/Origin allowlists (CORS + external-Host admission). External exposure additionally requires consent (OK_ALLOW_EXTERNAL=1 or server.allowExternal).`,Ne).action(async t=>{let n=e();if(t.only===`server`&&t.reactShellDistDir!==void 0&&(process.stderr.write(`error: option '--only server' cannot be combined with '--react-shell-dist-dir'
4
4
  `),process.exit(2)),t.projectDir!==void 0&&t.singleFile===void 0&&(process.stderr.write(`error: option '--project-dir' requires '--single-file'
5
5
  `),process.exit(2)),t.mode===`app`){let e=[];if(t.port!==void 0&&e.push(`--port`),t.bind!==void 0&&e.push(`--bind`),t.only!==void 0&&e.push(`--only`),t.idleShutdown!==void 0&&e.push(`--idle-shutdown`),t.openBrowser===!1&&e.push(`--no-open-browser`),t.externalUrl!==void 0&&e.push(`--external-url`),e.length>0){let t=process.env.OK_LOG_LEVEL??`info`;(t===`debug`||t===`trace`)&&console.error(`--mode=app: ignoring ${e.join(`, `)}`)}let n=E(P());if(n.available){D({spawn:L},n);return}console.error(A(n.reason)),process.exit(1)}await Ve(n,t)})}export{Ge as C,W as D,le as E,Ke as S,Fe as T,ze as _,Ue as a,je as b,Q as c,Oe as d,Te as f,Le as g,He as h,Pe as i,We as l,we as m,X as n,Be as o,Ee as p,Ie as r,ke as s,Z as t,Ne as u,De as v,$ as w,Ae as x,Ve as y};
@@ -0,0 +1 @@
1
+ import{S as e,m as t,p as n,r}from"./start-C8VQZz6U.mjs";export{r as bootStartServer,n as resolveBundledReactShellDir,t as resolveHost,e as startCommand};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inkeep/open-knowledge",
3
- "version": "0.83.0-beta.5",
3
+ "version": "0.83.0-beta.6",
4
4
  "description": "Local-first, agent-friendly Markdown knowledge base with a cross-platform CLI and web editor",
5
5
  "keywords": [
6
6
  "knowledge-base",
@@ -65,10 +65,10 @@
65
65
  "@parcel/watcher": "^2.5.6"
66
66
  },
67
67
  "devDependencies": {
68
- "@inkeep/open-knowledge-app": "0.83.0-beta.5",
69
- "@inkeep/open-knowledge-core": "0.83.0-beta.5",
68
+ "@inkeep/open-knowledge-app": "0.83.0-beta.6",
69
+ "@inkeep/open-knowledge-core": "0.83.0-beta.6",
70
70
  "@inkeep/open-knowledge-native-config": "0.0.0",
71
- "@inkeep/open-knowledge-server": "0.83.0-beta.5",
71
+ "@inkeep/open-knowledge-server": "0.83.0-beta.6",
72
72
  "@types/node": "^24.7.0",
73
73
  "@types/proper-lockfile": "^4.1.4",
74
74
  "@types/yazl": "^3.3.1",
@@ -1 +0,0 @@
1
- import"./md-manager-BGnqyqi1-DsBy1Dky.mjs";var e=`0.83.0-beta.5`;const t=`config.yml`,n=e;export{n,t};
@@ -1 +0,0 @@
1
- import"./dist-BHg9XI3A.mjs";import{_ as e}from"./init-CrjTf1pi.mjs";export{e as runInit};
@@ -1 +0,0 @@
1
- import{n as e}from"./loader-CrmSAWIW.mjs";export{e as loadConfig};
@@ -1 +0,0 @@
1
- import{n as e,t}from"./preview-B2beHnfh.mjs";export{t as formatPreviewBlock,e as previewContent};
@@ -1 +0,0 @@
1
- import{t as e}from"./index-jj7AN3ys.js";export{e as FeedbackForm};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-CYidjpOJ.js";import{t}from"./jsx-runtime-BUgB2tll.js";import{R as n,ct as r,it as i,lt as a,ot as o,ut as s,z as c}from"./DocumentContext-Bsl186nT.js";import{t as l}from"./react-f2sANaYj.js";import{n as u,r as d}from"./dist-Nvb76hAm.js";import{t as f}from"./compiler-runtime-BfE3aGVn.js";import{t as p}from"./utils-CPqDy6Hr.js";import{t as m}from"./alert-dialog-BA3e7-10.js";import{t as h}from"./label-CvMpFFbN.js";import{t as g}from"./switch-BKZTXkzu.js";import{t as _}from"./button-DzgjsZzC.js";import{n as v}from"./dist-BGzUo_18.js";import{t as y}from"./dist-C_FzPxEX2.js";import{n as b}from"./config-errors-DCSQBhyj.js";import{a as x,p as S,t as C}from"./schemas-B93JY9Ef.js";import{i as w}from"./use-apply-config-theme-CYFG76sS.js";import{t as T}from"./createLucideIcon-DdBzwsHe.js";import{t as E}from"./arrow-up-right-nJaICi16.js";import{t as D}from"./check-B2OLRY33.js";import{n as O,t as k}from"./lint-plugin-meta-CtDE2R0v.js";import{t as A}from"./circle-alert-eBm4JPxY.js";import{lr as j}from"./CodeMirrorPropInput-CJK_-B_x.js";import{t as M}from"./git-merge-VDBzSZBV.js";import{t as N}from"./spinner-Bx8xD6f8.js";import{t as P}from"./plus-zPnYzcqL.js";import{t as F}from"./square-pen-BoydeSu6.js";import{t as I}from"./trash-2-CchZ0T47.js";import{t as L}from"./badge-DmdA1C7r.js";import{a as R,c as ee,i as z,n as te,o as B,r as ne,s as re,t as ie}from"./dialog-BJEjKJjL.js";import{n as ae}from"./constants-skills-BLHVRW90.js";import{s as oe}from"./use-settings-route-DT86DJkF.js";import{c as V}from"./doc-hash-BJkweiX9.js";import"./config-provider-DYjwca1V.js";import{n as H}from"./PageListContext-OHnhzUbe.js";import{m as U}from"./skills-api-BUVVp6gv.js";import{t as se}from"./input-C-Qm8YDT.js";import{a as ce,i as le,t as ue}from"./popover-BhiLJhH5.js";import{t as W}from"./external-link-CldCnbtR.js";import{t as G}from"./use-skills-CRuEYkjM.js";import{t as K}from"./use-open-skill-Bro5-8rY.js";import{n as de,t as fe}from"./DisclosureWarning-DGH1_U0o.js";import{E as q,S as pe,b as me,c as he,f as J,m as ge,p as Y,s as _e,v as X}from"./markdown-lint-C_9h2J3z.js";import{d as ve,n as ye,r as be,t as xe,u as Se}from"./lint-config-client-DRl_GTbs.js";import{t as Ce}from"./DeleteConfirmationDialog-DrwlL-Hc.js";import{a as we,c as Te,i as Ee,n as De,o as Oe,s as ke,t as Ae}from"./card-BsBNZHzU.js";import{t as je}from"./tag-pill-input-BoyxN9pC.js";import{t as Me}from"./markdownlint-rule-browser-BShldaY9.js";import{n as Ne}from"./schema-fields-view-intent-CU_6zklJ.js";import{r as Pe,t as Fe}from"./SettingsSectionHeader-XnGFBVeB.js";var Ie=T(`folder-tree`,[[`path`,{d:`M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z`,key:`hod4my`}],[`path`,{d:`M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z`,key:`w4yl2u`}],[`path`,{d:`M3 5a2 2 0 0 0 2 2h3`,key:`f2jnh7`}],[`path`,{d:`M3 3v13a2 2 0 0 0 2 2h3`,key:`k8epm1`}]]),Le=T(`power`,[[`path`,{d:`M12 2v10`,key:`mnfbl`}],[`path`,{d:`M18.4 6.6a9 9 0 1 1-12.77.04`,key:`obofu9`}]]),Z=f(),Q=e(l(),1),Re=S({enabled:x(),active:x(),git:S({state:C([`not-applicable`,`ready`,`missing`,`conflict`,`unavailable`]),ownership:C([`open-knowledge`,`existing`]).optional()}),applied:x().optional(),reason:C([`git-conflict`,`git-unavailable`,`config-write`]).optional()});async function ze(e){try{let t=await n(await fetch(`/api/generated-index/settings`,e),`Open Knowledge could not update index generation.`);if(!t.ok)return{status:null,issue:`connection`};let r=c(Re,t.body,`generated-index-settings`,null);return r?{status:r,issue:r.applied===!1?r.reason??`connection`:null}:{status:null,issue:`connection`}}catch{return{status:null,issue:`connection`}}}function Be(){let e=(0,Z.c)(8),[t,n]=(0,Q.useState)(null),[r,i]=(0,Q.useState)(null),[a,o]=(0,Q.useState)(!1),s;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=function(){ze().then(e=>{e.status&&n(e.status),i(e.issue)})},e[0]=s):s=e[0];let c=s,l,u;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(l=()=>{c();let e=window.setInterval(c,5e3);return()=>window.clearInterval(e)},u=[],e[1]=l,e[2]=u):(l=e[1],u=e[2]),(0,Q.useEffect)(l,u);let d;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(d=async function(e){o(!0);let t=await ze({method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({enabled:e})});return o(!1),t.status&&n(t.status),i(t.issue),t.status?.applied===!0},e[3]=d):d=e[3];let f=d,p;return e[4]!==r||e[5]!==a||e[6]!==t?(p={status:t,issue:r,pending:a,refresh:c,setEnabled:f},e[4]=r,e[5]=a,e[6]=t,e[7]=p):p=e[7],p}function Ve(e){return`${e}/**`}function He(e){let t=e.trim();if(t===``||t.startsWith(`!`))return null;let{includes:n,excludes:r}=q(t);if(r.length>0||n.length!==1)return null;let i=n[0];return i!==void 0&&i.kind===`folder-recursive`?i.folder:null}function Ue(e){let t=new Set;for(let n of e){let e=He(n);e!==null&&t.add(e)}return t}function We(e,t,n){return n?Ue(e).has(t)?[...e]:[...e,Ve(t)]:e.filter(e=>He(e)!==t)}function Ge(e,t){let n=e.lastIndexOf(`/`);for(;n>0;){if(t.has(e.slice(0,n)))return!0;n=e.lastIndexOf(`/`,n-1)}return!1}function Ke(e){let t=new Set;for(let n of e){let e=n.replace(/\\/g,`/`).replace(/\/+$/,``).replace(/^\.\//,``);if(e===``||e===`.`)continue;t.add(e);let r=e.lastIndexOf(`/`);for(;r>0;)t.add(e.slice(0,r)),r=e.lastIndexOf(`/`,r-1)}let n=new Map;for(let e of t){let t=e.lastIndexOf(`/`),r=t===-1?``:e.slice(0,t),i=n.get(r);i===void 0?n.set(r,[e]):i.push(e)}let r=[],i=e=>{let t=n.get(e);if(t!==void 0){t.sort((e,t)=>e.localeCompare(t));for(let e of t)r.push({path:e}),i(e)}};return i(``),r}function qe(e){let t=new Map;for(let n of e){let e=n.lastIndexOf(`/`);for(;e>0;){let r=n.slice(0,e);t.set(r,(t.get(r)??0)+1),e=n.lastIndexOf(`/`,e-1)}}return t}function Je(e,t){let n=ge(e),r=0,i=0;for(let e of t)i+=1,n.matches(e)&&(r+=1);return{matched:r,total:i}}var $=t();function Ye(e){let t=(0,Z.c)(50),{file:n,globs:c,disabled:l,onChange:f}=e,{_:m}=d(),h=(0,Q.useId)(),[g,v]=(0,Q.useState)(!1),y=H();if(y===null)return null;let b,x,S,C,w,T,E,k,A,j,M;if(t[0]!==m||t[1]!==l||t[2]!==n||t[3]!==c||t[4]!==h||t[5]!==f||t[6]!==g||t[7]!==y.folderPaths||t[8]!==y.pages){let e=Ke(y.folderPaths).filter($e),d=qe(y.pages),N=Ue(c),P;t[20]===m?P=t[21]:(P=m({id:`Sr9xtj`}),t[20]=m,t[21]=P);let F=P;x=ue,A=g,j=v;let I=g?h:void 0,L=`frontmatter-schema-pick-folders-${n}`,R;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(Ie,{"aria-hidden":!0,className:`size-3.5 shrink-0 opacity-60`}),t[22]=R):R=t[22];let ee=N.size===0&&`text-muted-foreground`,z;t[23]===ee?z=t[24]:(z=p(`truncate text-xs`,ee),t[23]=ee,t[24]=z);let te=N.size===0?(0,$.jsx)(u,{id:`GW9ZdV`}):(0,$.jsx)(u,{id:`Vd8wxu`,values:{0:N.size}}),B;t[25]!==z||t[26]!==te?(B=(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[R,(0,$.jsx)(`span`,{className:z,children:te})]}),t[25]=z,t[26]=te,t[27]=B):B=t[27];let ne;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,$.jsx)(O,{"aria-hidden":!0,className:`ms-2 size-3.5 shrink-0 opacity-50`}),t[28]=ne):ne=t[28],t[29]!==l||t[30]!==g||t[31]!==F||t[32]!==I||t[33]!==L||t[34]!==B?(M=(0,$.jsx)(ce,{asChild:!0,children:(0,$.jsxs)(_,{variant:`outline`,size:`sm`,role:`combobox`,"aria-expanded":g,"aria-haspopup":`listbox`,"aria-controls":I,"aria-label":F,disabled:l,className:`h-7 w-full justify-between font-normal`,"data-testid":L,children:[B,ne]})}),t[29]=l,t[30]=g,t[31]=F,t[32]=I,t[33]=L,t[34]=B,t[35]=M):M=t[35],b=le,S=`start`,C=`w-[var(--radix-popover-trigger-width)] p-0`,w=Qe,T=Ze,E=Xe,k=e.length===0?(0,$.jsx)(`p`,{className:`px-3 py-2 text-sm text-muted-foreground`,"data-testid":`frontmatter-schema-folder-tree-empty-${n}`,children:(0,$.jsx)(u,{id:`yit5dF`})}):(0,$.jsxs)(i,{label:F,children:[(0,$.jsx)(r,{placeholder:m({id:`VbM4Sv`})}),(0,$.jsxs)(s,{id:h,"aria-multiselectable":`true`,className:`subtle-scrollbar`,"data-testid":`frontmatter-schema-folder-tree-${n}`,children:[(0,$.jsx)(o,{children:(0,$.jsx)(u,{id:`wtd69q`})}),e.map(e=>{let t=N.has(e.path),r=!t&&Ge(e.path,N),i=d.get(e.path)??0;return(0,$.jsxs)(a,{value:e.path,disabled:r,"aria-checked":t||r,title:m(r?{id:`bDiiSM`}:{id:`XjqA8x`,values:{0:e.path}}),onSelect:()=>f(We(c,e.path,!t)),"data-testid":`frontmatter-schema-folder-item-${n}-${e.path}`,children:[(0,$.jsx)(D,{"aria-hidden":!0,className:p(`size-4 shrink-0`,t?`opacity-100`:r?`opacity-40`:`opacity-0`)}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-xs`,children:e.path}),(0,$.jsx)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:(0,$.jsx)(u,{id:`zD1Nqf`,values:{count:i}})})]},e.path)})]})]}),t[0]=m,t[1]=l,t[2]=n,t[3]=c,t[4]=h,t[5]=f,t[6]=g,t[7]=y.folderPaths,t[8]=y.pages,t[9]=b,t[10]=x,t[11]=S,t[12]=C,t[13]=w,t[14]=T,t[15]=E,t[16]=k,t[17]=A,t[18]=j,t[19]=M}else b=t[9],x=t[10],S=t[11],C=t[12],w=t[13],T=t[14],E=t[15],k=t[16],A=t[17],j=t[18],M=t[19];let N;t[36]!==b||t[37]!==S||t[38]!==C||t[39]!==w||t[40]!==T||t[41]!==E||t[42]!==k?(N=(0,$.jsx)(b,{align:S,className:C,onOpenAutoFocus:w,onWheel:T,onTouchMove:E,children:k}),t[36]=b,t[37]=S,t[38]=C,t[39]=w,t[40]=T,t[41]=E,t[42]=k,t[43]=N):N=t[43];let P;return t[44]!==x||t[45]!==N||t[46]!==A||t[47]!==j||t[48]!==M?(P=(0,$.jsxs)(x,{open:A,onOpenChange:j,children:[M,N]}),t[44]=x,t[45]=N,t[46]=A,t[47]=j,t[48]=M,t[49]=P):P=t[49],P}function Xe(e){e.stopPropagation()}function Ze(e){e.stopPropagation()}function Qe(e){e.preventDefault(),e.currentTarget.querySelector(`[cmdk-input]`)?.focus()}function $e(e){return He(Ve(e.path))===e.path}var et=[`unmatched`,`invalid`,`suspicious`],tt=` appliesTo glob `,nt=` (frontmatter mapping for `,rt=` — `;function it(e){if(!e.startsWith(`"`))return null;for(let t=1;t<e.length;t++){let n=e[t];if(n===`\\`){t++;continue}if(n===`"`)try{return{value:JSON.parse(e.slice(0,t+1)),rest:e.slice(t+1)}}catch{return null}}return null}function at(e){let t=et.find(t=>e.startsWith(`${t}${tt}`));if(t===void 0)return null;let n=it(e.slice(t.length+16));if(n===null)return null;let r=n.rest.lastIndexOf(nt);if(r===-1||!n.rest.endsWith(`)`))return null;let i=n.rest.slice(r+26,-1);if(i===``)return null;let a=n.rest.slice(0,r);if(!a.startsWith(rt))return null;let o=a.slice(3);return o===``?null:{kind:t,pattern:n.value,detail:o,file:i}}function ot(e){let t=new Map;for(let n of e){let e=at(n);if(e===null)continue;let r=t.get(e.file);r===void 0&&(r=new Map,t.set(e.file,r));let i=r.get(e.pattern);r.set(e.pattern,i===void 0?e.detail:`${i}; ${e.detail}`)}return t}var st=8e3;function ct({pluginId:e,label:t}){v.success(y._({id:`XfA5xx`,values:{label:t}}),{id:`plugin-enabled-${e}`,description:y._({id:`2wTb8w`}),duration:st,action:{label:y._({id:`Yp-Hi_`}),onClick:()=>oe(e)}})}function lt(){let e=(0,Z.c)(7),{_:t}=d(),{projectConfig:n,projectSynced:r,projectBinding:i}=w(),a=n?.contentRules,o=r&&i!==null,s;e[0]!==t||e[1]!==i?(s=function(e){if(i===null)return v.error(t({id:`dVaXnv`})),!1;let n=i.patch({contentRules:e});return n.ok?!0:(v.error(t({id:`NrFwux`,values:{0:b(n.error)}})),!1)},e[0]=t,e[1]=i,e[2]=s):s=e[2];let c=s,l;return e[3]!==o||e[4]!==a||e[5]!==c?(l={contentRules:a,bindingReady:o,write:c},e[3]=o,e[4]=a,e[5]=c,e[6]=l):l=e[6],l}function ut(e,t){return{[e]:{enabled:t}}}function dt(e){let t=(0,Z.c)(3),{id:n}=e;switch(n){case`markdownlint`:{let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(u,{id:`Vftef5`}),t[0]=e):e=t[0],e}case`frontmatter`:{let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(u,{id:`78G7R3`}),t[1]=e):e=t[1],e}case`okf`:{let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(u,{id:`3ri_4O`}),t[2]=e):e=t[2],e}}}function ft(){let e=(0,Z.c)(12),{_:t}=d(),{contentRules:n,bindingReady:r,write:i}=lt(),a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(u,{id:`ohUJJM`}),e[0]=a):a=e[0];let o;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(Fe,{titleId:`settings-plugins-title`,title:a,scope:`project`,children:(0,$.jsx)(u,{id:`Ni4b7h`})}),e[1]=o):o=e[1];let s;e[2]!==t||e[3]!==r||e[4]!==n||e[5]!==i?(s=k.map(e=>{let a=n?.[e.id]?.enabled===!0,o=`settings-plugin-toggle-${e.id}-description`;return(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-3 py-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsxs)(h,{htmlFor:`settings-plugin-toggle-${e.id}`,className:`inline-flex items-center gap-1.5 text-sm font-medium`,children:[e.label,e.beta?(0,$.jsx)(Pe,{}):null]}),(0,$.jsx)(`p`,{id:o,className:`text-sm text-muted-foreground`,children:(0,$.jsx)(dt,{id:e.id})})]}),(0,$.jsx)(g,{id:`settings-plugin-toggle-${e.id}`,"aria-describedby":o,checked:a,disabled:!r,onCheckedChange:t=>{i(ut(e.id,t))&&t&&ct({pluginId:e.id,label:e.label})},"aria-label":t(a?{id:`y5UgU8`,values:{0:e.label}}:{id:`FZtBeR`,values:{0:e.label}}),"data-testid":`settings-plugin-toggle-${e.id}`})]},e.id)}),e[2]=t,e[3]=r,e[4]=n,e[5]=i,e[6]=s):s=e[6];let c;e[7]===s?c=e[8]:(c=(0,$.jsx)(`div`,{className:`divide-y rounded-md border`,"data-testid":`settings-plugins-list`,children:s}),e[7]=s,e[8]=c);let l;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,"data-testid":`settings-plugins-audit-pointer`,children:(0,$.jsx)(u,{id:`9KooKn`})}),e[9]=l):l=e[9];let f;return e[10]===c?f=e[11]:(f=(0,$.jsxs)(`section`,{"aria-labelledby":`settings-plugins-title`,className:`space-y-4`,"data-testid":`settings-plugins-manage`,children:[o,c,l]}),e[10]=c,e[11]=f),f}function pt(e){let t=(0,Z.c)(31),{userBinding:n}=e,{_:r}=d(),{userConfig:i}=w(),a=i?.appearance?.colorThemeEnabled!==!1,o=i?.slides?.enabled===!0,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(u,{id:`ohUJJM`}),t[0]=s):s=t[0];let c;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(Fe,{titleId:`settings-user-plugins-title`,title:s,scope:`user`,children:(0,$.jsx)(u,{id:`Ske_wc`})}),t[1]=c):c=t[1];let l;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(h,{htmlFor:`settings-plugin-toggle-theme`,className:`text-sm font-medium`,children:(0,$.jsx)(u,{id:`fJ3EbT`})}),t[2]=l):l=t[2];let f;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[l,(0,$.jsx)(`p`,{id:`settings-plugin-toggle-theme-description`,className:`text-1sm text-muted-foreground`,children:(0,$.jsx)(u,{id:`YRavYS`})})]}),t[3]=f):f=t[3];let p=n===null,m;t[4]!==r||t[5]!==n?(m=e=>{if(n){if(!n.patch({appearance:{colorThemeEnabled:e}}).ok){v.error(r({id:`C_Lyvh`}));return}e&&ct({pluginId:`theme`,label:r({id:`fJ3EbT`})})}},t[4]=r,t[5]=n,t[6]=m):m=t[6];let _;t[7]!==r||t[8]!==a?(_=r(a?{id:`cOJyVj`}:{id:`G_hVTP`}),t[7]=r,t[8]=a,t[9]=_):_=t[9];let y;t[10]!==p||t[11]!==m||t[12]!==_||t[13]!==a?(y=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-3 py-3`,children:[f,(0,$.jsx)(g,{id:`settings-plugin-toggle-theme`,"aria-describedby":`settings-plugin-toggle-theme-description`,checked:a,disabled:p,onCheckedChange:m,"aria-label":_,"data-testid":`settings-plugin-toggle-theme`})]}),t[10]=p,t[11]=m,t[12]=_,t[13]=a,t[14]=y):y=t[14];let b;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,$.jsxs)(h,{htmlFor:`settings-plugin-toggle-slides`,className:`inline-flex items-center gap-1.5 text-sm font-medium`,children:[(0,$.jsx)(u,{id:`f14doC`}),(0,$.jsx)(Pe,{})]}),t[15]=b):b=t[15];let x;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[b,(0,$.jsx)(`p`,{id:`settings-plugin-toggle-slides-description`,className:`text-1sm text-muted-foreground`,children:(0,$.jsx)(u,{id:`Ozyht_`})})]}),t[16]=x):x=t[16];let S=n===null,C;t[17]!==r||t[18]!==n?(C=e=>{if(n){if(!n.patch({slides:{enabled:e}}).ok){v.error(r({id:`GMaDTM`}));return}e&&ct({pluginId:`slides`,label:r({id:`f14doC`})})}},t[17]=r,t[18]=n,t[19]=C):C=t[19];let T;t[20]!==r||t[21]!==o?(T=r(o?{id:`wRni1Z`}:{id:`UlVARL`}),t[20]=r,t[21]=o,t[22]=T):T=t[22];let E;t[23]!==o||t[24]!==S||t[25]!==C||t[26]!==T?(E=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-3 py-3`,children:[x,(0,$.jsx)(g,{id:`settings-plugin-toggle-slides`,"aria-describedby":`settings-plugin-toggle-slides-description`,checked:o,disabled:S,onCheckedChange:C,"aria-label":T,"data-testid":`settings-plugin-toggle-slides`})]}),t[23]=o,t[24]=S,t[25]=C,t[26]=T,t[27]=E):E=t[27];let D;return t[28]!==E||t[29]!==y?(D=(0,$.jsxs)(`section`,{"aria-labelledby":`settings-user-plugins-title`,className:`space-y-4`,"data-testid":`settings-user-plugins-manage`,children:[c,(0,$.jsxs)(`div`,{className:`divide-y rounded-md border`,"data-testid":`settings-user-plugins-list`,children:[y,E]})]}),t[28]=E,t[29]=y,t[30]=D):D=t[30],D}function mt(e){return k.find(t=>t.id===e)?.docUrl}function ht(e){return k.find(t=>t.id===e)?.beta===!0}function gt(e){let t=(0,Z.c)(6),n;t[0]===e?n=t[1]:(n=e===void 0?{}:e,t[0]=e,t[1]=n);let{initialRuleQuery:r}=n,i;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=mt(`markdownlint`),t[2]=i):i=t[2];let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(Fe,{titleId:`settings-plugin-markdownlint-title`,title:`markdownlint`,scope:`project`,docUrl:i,children:(0,$.jsx)(u,{id:`WFEbV1`,components:{0:(0,$.jsx)(`a`,{href:`https://github.com/DavidAnson/markdownlint`,target:`_blank`,rel:`noopener noreferrer`,onClick:vt,onAuxClick:_t,className:`inline-flex items-center gap-0.5 text-muted-foreground underline-offset-2 hover:text-foreground hover:underline`}),1:(0,$.jsx)(E,{"aria-hidden":!0,className:`size-3`})}})}),t[3]=a):a=t[3];let o;return t[4]===r?o=t[5]:(o=(0,$.jsxs)(`section`,{"aria-labelledby":`settings-plugin-markdownlint-title`,className:`space-y-4`,"data-testid":`settings-plugin-markdownlint`,children:[a,(0,$.jsx)(Me,{initialRuleQuery:r})]}),t[4]=r,t[5]=o),o}function _t(e){return W(e,`https://github.com/DavidAnson/markdownlint`)}function vt(e){return W(e,`https://github.com/DavidAnson/markdownlint`)}function yt(e){let t=(0,Z.c)(13),{id:n}=e;switch(n){case`no-wiki-links`:{let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(u,{id:`qTT48-`}),t[0]=e):e=t[0],e}case`log-shape`:{let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(u,{id:`gVMkEr`}),t[1]=e):e=t[1],e}case`index-shape`:{let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(u,{id:`1JpLgH`}),t[2]=e):e=t[2],e}case`reserved-casing`:{let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(u,{id:`hPQBsa`}),t[3]=e):e=t[3],e}case`frontmatter-required`:{let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(u,{id:`mhnCt3`}),t[4]=e):e=t[4],e}case`frontmatter-recommended`:{let e;return t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(u,{id:`DjNcDy`}),t[5]=e):e=t[5],e}case`frontmatter-provenance`:{let e;return t[6]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(u,{id:`tM5uzl`}),t[6]=e):e=t[6],e}case`frontmatter-computation`:{let e;return t[7]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(u,{id:`v15iQB`}),t[7]=e):e=t[7],e}case`frontmatter-reserved-index`:{let e;return t[8]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(u,{id:`scyoP9`}),t[8]=e):e=t[8],e}case`frontmatter-root-index`:{let e;return t[9]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(u,{id:`RB_g_C`}),t[9]=e):e=t[9],e}case`project-no-mdx`:{let e;return t[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(u,{id:`GROUfG`}),t[10]=e):e=t[10],e}default:{let e;return t[11]===n?e=t[12]:(e=Y(n),t[11]=n,t[12]=e),e}}}function bt(e){let t=(0,Z.c)(5),{id:n}=e;switch(n){case`structure`:{let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(u,{id:`cd3THN`}),t[0]=e):e=t[0],e}case`frontmatter`:{let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(u,{id:`k5rKNs`}),t[1]=e):e=t[1],e}case`project`:{let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(u,{id:`e0NrBM`}),t[2]=e):e=t[2],e}default:{let e;return t[3]===n?e=t[4]:(e=J(n),t[3]=n,t[4]=e),e}}}function xt(e){let t=(0,Z.c)(1),{id:n}=e;if(n!==`project`)return null;let r;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:(0,$.jsx)(u,{id:`L3BcJ4`})}),t[0]=r):r=t[0],r}function St(e){let t=(0,Z.c)(35),{packId:n,name:r}=e,{_:i}=d(),a=G(),o=K(),[s,c]=(0,Q.useState)(!1),[l,f]=(0,Q.useState)(null),p=(0,Q.useRef)(null),m;t[0]===i?m=t[1]:(m=i({id:`rarziH`}),t[0]=i,t[1]=m);let h=m,g=a.status===`ready`?a.data.find(e=>e.scope===`project`&&e.name===r):void 0,y=g?g.origin?.source===`inkeep/open-knowledge-skills`?`installed`:`existing`:l,b=a.status===`idle`||a.status===`loading`,x;t[2]!==i||t[3]!==r||t[4]!==n?(x=async function(e){if(!e.includes(r))return new Map;let t=await U(n);if(!t.ok)return v.error(t.error),null;let a=t.skills.find(e=>e.name===r)?.created===!1?`existing`:`installed`;return f(a),v.success(i(a===`installed`?{id:`7idx48`}:{id:`ciozf1`})),new Map([[r,r]])},t[2]=i,t[3]=r,t[4]=n,t[5]=x):x=t[5];let S=x,C;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(ke,{children:(0,$.jsx)(u,{id:`r7IaYp`})}),t[6]=C):C=t[6];let w;t[7]===h?w=t[8]:(w=(0,$.jsx)(Ee,{children:h}),t[7]=h,t[8]=w);let T;t[9]===y?T=t[10]:(T=y===`installed`?(0,$.jsx)(De,{children:(0,$.jsx)(L,{variant:`secondary`,children:(0,$.jsx)(u,{id:`eQkgKV`})})}):y===`existing`?(0,$.jsx)(De,{children:(0,$.jsx)(L,{variant:`outline`,children:(0,$.jsx)(u,{id:`JKXcOi`})})}):null,t[9]=y,t[10]=T);let E;t[11]!==w||t[12]!==T?(E=(0,$.jsxs)(Oe,{children:[C,w,T]}),t[11]=w,t[12]=T,t[13]=E):E=t[13];let D;t[14]!==b||t[15]!==r||t[16]!==o||t[17]!==y?(D=(0,$.jsx)(we,{className:`justify-end gap-2`,children:y===null?(0,$.jsx)(_,{ref:p,type:`button`,variant:`secondary`,size:`sm`,disabled:b,onClick:()=>c(!0),children:b?(0,$.jsx)(u,{id:`J0uRhj`}):(0,$.jsx)(u,{id:`3qDsdf`})}):(0,$.jsx)(_,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>o(`project`,r),children:(0,$.jsx)(u,{id:`lZoQdy`})})}),t[14]=b,t[15]=r,t[16]=o,t[17]=y,t[18]=D):D=t[18];let O;t[19]!==E||t[20]!==D?(O=(0,$.jsxs)(Ae,{size:`sm`,"data-testid":`settings-okf-recommended-skill`,children:[E,D]}),t[19]=E,t[20]=D,t[21]=O):O=t[21];let k;t[22]!==h||t[23]!==s||t[24]!==r?(k=s?{plugin:`OKF`,names:[r],descriptions:{[r]:h}}:null,t[22]=h,t[23]=s,t[24]=r,t[25]=k):k=t[25];let A;t[26]===S?A=t[27]:(A={scope:`project`,installSelected:S},t[26]=S,t[27]=A);let j;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(j=()=>p.current?.focus(),t[28]=j):j=t[28];let M;t[29]!==A||t[30]!==k?(M=(0,$.jsx)(Te,{bundle:k,source:ae,defaultScope:`project`,installOverride:A,onOpenChange:c,returnFocus:j}),t[29]=A,t[30]=k,t[31]=M):M=t[31];let N;return t[32]!==M||t[33]!==O?(N=(0,$.jsxs)($.Fragment,{children:[O,M]}),t[32]=M,t[33]=O,t[34]=N):N=t[34],N}function Ct(){let e=(0,Z.c)(76),{_:t}=d(),{contentRules:n,bindingReady:r,write:i}=lt(),a=n?.okf?.rules,o;e[0]===a?o=e[1]:(o=he.filter(e=>pe(a,e)),e[0]=a,e[1]=o);let s=o.length,c=n?.okf?.generate?.index===!0,l=Be(),f=l.status?.enabled??c,[p,m]=(0,Q.useState)(!1),v=(0,Q.useRef)(null),y,b,x,S,C,w,T,E;if(e[2]!==l||e[3]!==i){let t=k.find(Tt)?.recommendedSkills??[],n;e[12]===l?n=e[13]:(n=function(e){if(e){m(!0);return}l.setEnabled(!1)},e[12]=l,e[13]=n),T=n;let r;e[14]===l?r=e[15]:(r=async function(){await l.setEnabled(!0),m(!1)},e[14]=l,e[15]=r),y=r;let a;e[16]===i?a=e[17]:(a=function(e,t){let n={};n[e]=t?null:!1,i({okf:{rules:n}})&&be()},e[16]=i,e[17]=a),E=a,b=`settings-plugin-okf-title`,x=`space-y-4`,S=`settings-plugin-okf`,e[18]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(Fe,{titleId:`settings-plugin-okf-title`,title:`OKF`,scope:`project`,beta:ht(`okf`),docUrl:mt(`okf`),children:(0,$.jsx)(u,{id:`3ri_4O`})}),e[18]=C):C=e[18],w=t.length>0?(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,"data-testid":`settings-okf-recommended-skills`,children:[(0,$.jsx)(`h4`,{className:`text-sm font-medium`,children:(0,$.jsx)(u,{id:`kVzuTI`})}),t.map(wt)]}):null,e[2]=l,e[3]=i,e[4]=y,e[5]=b,e[6]=x,e[7]=S,e[8]=C,e[9]=w,e[10]=T,e[11]=E}else y=e[4],b=e[5],x=e[6],S=e[7],C=e[8],w=e[9],T=e[10],E=e[11];let D;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsx)(`h4`,{className:`text-sm font-medium`,children:(0,$.jsx)(u,{id:`aatPoi`})}),e[19]=D):D=e[19];let O;e[20]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,$.jsx)(h,{htmlFor:`settings-okf-generate-index`,className:`text-sm font-medium`,children:(0,$.jsx)(u,{id:`_G7A92`})}),e[20]=O):O=e[20];let A;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:(0,$.jsx)(u,{id:`CXcveY`})}),e[21]=A):A=e[21];let P;e[22]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[O,A,(0,$.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:(0,$.jsx)(u,{id:`YaVU2F`})})]}),e[22]=P):P=e[22];let F=!r||l.status===null||l.pending,I;e[23]!==t||e[24]!==f?(I=t(f?{id:`sHDllh`}:{id:`sSRndh`}),e[23]=t,e[24]=f,e[25]=I):I=e[25];let L;e[26]!==f||e[27]!==F||e[28]!==I||e[29]!==T?(L=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 rounded-md border px-3 py-2`,children:[P,(0,$.jsx)(g,{ref:v,id:`settings-okf-generate-index`,checked:f,disabled:F,onCheckedChange:T,"aria-label":I,"data-testid":`settings-okf-generate-index`})]}),e[26]=f,e[27]=F,e[28]=I,e[29]=T,e[30]=L):L=e[30];let ae=l.status?.enabled??c,oe=l.status?.git.state,V;e[31]!==l.issue||e[32]!==ae||e[33]!==oe?(V=(0,$.jsx)(Et,{enabled:ae,gitState:oe,issue:l.issue}),e[31]=l.issue,e[32]=ae,e[33]=oe,e[34]=V):V=e[34];let H;e[35]===Symbol.for(`react.memo_cache_sentinel`)?(H=e=>{e.preventDefault(),v.current?.focus()},e[35]=H):H=e[35];let U;e[36]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,$.jsx)(ee,{children:(0,$.jsx)(u,{id:`kVS5tE`})}),e[36]=U):U=e[36];let se;e[37]===Symbol.for(`react.memo_cache_sentinel`)?(se=(0,$.jsxs)(re,{children:[U,(0,$.jsx)(R,{className:`text-inherit`,children:(0,$.jsx)(u,{id:`110eEb`})})]}),e[37]=se):se=e[37];let ce;e[38]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,$.jsx)(de,{icon:(0,$.jsx)(j,{"aria-hidden":`true`,className:`mt-0.5 size-4 shrink-0 text-muted-foreground`}),title:(0,$.jsx)(u,{id:`aatPoi`}),body:(0,$.jsx)(u,{id:`RD6H9q`})}),e[38]=ce):ce=e[38];let le;e[39]===Symbol.for(`react.memo_cache_sentinel`)?(le=(0,$.jsx)(de,{icon:(0,$.jsx)(M,{"aria-hidden":`true`,className:`mt-0.5 size-4 shrink-0 text-muted-foreground`}),title:(0,$.jsx)(u,{id:`XAnapw`}),body:(0,$.jsx)(u,{id:`CxCOFx`})}),e[39]=le):le=e[39];let ue;e[40]===Symbol.for(`react.memo_cache_sentinel`)?(ue=(0,$.jsx)(te,{children:(0,$.jsxs)(fe,{children:[ce,le,(0,$.jsx)(de,{icon:(0,$.jsx)(Le,{"aria-hidden":`true`,className:`mt-0.5 size-4 shrink-0 text-muted-foreground`}),title:(0,$.jsx)(u,{id:`fdKQAE`}),body:(0,$.jsx)(u,{id:`ByIOcK`})})]})}),e[40]=ue):ue=e[40];let W;e[41]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,$.jsx)(ne,{asChild:!0,children:(0,$.jsx)(_,{variant:`outline`,children:(0,$.jsx)(u,{id:`dEgA5A`})})}),e[41]=W):W=e[41];let G;e[42]===y?G=e[43]:(G=()=>void y(),e[42]=y,e[43]=G);let K;e[44]===l.pending?K=e[45]:(K=l.pending?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(N,{"aria-hidden":`true`}),(0,$.jsx)(u,{id:`lY7Unt`})]}):(0,$.jsx)(u,{id:`aiOceC`}),e[44]=l.pending,e[45]=K);let q;e[46]!==l.pending||e[47]!==G||e[48]!==K?(q=(0,$.jsxs)(z,{className:`sm:max-w-lg`,"data-testid":`settings-okf-generate-index-confirm`,onCloseAutoFocus:H,children:[se,ue,(0,$.jsxs)(B,{children:[W,(0,$.jsx)(_,{onClick:G,disabled:l.pending,"data-testid":`settings-okf-generate-index-confirm-accept`,children:K})]})]}),e[46]=l.pending,e[47]=G,e[48]=K,e[49]=q):q=e[49];let me;e[50]!==p||e[51]!==q?(me=(0,$.jsx)(ie,{open:p,onOpenChange:m,children:q}),e[50]=p,e[51]=q,e[52]=me):me=e[52];let J;e[53]!==L||e[54]!==V||e[55]!==me?(J=(0,$.jsxs)(`div`,{className:`space-y-2`,"data-testid":`settings-okf-generated-files`,children:[D,L,V,me]}),e[53]=L,e[54]=V,e[55]=me,e[56]=J):J=e[56];let ge;e[57]===Symbol.for(`react.memo_cache_sentinel`)?(ge=(0,$.jsx)(`h4`,{className:`text-sm font-medium`,children:(0,$.jsx)(u,{id:`4EZrJN`})}),e[57]=ge):ge=e[57];let Y;e[58]===s?Y=e[59]:(Y=(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[ge,(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:(0,$.jsx)(u,{id:`NgZwB0`,values:{0:he.length,enabledCount:s}})})]}),e[58]=s,e[59]=Y);let X;e[60]!==t||e[61]!==r||e[62]!==a||e[63]!==E?(X=_e.map(e=>(0,$.jsxs)(`div`,{className:`space-y-2`,"data-testid":`settings-okf-rule-group-${e.id}`,children:[(0,$.jsx)(`h5`,{className:`text-xs font-medium uppercase tracking-wide text-muted-foreground`,children:(0,$.jsx)(bt,{id:e.id})}),(0,$.jsx)(xt,{id:e.id}),(0,$.jsx)(`div`,{className:`divide-y rounded-md border`,children:e.ids.map(e=>{let n=pe(a,e);return(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-3 py-2`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(h,{htmlFor:`settings-okf-rule-toggle-${e}`,className:`text-sm font-medium`,children:e}),(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:(0,$.jsx)(yt,{id:e})})]}),(0,$.jsx)(g,{id:`settings-okf-rule-toggle-${e}`,checked:n,disabled:!r,onCheckedChange:t=>E(e,t),"aria-label":t(n?{id:`gfYI3o`,values:{id:e}}:{id:`8rZ1pk`,values:{id:e}}),"data-testid":`settings-okf-rule-toggle-${e}`})]},e)})})]},e.id)),e[60]=t,e[61]=r,e[62]=a,e[63]=E,e[64]=X):X=e[64];let ve;e[65]===X?ve=e[66]:(ve=(0,$.jsx)(`div`,{className:`space-y-4`,"data-testid":`settings-okf-rules-list`,children:X}),e[65]=X,e[66]=ve);let ye;return e[67]!==b||e[68]!==x||e[69]!==J||e[70]!==Y||e[71]!==S||e[72]!==ve||e[73]!==C||e[74]!==w?(ye=(0,$.jsxs)(`section`,{"aria-labelledby":b,className:x,"data-testid":S,children:[C,w,J,Y,ve]}),e[67]=b,e[68]=x,e[69]=J,e[70]=Y,e[71]=S,e[72]=ve,e[73]=C,e[74]=w,e[75]=ye):ye=e[75],ye}function wt(e){return(0,$.jsx)(St,{packId:e.packId,name:e.name},e.name)}function Tt(e){return e.id===`okf`}function Et(e){let t=(0,Z.c)(3),{enabled:n,gitState:r,issue:i}=e,a=i??(n&&r===`conflict`?`git-conflict`:n&&(r===`missing`||r===`unavailable`)?`git-unavailable`:null);if(a===null)return null;let o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(A,{"aria-hidden":`true`,className:`mt-0.5 size-4 shrink-0 text-amber-700 dark:text-amber-300`}),t[0]=o):o=t[0];let s;return t[1]===a?s=t[2]:(s=(0,$.jsxs)(`div`,{role:`status`,className:`flex gap-2 rounded-md border border-amber-500/40 bg-amber-500/10 px-3 py-2 text-sm`,"data-testid":`settings-okf-generate-index-status`,children:[o,(0,$.jsx)(`p`,{children:a===`git-conflict`?(0,$.jsx)(u,{id:`BVkqD9`}):a===`config-write`?(0,$.jsx)(u,{id:`j-o6Z2`}):a===`connection`?(0,$.jsx)(u,{id:`5w38tn`}):(0,$.jsx)(u,{id:`SIPelo`})})]}),t[1]=a,t[2]=s),s}function Dt(e){return e===void 0?[]:Array.isArray(e)?e:[e]}function Ot(e){let t=(0,Z.c)(20),{summary:n}=e;switch(n.kind){case`everything`:{let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(u,{id:`0zAhu6`}),t[0]=e):e=t[0],e}case`folder-recursive`:{let e;return t[1]===n.folder?e=t[2]:(e=(0,$.jsx)(u,{id:`OZavHH`,values:{0:n.folder}}),t[1]=n.folder,t[2]=e),e}case`folder-direct`:{let e;return t[3]===n.folder?e=t[4]:(e=(0,$.jsx)(u,{id:`CWjM1r`,values:{0:n.folder}}),t[3]=n.folder,t[4]=e),e}case`exact`:{let e;return t[5]===n.target?e=t[6]:(e=(0,$.jsx)(u,{id:`c3ZGrq`,values:{0:n.target}}),t[5]=n.target,t[6]=e),e}case`name-anywhere`:{let e;return t[7]===n.name?e=t[8]:(e=(0,$.jsx)(u,{id:`QLgdT6`,values:{0:n.name}}),t[7]=n.name,t[8]=e),e}case`folder-anywhere`:{let e;return t[9]===n.folder?e=t[10]:(e=(0,$.jsx)(u,{id:`_yB-24`,values:{0:n.folder}}),t[9]=n.folder,t[10]=e),e}case`folder-recursive-nested`:{let e;return t[11]!==n.folder||t[12]!==n.root?(e=(0,$.jsx)(u,{id:`paCw0z`,values:{0:n.folder,1:n.root}}),t[11]=n.folder,t[12]=n.root,t[13]=e):e=t[13],e}case`matches-nothing`:{let e;return t[14]===n.pattern?e=t[15]:(e=(0,$.jsx)(u,{id:`J2_JuX`,values:{0:n.pattern}}),t[14]=n.pattern,t[15]=e),e}case`invalid`:{let e;return t[16]===n.pattern?e=t[17]:(e=(0,$.jsx)(u,{id:`5aahsI`,values:{0:n.pattern}}),t[16]=n.pattern,t[17]=e),e}case`pattern`:{let e;return t[18]===n.pattern?e=t[19]:(e=(0,$.jsx)(u,{id:`SiFgBx`,values:{0:n.pattern}}),t[18]=n.pattern,t[19]=e),e}}}function kt(e){let t=(0,Z.c)(21),{file:n,appliesTo:r}=e,{includes:i,excludes:a}=q(r),o=H(),s;t[0]!==r||t[1]!==o?(s=o!==null&&o.pages.size>0?Je(r,o.pages):null,t[0]=r,t[1]=o,t[2]=s):s=t[2];let c=s,l;t[3]!==r||t[4]!==c?(l=c!==null&&c.matched===0&&Dt(r).length>0,t[3]=r,t[4]=c,t[5]=l):l=t[5];let d=l,f;t[6]!==r||t[7]!==o?(f=(o===null?[]:X(r,[...o.pages])).some(Mt),t[6]=r,t[7]=o,t[8]=f):f=t[8];let p=f,m=At,h=`frontmatter-schema-applies-summary-${n}`,g;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(u,{id:`p98xmP`}),t[9]=g):g=t[9];let _=i.length===0?(0,$.jsx)(Ot,{summary:{kind:`everything`}}):m(i),v=a.length>0?(0,$.jsxs)($.Fragment,{children:[` `,(0,$.jsx)(u,{id:`YGNRB5`}),` `,m(a)]}):null,y;t[10]!==c||t[11]!==n||t[12]!==d||t[13]!==p?(y=c===null?null:(0,$.jsxs)(`span`,{role:`status`,"aria-live":`polite`,className:d?`text-muted-foreground/70`:void 0,"data-testid":`frontmatter-schema-match-count-${n}`,children:[` `,(0,$.jsx)(u,{id:`Zs3d0w`,values:{0:c.total,1:c.matched,2:c.total,3:c.matched,4:c.total}}),p?(0,$.jsx)(`span`,{className:`ms-1 text-muted-foreground/60`,children:(0,$.jsx)(u,{id:`ni5Vqi`})}):null]}),t[10]=c,t[11]=n,t[12]=d,t[13]=p,t[14]=y):y=t[14];let b;return t[15]!==y||t[16]!==h||t[17]!==g||t[18]!==_||t[19]!==v?(b=(0,$.jsxs)(`p`,{className:`text-xs text-muted-foreground`,"data-testid":h,children:[g,` `,_,v,`.`,y]}),t[15]=y,t[16]=h,t[17]=g,t[18]=_,t[19]=v,t[20]=b):b=t[20],b}function At(e){return e.map(jt)}function jt(e,t){return(0,$.jsxs)(`span`,{children:[t>0?`, `:null,(0,$.jsx)(Ot,{summary:e})]},t)}function Mt(e){return q(e).includes.some(Nt)}function Nt(e){return e.kind===`exact`}function Pt(e){return e.enabled!==!1}function Ft(e){let t=(0,Z.c)(49),{file:n,mapping:r,disabled:i,globProblems:a,onToggle:o,onAppliesToChange:s,onDelete:c}=e,{_:l}=d(),f;t[0]===r?f=t[1]:(f=r!==void 0&&Pt(r),t[0]=r,t[1]=f);let p=f,m;t[2]===n?m=t[3]:(m=()=>{Ne(n),window.location.hash=V(n)},t[2]=n,t[3]=m);let v=m,y=`frontmatter-schema-row-${n}`,b;t[4]===n?b=t[5]:(b=(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-sm`,title:n,children:n}),t[4]=n,t[5]=b);let x;t[6]!==l||t[7]!==n?(x=l({id:`74C2zx`,values:{file:n}}),t[6]=l,t[7]=n,t[8]=x):x=t[8];let S=`frontmatter-schema-edit-${n}`,C,w;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(F,{"aria-hidden":!0,className:`size-3`}),w=(0,$.jsx)(u,{id:`ePK91l`}),t[9]=C,t[10]=w):(C=t[9],w=t[10]);let T;t[11]!==v||t[12]!==x||t[13]!==S?(T=(0,$.jsxs)(_,{variant:`outline`,size:`sm`,className:`h-6 shrink-0 gap-1 px-2 text-xs`,onClick:v,"aria-label":x,"data-testid":S,children:[C,w]}),t[11]=v,t[12]=x,t[13]=S,t[14]=T):T=t[14];let E;t[15]!==l||t[16]!==i||t[17]!==n||t[18]!==c?(E=c===null?null:(0,$.jsx)(_,{variant:`ghost`,size:`icon`,className:`h-5 w-5 shrink-0 text-muted-foreground opacity-60 hover:opacity-100`,disabled:i,"aria-label":l({id:`mHf8mp`,values:{file:n}}),onClick:c,"data-testid":`frontmatter-schema-delete-${n}`,children:(0,$.jsx)(I,{className:`size-3.5`})}),t[15]=l,t[16]=i,t[17]=n,t[18]=c,t[19]=E):E=t[19];let D;t[20]!==l||t[21]!==n||t[22]!==p?(D=l(p?{id:`mAzs2H`,values:{file:n}}:{id:`EO4Dt1`,values:{file:n}}),t[20]=l,t[21]=n,t[22]=p,t[23]=D):D=t[23];let O=`frontmatter-schema-toggle-${n}`,k;t[24]!==i||t[25]!==p||t[26]!==o||t[27]!==D||t[28]!==O?(k=(0,$.jsx)(g,{checked:p,disabled:i,"aria-label":D,onCheckedChange:o,"data-testid":O}),t[24]=i,t[25]=p,t[26]=o,t[27]=D,t[28]=O,t[29]=k):k=t[29];let A;t[30]!==E||t[31]!==k||t[32]!==T?(A=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[T,E,k]}),t[30]=E,t[31]=k,t[32]=T,t[33]=A):A=t[33];let j;t[34]!==A||t[35]!==b?(j=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[b,A]}),t[34]=A,t[35]=b,t[36]=j):j=t[36];let M;t[37]!==l||t[38]!==i||t[39]!==n||t[40]!==a||t[41]!==r?.appliesTo||t[42]!==p||t[43]!==s?(M=p?(0,$.jsxs)(`div`,{className:`mt-2 space-y-1 ps-1.5`,children:[(0,$.jsx)(h,{htmlFor:`frontmatter-schema-applies-${n}`,className:`text-xs`,children:(0,$.jsx)(u,{id:`5Y17qa`})}),(0,$.jsx)(Ye,{file:n,globs:Dt(r?.appliesTo),disabled:i,onChange:s}),(0,$.jsx)(je,{id:`frontmatter-schema-applies-${n}`,value:Dt(r?.appliesTo),grammar:`free-text`,disabled:i,entryProblems:a,onChange:s,placeholder:l({id:`R_U_A4`}),"aria-label":l({id:`a45f2c`})}),(0,$.jsx)(kt,{file:n,appliesTo:r?.appliesTo})]}):null,t[37]=l,t[38]=i,t[39]=n,t[40]=a,t[41]=r?.appliesTo,t[42]=p,t[43]=s,t[44]=M):M=t[44];let N;return t[45]!==j||t[46]!==M||t[47]!==y?(N=(0,$.jsxs)(`div`,{className:`px-3 py-2`,"data-testid":y,children:[j,M]}),t[45]=j,t[46]=M,t[47]=y,t[48]=N):N=t[48],N}function It(){let e=(0,Z.c)(100),{_:t}=d(),{contentRules:n,bindingReady:r,write:i}=lt(),{data:a}=ve(),{schemas:o}=Se(),s;e[0]===n?.frontmatter?.schemas?s=e[1]:(s=n?.frontmatter?.schemas??[],e[0]=n?.frontmatter?.schemas,e[1]=s);let c=s,[l,f]=(0,Q.useState)(``),[p,g]=(0,Q.useState)(!1),[y,b]=(0,Q.useState)(``),[x,S]=(0,Q.useState)(null),[C,w]=(0,Q.useState)(!1),T,E,D,O,k,A,j,M;if(e[2]!==t||e[3]!==r||e[4]!==p||e[5]!==a?.configProblems||e[6]!==o||e[7]!==c||e[8]!==y||e[9]!==l||e[10]!==i){let n=new Set(c.map(Bt)),s=(a?.configProblems??[]).filter(e=>e.startsWith(`frontmatter schema `)?[...n].some(t=>e.startsWith(`frontmatter schema ${t}:`)):e.startsWith(`invalid appliesTo glob`)||e.startsWith(`suspicious appliesTo glob`)||e.startsWith(`unmatched appliesTo glob`)?[...n].some(t=>e.endsWith(`(frontmatter mapping for ${t})`)):!1),d;e[19]===i?d=e[20]:(d=function(e){i({frontmatter:{schemas:e}})&&be()},e[19]=i,e[20]=d);let m=d,x=[...new Set([...o,...c.map(zt)])].sort(Rt),C=l.trim().toLowerCase(),N=x.filter(e=>C===``||e.toLowerCase().includes(C)),F=ot(s),I;e[21]===c?I=e[22]:(I=e=>{let t=at(e);if(t===null)return!0;let n=c.find(e=>e.file===t.file),r=n!==void 0&&Pt(n)&&Dt(n.appliesTo).includes(t.pattern),i=c.some(e=>e.file===t.file&&Dt(e.appliesTo).includes(t.pattern));return!r&&i},e[21]=c,e[22]=I);let L=s.filter(I),R;e[23]!==c||e[24]!==m?(R=function(e,t){if(!c.some(t=>t.file===e)){t&&m([...c,{file:e,enabled:!0}]);return}m(c.map(n=>n.file===e?{...n,enabled:t}:n))},e[23]=c,e[24]=m,e[25]=R):R=e[25];let ee=R,z;e[26]!==c||e[27]!==m?(z=function(e,t){m(c.map(n=>{if(n.file!==e)return n;if(t.length===0){let{appliesTo:e,...t}=n;return t}return{...n,appliesTo:t}}))},e[26]=c,e[27]=m,e[28]=z):z=e[28];let te=z,B;e[29]!==t||e[30]!==c||e[31]!==m?(B=async function(e){w(!0);let n=await ye(e);if(w(!1),!n.ok){v.error(n.errorDetail??t({id:`hgtsat`,values:{file:e}}));return}c.some(t=>t.file===e)&&m(c.filter(t=>t.file!==e)),S(null),v.success(t({id:`v_2_3v`,values:{file:e}}))},e[29]=t,e[30]=c,e[31]=m,e[32]=B):B=e[32],T=B;let ne;e[33]!==t||e[34]!==c||e[35]!==y||e[36]!==m?(ne=async function(){let e=y.trim();if(e===``||e.includes(`/`)||e.includes(`\\`))return;let n=`.ok/schemas/${e.endsWith(`.json`)?e:`${e}.schema.json`}`,r=await xe(n);if(!r.ok){v.error(r.errorDetail??t({id:`U88xbi`}));return}m([...c,{file:n,enabled:!0}]),g(!1),b(``)},e[33]=t,e[34]=c,e[35]=y,e[36]=m,e[37]=ne):ne=e[37];let re=ne;E=`settings-plugin-frontmatter-title`,D=`space-y-4`,O=`settings-plugin-frontmatter`;let ie;e[38]===t?ie=e[39]:(ie=t({id:`PVggyD`}),e[38]=t,e[39]=ie);let ae,oe,V;e[40]===Symbol.for(`react.memo_cache_sentinel`)?(ae=ht(`frontmatter`),oe=mt(`frontmatter`),V=(0,$.jsx)(u,{id:`V3iDh1`}),e[40]=ae,e[41]=oe,e[42]=V):(ae=e[40],oe=e[41],V=e[42]),e[43]===ie?k=e[44]:(k=(0,$.jsx)(Fe,{titleId:`settings-plugin-frontmatter-title`,title:ie,scope:`project`,beta:ae,docUrl:oe,children:V}),e[43]=ie,e[44]=k),A=L.length>0&&(0,$.jsxs)(`div`,{className:`space-y-1 rounded-md border border-amber-500/50 bg-amber-500/10 p-3 text-sm`,"data-testid":`frontmatter-config-problems`,children:[(0,$.jsx)(`p`,{className:`font-medium`,children:(0,$.jsx)(u,{id:`3BLniE`})}),(0,$.jsx)(`ul`,{className:`list-disc ps-5 text-muted-foreground`,children:L.map(Lt)})]});let H;e[45]===Symbol.for(`react.memo_cache_sentinel`)?(H=e=>f(e.target.value),e[45]=H):H=e[45];let U;e[46]===t?U=e[47]:(U=t({id:`37P2BJ`}),e[46]=t,e[47]=U);let W;e[48]===t?W=e[49]:(W=t({id:`_NWEid`}),e[48]=t,e[49]=W);let G;e[50]!==l||e[51]!==U||e[52]!==W?(G=(0,$.jsx)(se,{value:l,onChange:H,placeholder:U,"aria-label":W,className:`h-8`,"data-testid":`frontmatter-schema-search`}),e[50]=l,e[51]=U,e[52]=W,e[53]=G):G=e[53];let K;e[54]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,$.jsx)(ce,{asChild:!0,children:(0,$.jsxs)(_,{variant:`outline`,size:`sm`,className:`shrink-0`,"data-testid":`frontmatter-create-schema`,children:[(0,$.jsx)(P,{"aria-hidden":!0,className:`size-4`}),(0,$.jsx)(u,{id:`LQdLio`})]})}),e[54]=K):K=e[54];let de;e[55]===Symbol.for(`react.memo_cache_sentinel`)?(de=(0,$.jsx)(h,{htmlFor:`frontmatter-create-schema-name`,className:`text-xs`,children:(0,$.jsx)(u,{id:`PijLsG`})}),e[55]=de):de=e[55];let fe;e[56]===Symbol.for(`react.memo_cache_sentinel`)?(fe=e=>b(e.target.value),e[56]=fe):fe=e[56];let q;e[57]===re?q=e[58]:(q=e=>{e.key===`Enter`&&re()},e[57]=re,e[58]=q);let pe;e[59]!==y||e[60]!==q?(pe=(0,$.jsx)(se,{id:`frontmatter-create-schema-name`,value:y,onChange:fe,onKeyDown:q,placeholder:`doc`,"data-testid":`frontmatter-create-schema-name`}),e[59]=y,e[60]=q,e[61]=pe):pe=e[61];let he;e[62]!==r||e[63]!==y?(he=!r||y.trim()===``,e[62]=r,e[63]=y,e[64]=he):he=e[64];let J;e[65]===re?J=e[66]:(J=()=>void re(),e[65]=re,e[66]=J);let ge;e[67]===Symbol.for(`react.memo_cache_sentinel`)?(ge=(0,$.jsx)(u,{id:`hYgDIe`}),e[67]=ge):ge=e[67];let Y;e[68]!==he||e[69]!==J?(Y=(0,$.jsx)(_,{size:`sm`,disabled:he,onClick:J,"data-testid":`frontmatter-create-schema-save`,children:ge}),e[68]=he,e[69]=J,e[70]=Y):Y=e[70];let _e;e[71]!==pe||e[72]!==Y?(_e=(0,$.jsxs)(le,{align:`end`,className:`w-72 space-y-2`,children:[de,pe,Y]}),e[71]=pe,e[72]=Y,e[73]=_e):_e=e[73];let X;e[74]!==p||e[75]!==_e?(X=(0,$.jsxs)(ue,{open:p,onOpenChange:g,children:[K,_e]}),e[74]=p,e[75]=_e,e[76]=X):X=e[76],e[77]!==G||e[78]!==X?(j=(0,$.jsxs)(`div`,{className:`flex items-center gap-4`,children:[G,X]}),e[77]=G,e[78]=X,e[79]=j):j=e[79],M=N.length===0?(0,$.jsx)(`p`,{className:`rounded-md border border-dashed p-3 text-sm text-muted-foreground`,"data-testid":`frontmatter-schemas-empty`,children:x.length===0?(0,$.jsx)(u,{id:`cRm498`}):(0,$.jsx)(u,{id:`3HAPpl`})}):(0,$.jsx)(`div`,{className:`divide-y rounded-md border`,"data-testid":`frontmatter-schemas-list`,children:N.map(e=>(0,$.jsx)(Ft,{file:e,mapping:c.find(t=>t.file===e),disabled:!r,globProblems:F.get(e),onToggle:t=>ee(e,t),onAppliesToChange:t=>te(e,t),onDelete:me(e)?()=>S(e):null},e))}),e[2]=t,e[3]=r,e[4]=p,e[5]=a?.configProblems,e[6]=o,e[7]=c,e[8]=y,e[9]=l,e[10]=i,e[11]=T,e[12]=E,e[13]=D,e[14]=O,e[15]=k,e[16]=A,e[17]=j,e[18]=M}else T=e[11],E=e[12],D=e[13],O=e[14],k=e[15],A=e[16],j=e[17],M=e[18];let N=x!==null,F;e[80]===C?F=e[81]:(F=e=>{!e&&!C&&S(null)},e[80]=C,e[81]=F);let I;e[82]!==t||e[83]!==T||e[84]!==x||e[85]!==C?(I=x===null?null:(0,$.jsx)(Ce,{itemName:t({id:`qribBG`,values:{deleteTarget:x}}),isSubmitting:C,onDelete:()=>void T(x),customDescription:t({id:`NzPihF`,values:{deleteTarget:x}})}),e[82]=t,e[83]=T,e[84]=x,e[85]=C,e[86]=I):I=e[86];let L;e[87]!==I||e[88]!==N||e[89]!==F?(L=(0,$.jsx)(m,{open:N,onOpenChange:F,children:I}),e[87]=I,e[88]=N,e[89]=F,e[90]=L):L=e[90];let R;return e[91]!==E||e[92]!==L||e[93]!==D||e[94]!==O||e[95]!==k||e[96]!==A||e[97]!==j||e[98]!==M?(R=(0,$.jsxs)(`section`,{"aria-labelledby":E,className:D,"data-testid":O,children:[k,A,j,M,L]}),e[91]=E,e[92]=L,e[93]=D,e[94]=O,e[95]=k,e[96]=A,e[97]=j,e[98]=M,e[99]=R):R=e[99],R}function Lt(e){return(0,$.jsx)(`li`,{children:e},e)}function Rt(e,t){return e.localeCompare(t)}function zt(e){return e.file}function Bt(e){return e.file}export{It as FrontmatterPluginSection,gt as MarkdownlintPluginSection,Ct as OkfPluginSection,ft as ProjectPluginsManageSection,pt as UserPluginsManageSection};
@@ -1 +0,0 @@
1
- import{t as e}from"./ManagedArtifactProperties-oK6vCr7C.js";export{e as ManagedArtifactProperties};
@@ -1 +0,0 @@
1
- import"./saved-themes-client-BdzXiLZg.js";
@@ -1 +0,0 @@
1
- import{n as e}from"./field-controls-CAjZIoxe.js";export{e as SectionSkeleton};