@inkeep/open-knowledge 0.16.0-beta.1 → 0.16.0-beta.3

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 (137) 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 +5 -5
  4. package/dist/constants-CRYjinaK.mjs +2 -0
  5. package/dist/{dist-6j4x3nmy.mjs → dist-LI_R8UvH.mjs} +1 -1
  6. package/dist/{dist-Dcg4smYg.mjs → dist-wZSZMIoi.mjs} +5 -5
  7. package/dist/{gh-detect-wbzQ2Z5B.mjs → gh-detect-atRB6-LM.mjs} +2 -2
  8. package/dist/index.mjs +1 -1
  9. package/dist/init-6ubtN129.mjs +1 -0
  10. package/dist/{init-Bd49mCW9.mjs → init-cCb4BV-1.mjs} +4 -4
  11. package/dist/{loader-yyLYaVhN.mjs → loader-CeZuzoj9.mjs} +2 -2
  12. package/dist/loader-D_kZv5X6.mjs +1 -0
  13. package/dist/{preview-DF7SCtlt.mjs → preview-0zWEGOpg.mjs} +2 -2
  14. package/dist/preview-Dvm4NRoB.mjs +1 -0
  15. package/dist/public/assets/{ActivityModeContent-Csy-lYtm.js → ActivityModeContent-Bvn7Dxuo.js} +1 -1
  16. package/dist/public/assets/{ConsentDialogBody-B1OWvzyk.js → ConsentDialogBody-C3cfuPKS.js} +1 -1
  17. package/dist/public/assets/{DocumentContext-C8n-fc7S.js → DocumentContext-BK44vUOF.js} +8 -8
  18. package/dist/public/assets/{GraphPanel-DXELWJD9.js → GraphPanel-Bk3Uhgmb.js} +1 -1
  19. package/dist/public/assets/{McpConsentDialogBody-CtLqSrfK.js → McpConsentDialogBody-CG9ncDqv.js} +1 -1
  20. package/dist/public/assets/{OpenInAgentMenuRequestContext-BqvKATfT.js → OpenInAgentMenuRequestContext-Dn-T6fee.js} +1 -1
  21. package/dist/public/assets/{SettingsDialogBody-CIE_A6cd.js → SettingsDialogBody-B_f7ik71.js} +1 -1
  22. package/dist/public/assets/{SourceEditor-CPuDd_gu.js → SourceEditor-B0xjus9Q.js} +1 -1
  23. package/dist/public/assets/TerminalPanel-BZV-Qu7g.js +145 -0
  24. package/dist/public/assets/{architectureDiagram-Q4EWVU46-BmpF1HV_.js → architectureDiagram-Q4EWVU46-CGfN8F1x.js} +1 -1
  25. package/dist/public/assets/{blockDiagram-DXYQGD6D-Y5N7V1J5.js → blockDiagram-DXYQGD6D-CvqzFRrs.js} +1 -1
  26. package/dist/public/assets/{c4Diagram-AHTNJAMY-BSmJhnUa.js → c4Diagram-AHTNJAMY-CTuRG6XQ.js} +1 -1
  27. package/dist/public/assets/channel-Z7DKCHS6.js +1 -0
  28. package/dist/public/assets/{checkbox-xiDPPQX2.js → checkbox-LNtTTZgr.js} +1 -1
  29. package/dist/public/assets/{chunk-336JU56O-CEtCBsiw.js → chunk-336JU56O-BalL_f4q.js} +2 -2
  30. package/dist/public/assets/{chunk-426QAEUC-xq7mFc66.js → chunk-426QAEUC-CYmyjEj-.js} +1 -1
  31. package/dist/public/assets/{chunk-4TB4RGXK-NJg9d9aO.js → chunk-4TB4RGXK-RPiRkbnR.js} +1 -1
  32. package/dist/public/assets/{chunk-5FUZZQ4R-CG5QQXov.js → chunk-5FUZZQ4R-Bp1iPpGN.js} +1 -1
  33. package/dist/public/assets/{chunk-5PVQY5BW-BFfnnQIi.js → chunk-5PVQY5BW-D2kQfsEU.js} +1 -1
  34. package/dist/public/assets/{chunk-EDXVE4YY-9Eze-YYC.js → chunk-EDXVE4YY-9CmJcS4N.js} +1 -1
  35. package/dist/public/assets/{chunk-ENJZ2VHE-loXqYw4u.js → chunk-ENJZ2VHE-DGOBbqgN.js} +1 -1
  36. package/dist/public/assets/{chunk-ICPOFSXX-Czafge50.js → chunk-ICPOFSXX-Dy9JRPZu.js} +1 -1
  37. package/dist/public/assets/{chunk-OYMX7WX6-ZDun6vrr.js → chunk-OYMX7WX6-tBzsu7Qb.js} +1 -1
  38. package/dist/public/assets/{chunk-U2HBQHQK-CSsi_nQO.js → chunk-U2HBQHQK-DThlp4DR.js} +1 -1
  39. package/dist/public/assets/{chunk-X2U36JSP-DZKPmsbB.js → chunk-X2U36JSP-b_VUmOsG.js} +1 -1
  40. package/dist/public/assets/{chunk-YZCP3GAM-CGzfn7n5.js → chunk-YZCP3GAM-CcH_aTzQ.js} +1 -1
  41. package/dist/public/assets/{chunk-ZZ45TVLE-BUFYnqAJ.js → chunk-ZZ45TVLE-CwnCYU7J.js} +1 -1
  42. package/dist/public/assets/classDiagram-6PBFFD2Q-BlQyIadX.js +1 -0
  43. package/dist/public/assets/classDiagram-v2-HSJHXN6E-DeRDAZjJ.js +1 -0
  44. package/dist/public/assets/clone-B2gSWiE3.js +1 -0
  45. package/dist/public/assets/{collapsible-T5wuIIwr.js → collapsible-CiYR1NR5.js} +1 -1
  46. package/dist/public/assets/config-validation-events-BFEw_0e9.js +12 -0
  47. package/dist/public/assets/{dagre-BE13jSMp.js → dagre--CGfxwL9.js} +1 -1
  48. package/dist/public/assets/{dagre-KV5264BT-WCVh4vDo.js → dagre-KV5264BT-Bgd9TndA.js} +1 -1
  49. package/dist/public/assets/{diagram-5BDNPKRD-BwCuU4A5.js → diagram-5BDNPKRD-YjznpYlO.js} +1 -1
  50. package/dist/public/assets/{diagram-G4DWMVQ6-SnuxFspv.js → diagram-G4DWMVQ6-Dg1TlI6M.js} +1 -1
  51. package/dist/public/assets/{diagram-MMDJMWI5-diafFr4-.js → diagram-MMDJMWI5-BJ7btGpD.js} +1 -1
  52. package/dist/public/assets/{diagram-TYMM5635-CdBAiH95.js → diagram-TYMM5635-BlLor9aT.js} +1 -1
  53. package/dist/public/assets/{dialog-DAnNTn2Z.js → dialog-CtMCOb1V.js} +1 -1
  54. package/dist/public/assets/{dist-rGiGXpRA.js → dist-B-IVhlJQ.js} +1 -1
  55. package/dist/public/assets/{dist-0kDsAKH1.js → dist-B9B58-J_.js} +1 -1
  56. package/dist/public/assets/{dist-DZpmpDA6.js → dist-Bn0QvNGs.js} +1 -1
  57. package/dist/public/assets/{dist-De7_06z9.js → dist-Bui1BhSw.js} +1 -1
  58. package/dist/public/assets/{dist--WFXzgaP.js → dist-C0jOOVYt.js} +1 -1
  59. package/dist/public/assets/{dist-D2xbbdaz2.js → dist-CjXb6uie.js} +1 -1
  60. package/dist/public/assets/{dist-y6LKqPoG.js → dist-CkyAinZx.js} +1 -1
  61. package/dist/public/assets/{dist-CLIXxF0N.js → dist-D1rVZYi52.js} +1 -1
  62. package/dist/public/assets/{dist-ChSeukn9.js → dist-Debx6b6u.js} +1 -1
  63. package/dist/public/assets/{dist-B5LD73X3.js → dist-Mxq-zflt.js} +1 -1
  64. package/dist/public/assets/{dist-3YNajely.js → dist-j3LJSXW6.js} +1 -1
  65. package/dist/public/assets/{dist-C7u3xI_X.js → dist-pSQcUvmU.js} +1 -1
  66. package/dist/public/assets/{dist-DANsqx2U.js → dist-qcpgtxJO.js} +1 -1
  67. package/dist/public/assets/{erDiagram-SMLLAGMA-DkWe230D.js → erDiagram-SMLLAGMA-CbusJ6ai.js} +1 -1
  68. package/dist/public/assets/{flowDiagram-DWJPFMVM-XblEo1i_.js → flowDiagram-DWJPFMVM-n690iqHN.js} +1 -1
  69. package/dist/public/assets/{ganttDiagram-T4ZO3ILL-BSG2Y6qr.js → ganttDiagram-T4ZO3ILL-CZUxDSBT.js} +1 -1
  70. package/dist/public/assets/{gitGraphDiagram-UUTBAWPF-D20pkY4t.js → gitGraphDiagram-UUTBAWPF-C6qYFsUb.js} +1 -1
  71. package/dist/public/assets/{graphlib-DTVXa63Y.js → graphlib-CxIN2cpg.js} +1 -1
  72. package/dist/public/assets/index-C428DlDI.css +1 -0
  73. package/dist/public/assets/index-Cb45dDN8.js +2019 -0
  74. package/dist/public/assets/{infoDiagram-42DDH7IO-BHIgui2V.js → infoDiagram-42DDH7IO-Csns7giJ.js} +1 -1
  75. package/dist/public/assets/{ishikawaDiagram-UXIWVN3A-COySm_Yo.js → ishikawaDiagram-UXIWVN3A-2JnHk_DL.js} +1 -1
  76. package/dist/public/assets/{journeyDiagram-VCZTEJTY-DqyhAR_2.js → journeyDiagram-VCZTEJTY-W5sor6G2.js} +1 -1
  77. package/dist/public/assets/{kanban-definition-6JOO6SKY-Boud3nvx.js → kanban-definition-6JOO6SKY-BcHKSFEp.js} +1 -1
  78. package/dist/public/assets/{keyboard-shortcuts-DNu_Qz96.js → keyboard-shortcuts-CqOYTsQU.js} +1 -1
  79. package/dist/public/assets/{line-D5idNiE3.js → line-BPa9YIgj.js} +1 -1
  80. package/dist/public/assets/{mermaid.core-CiuNJTJu.js → mermaid.core-srYvzXpO.js} +3 -3
  81. package/dist/public/assets/{mindmap-definition-QFDTVHPH-DKb2WzOx.js → mindmap-definition-QFDTVHPH-TBwtPWpG.js} +1 -1
  82. package/dist/public/assets/{pieDiagram-DEJITSTG-Du2iXB7c.js → pieDiagram-DEJITSTG-iP5EAWOK.js} +1 -1
  83. package/dist/public/assets/{project-paths-BocrcwYE.js → project-paths-By95zyI0.js} +1 -1
  84. package/dist/public/assets/{prop-types-CDQJyL6r.js → prop-types-CqTEMXrE.js} +1 -1
  85. package/dist/public/assets/{propagation-api-CuTE-jIt.js → propagation-api-qAYD7s-v.js} +1 -1
  86. package/dist/public/assets/{quadrantDiagram-34T5L4WZ-BXGwjhjK.js → quadrantDiagram-34T5L4WZ-CRzlf10O.js} +1 -1
  87. package/dist/public/assets/{requirementDiagram-MS252O5E-be2pdwJN.js → requirementDiagram-MS252O5E-Bg9QnuLQ.js} +1 -1
  88. package/dist/public/assets/{sankeyDiagram-XADWPNL6-B1I7kyez.js → sankeyDiagram-XADWPNL6-Cl4zPODp.js} +1 -1
  89. package/dist/public/assets/{sequenceDiagram-FGHM5R23-PxdXu77F.js → sequenceDiagram-FGHM5R23-B9LxUMHK.js} +1 -1
  90. package/dist/public/assets/{stateDiagram-FHFEXIEX-C34JyCcn.js → stateDiagram-FHFEXIEX-C8mEBLKf.js} +1 -1
  91. package/dist/public/assets/stateDiagram-v2-QKLJ7IA2-60n5CD_7.js +1 -0
  92. package/dist/public/assets/{target-navigation-intent-Bveb0MPP.js → target-navigation-intent-DkDGdaxv.js} +1 -1
  93. package/dist/public/assets/{telemetry-impl-DoqF2oxU.js → telemetry-impl-B69NnnZ-.js} +1 -1
  94. package/dist/public/assets/terminal-theme-BhdZI3O9.js +1 -0
  95. package/dist/public/assets/{textarea-BuWgZ9oe.js → textarea-BeqA3EKD.js} +1 -1
  96. package/dist/public/assets/{timeline-definition-GMOUNBTQ-C8WcLn1-.js → timeline-definition-GMOUNBTQ-BdBq3Z-G.js} +1 -1
  97. package/dist/public/assets/{toggle-group-DsOyo0jm.js → toggle-group-Df7XaPvr.js} +1 -1
  98. package/dist/public/assets/{tooltip-DhvUSgK7.js → tooltip-Bp4cM4E8.js} +1 -1
  99. package/dist/public/assets/{vennDiagram-DHZGUBPP-CdzC1YU4.js → vennDiagram-DHZGUBPP-CJt2-p2B.js} +1 -1
  100. package/dist/public/assets/{wardleyDiagram-NUSXRM2D-TZAW47QU.js → wardleyDiagram-NUSXRM2D-CB_N5pVU.js} +1 -1
  101. package/dist/public/assets/{xychartDiagram-5P7HB3ND-Cu0DCktc.js → xychartDiagram-5P7HB3ND-DtVg628z.js} +1 -1
  102. package/dist/public/index.html +34 -34
  103. package/dist/{repair-launch-json-IjDH1MEo.mjs → repair-launch-json-D2xWr0yE.mjs} +2 -2
  104. package/dist/{repair-mcp-configs-DP8S99Yv.mjs → repair-mcp-configs-ovMudNql.mjs} +2 -2
  105. package/dist/repair-skills-DN4CoxxN.mjs +1 -0
  106. package/dist/{repair-skills-DsHqeRKO.mjs → repair-skills-DzMAdfno.mjs} +2 -2
  107. package/dist/{server-lock-BpjJj3OD-DlYx_Xz-.mjs → server-lock-BpjJj3OD-Cia38KR1.mjs} +56 -56
  108. package/dist/server-lock-CyhBidkz-tjTa2PuV.mjs +1 -0
  109. package/dist/{src-6vQuUOgy.mjs → src-DPU6_Fcs.mjs} +2 -2
  110. package/dist/{start-DnZWr4Pv.mjs → start-DbXSdBjV.mjs} +2 -2
  111. package/dist/start-DqRZ-r6P.mjs +1 -0
  112. package/dist/{write-project-skill-C5HoLkCk.mjs → write-project-skill-DcTlTtX0.mjs} +2 -2
  113. package/package.json +1 -1
  114. package/dist/constants-PrZJ-CTv.mjs +0 -2
  115. package/dist/init-CmEFD2yV.mjs +0 -1
  116. package/dist/loader-BMjYHLZp.mjs +0 -1
  117. package/dist/preview-DVsrv_hV.mjs +0 -1
  118. package/dist/public/assets/TerminalPanel-Cs6SOojP.js +0 -145
  119. package/dist/public/assets/channel-CxWPLabj.js +0 -1
  120. package/dist/public/assets/classDiagram-6PBFFD2Q-r3Z_tLK2.js +0 -1
  121. package/dist/public/assets/classDiagram-v2-HSJHXN6E-f9ZLpuaz.js +0 -1
  122. package/dist/public/assets/clone-te25EaCJ.js +0 -1
  123. package/dist/public/assets/config-validation-events-C0vw-EiG.js +0 -12
  124. package/dist/public/assets/index-BnOmMrYn.js +0 -2019
  125. package/dist/public/assets/index-CZh9fj9x.css +0 -1
  126. package/dist/public/assets/stateDiagram-v2-QKLJ7IA2-CXoHW-xm.js +0 -1
  127. package/dist/public/assets/trash-2-C957VvQL.js +0 -1
  128. package/dist/repair-skills-DrcVDbk1.mjs +0 -1
  129. package/dist/server-lock-CyhBidkz-DUTkjNDG.mjs +0 -1
  130. package/dist/start-DQUEhZj2.mjs +0 -1
  131. /package/dist/public/assets/{dist-FC83wUOI.js → dist-CUqyztDT.js} +0 -0
  132. /package/dist/public/assets/{dist-QyEeuecv.js → dist-rFfpDyC7.js} +0 -0
  133. /package/dist/public/assets/{katex-BnO72pd2.js → katex-DBuiuHex.js} +0 -0
  134. /package/dist/public/assets/{mcp-consent-store-DWTjYi5_.js → mcp-consent-store-BmlKYN7O.js} +0 -0
  135. /package/dist/public/assets/{stex-CKKDmQmi.js → stex-CGHNatva.js} +0 -0
  136. /package/dist/public/assets/{trace-api-CbLDdnQA.js → trace-api-DPMyR1_m.js} +0 -0
  137. /package/dist/public/assets/{w3c-keyname-CIO0QKme.js → w3c-keyname-nBRha8PK.js} +0 -0
@@ -1,3 +1,3 @@
1
- import{Oa as e}from"./server-lock-BpjJj3OD-DlYx_Xz-.mjs";import{execFileSync as t}from"node:child_process";import{existsSync as n,mkdirSync as r,readFileSync as i,writeFileSync as a}from"node:fs";import{dirname as o,join as s}from"node:path";import{homedir as c}from"node:os";var l=e();const u=`open-knowledge`;function d(e){try{e()}catch{}}var f=class{backend=`keyring`;constructor(e){this.onKeychainRead=e}async get(e){let{Entry:t}=await import(`@napi-rs/keyring`),n;try{n=new t(u,e).getPassword()}catch(t){return d(()=>this.onKeychainRead?.({kind:`read-error`,host:e,error:t instanceof Error?t.name:`unknown`})),null}if(n==null)return d(()=>this.onKeychainRead?.({kind:`absent`,host:e})),null;try{return JSON.parse(n)}catch{return d(()=>this.onKeychainRead?.({kind:`corrupt-entry`,host:e,error:`corrupt-entry`})),null}}async set(e,t,n,r){let{Entry:i}=await import(`@napi-rs/keyring`),a=new i(u,e),o={login:t,token:n,...r};a.setPassword(JSON.stringify(o))}async clear(e){let{Entry:t}=await import(`@napi-rs/keyring`);try{new t(u,e).deletePassword()}catch{}}},p=class{backend=`file`;authFile;constructor(e){this.authFile=e??s(c(),`.ok`,`auth.yml`)}read(){if(!n(this.authFile))return{};try{return(0,l.parse)(i(this.authFile,`utf-8`))??{}}catch(e){let t=e instanceof Error?e.message:`unknown error`;return process.stderr.write(`[auth] Failed to parse ${this.authFile}: ${t}. Starting with empty credentials.\n`),{}}}write(e){let t=o(this.authFile);n(t)||r(t,{recursive:!0,mode:448}),a(this.authFile,(0,l.stringify)(e),{mode:384})}async get(e){return this.read()[e]??null}async set(e,t,n,r){let i=this.read();i[e]={login:t,token:n,...r},this.write(i)}async clear(e){let t=this.read();delete t[e],this.write(t)}},m=class{backend=`keyring`;constructor(e,t){this.keychain=e,this.file=t}async get(e){let t=await this.keychain.get(e);if(t!=null)return t;let n=await this.file.get(e);if(n==null)return null;try{await this.keychain.set(e,n.login,n.token,{gitProtocol:n.gitProtocol,name:n.name,email:n.email}),await this.file.clear(e),process.stderr.write(`[auth] migrated ${e} credential from ~/.ok/auth.yml to the OS keychain\n`)}catch{}return n}set(e,t,n,r){return this.keychain.set(e,t,n,r)}async clear(e){await this.keychain.clear(e),await this.file.get(e)!=null&&await this.file.clear(e)}};async function h(e,t){try{let{Entry:n}=await import(`@napi-rs/keyring`);return new n(u,`__probe__`),process.stderr.write(`[auth] token storage: OS keychain
1
+ import{Oa as e}from"./server-lock-BpjJj3OD-Cia38KR1.mjs";import{execFileSync as t}from"node:child_process";import{existsSync as n,mkdirSync as r,readFileSync as i,writeFileSync as a}from"node:fs";import{dirname as o,join as s}from"node:path";import{homedir as c}from"node:os";var l=e();const u=`open-knowledge`;function d(e){try{e()}catch{}}var f=class{backend=`keyring`;constructor(e){this.onKeychainRead=e}async get(e){let{Entry:t}=await import(`@napi-rs/keyring`),n;try{n=new t(u,e).getPassword()}catch(t){return d(()=>this.onKeychainRead?.({kind:`read-error`,host:e,error:t instanceof Error?t.name:`unknown`})),null}if(n==null)return d(()=>this.onKeychainRead?.({kind:`absent`,host:e})),null;try{return JSON.parse(n)}catch{return d(()=>this.onKeychainRead?.({kind:`corrupt-entry`,host:e,error:`corrupt-entry`})),null}}async set(e,t,n,r){let{Entry:i}=await import(`@napi-rs/keyring`),a=new i(u,e),o={login:t,token:n,...r};a.setPassword(JSON.stringify(o))}async clear(e){let{Entry:t}=await import(`@napi-rs/keyring`);try{new t(u,e).deletePassword()}catch{}}},p=class{backend=`file`;authFile;constructor(e){this.authFile=e??s(c(),`.ok`,`auth.yml`)}read(){if(!n(this.authFile))return{};try{return(0,l.parse)(i(this.authFile,`utf-8`))??{}}catch(e){let t=e instanceof Error?e.message:`unknown error`;return process.stderr.write(`[auth] Failed to parse ${this.authFile}: ${t}. Starting with empty credentials.\n`),{}}}write(e){let t=o(this.authFile);n(t)||r(t,{recursive:!0,mode:448}),a(this.authFile,(0,l.stringify)(e),{mode:384})}async get(e){return this.read()[e]??null}async set(e,t,n,r){let i=this.read();i[e]={login:t,token:n,...r},this.write(i)}async clear(e){let t=this.read();delete t[e],this.write(t)}},m=class{backend=`keyring`;constructor(e,t){this.keychain=e,this.file=t}async get(e){let t=await this.keychain.get(e);if(t!=null)return t;let n=await this.file.get(e);if(n==null)return null;try{await this.keychain.set(e,n.login,n.token,{gitProtocol:n.gitProtocol,name:n.name,email:n.email}),await this.file.clear(e),process.stderr.write(`[auth] migrated ${e} credential from ~/.ok/auth.yml to the OS keychain\n`)}catch{}return n}set(e,t,n,r){return this.keychain.set(e,t,n,r)}async clear(e){await this.keychain.clear(e),await this.file.get(e)!=null&&await this.file.clear(e)}};async function h(e,t){try{let{Entry:n}=await import(`@napi-rs/keyring`);return new n(u,`__probe__`),process.stderr.write(`[auth] token storage: OS keychain
2
2
  `),d(()=>t?.onBackendSelected?.({backend:`keyring`})),new m(new f(t?.onKeychainRead),new p(e))}catch(n){let r=n instanceof Error?`${n.name}: ${n.message}`:String(n);return process.stderr.write(`[auth] token storage: file (~/.ok/auth.yml) — OS keychain unavailable: ${r}\n`),d(()=>t?.onBackendSelected?.({backend:`file`,reason:r})),new p(e)}}function g(e){let t=null;return function(){if(t)return t;let n=2e3;return t=(async()=>{let t=null,r=new Promise(r=>{t=setTimeout(()=>{process.stderr.write(`[auth] token storage: keyring init exceeded ${n}ms; falling back to file (~/.ok/auth.yml)\n`),r(new p(e))},n)});try{return await Promise.race([h(e),r])}catch{return new p(e)}finally{t!==null&&clearTimeout(t)}})(),t}}function _(e){let t=g(e);return{async get(e){let n=await(await t()).get(e);return n===null?null:{token:n.token}}}}function v(e){let t=g(e);return{backend:`file`,async get(e){return(await t()).get(e)},async set(e,n,r,i){return(await t()).set(e,n,r,i)},async clear(e){return(await t()).clear(e)}}}async function y(e,t){let n=[],r=new p(t);await r.get(e)!=null&&(await r.clear(e),n.push(`file`));try{let{Entry:t}=await import(`@napi-rs/keyring`);new t(u,`__probe__`);let r=new f;await r.get(e)!=null&&(await r.clear(e),n.push(`keychain`))}catch{}return{touched:n}}const b=[`/opt/homebrew/bin/gh`,`/usr/local/bin/gh`,`/opt/local/bin/gh`,`/snap/bin/gh`,`/usr/bin/gh`];function x(e,r={}){let i=r._exec??t,a=r._fileExists??n,o=[`auth`,`token`,...e?[`--hostname`,e]:[]],s=[`gh`,...b.filter(a)];for(let e of s)try{let t=i(e,o,{encoding:`utf-8`,stdio:[`ignore`,`pipe`,`pipe`],timeout:5e3}).toString().trim();if(t.length>0)return{available:!0,token:t}}catch{}return{available:!1}}export{v as a,_ as i,y as n,h as r,x as t};
3
- //# sourceMappingURL=gh-detect-wbzQ2Z5B.mjs.map
3
+ //# sourceMappingURL=gh-detect-atRB6-LM.mjs.map
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{i as e,r as t,t as n}from"./gh-detect-wbzQ2Z5B.mjs";import{A as r,C as i,D as a,E as o,O as s,S as c,T as l,_ as u,b as d,d as f,g as p,h as m,i as h,j as g,k as _,o as v,r as y,s as b,t as x,w as S,x as C,y as w}from"./init-Bd49mCW9.mjs";import{d as T,f as E,m as D,n as O,p as k,r as A,t as j}from"./src-6vQuUOgy.mjs";import{n as M}from"./loader-yyLYaVhN.mjs";import{n as N}from"./preview-DF7SCtlt.mjs";import{n as P,t as F}from"./mcp-migrate-event-D0NrGjvc.mjs";export{a as ALL_EDITOR_IDS,s as EDITOR_LABELS,_ as EDITOR_TARGETS,x as LAUNCH_CONFIG_NAME,y as LAUNCH_UI_CHAIN_SENTINEL,h as LAUNCH_UI_CHAIN_V1,d as addOkPathsToGitExclude,r as buildManagedServerEntry,F as buildMcpConfigMigrateEvent,v as classifyExistingMcpEntry,t as createTokenStore,n as detectGh,b as detectInstalledEditors,C as formatTrackedRemediation,c as getExcludedOkPaths,i as getOkArtifactPaths,g as isEntryUpToDate,M as loadConfig,e as makeLazyProbeTokenStore,T as parseGitHubBlobUrl,E as parseGitHubShareUrl,k as parseGitHubTreeUrl,D as parseGitUrl,N as previewContent,S as probeTrackedOkPaths,f as readExistingMcpEntry,l as readSharingMode,o as removeOkPathsFromGitExclude,w as resolveProjectRoot,A as runStop,m as scaffoldLaunchJson,P as truncatePriorEntry,O as validateLocalFolderForShare,p as writeEditorMcpConfig,j as writeProjectAiIntegrations,u as writeUserMcpConfigs};
1
+ import{i as e,r as t,t as n}from"./gh-detect-atRB6-LM.mjs";import{A as r,C as i,D as a,E as o,O as s,S as c,T as l,_ as u,b as d,d as f,g as p,h as m,i as h,j as g,k as _,o as v,r as y,s as b,t as x,w as S,x as C,y as w}from"./init-cCb4BV-1.mjs";import{d as T,f as E,m as D,n as O,p as k,r as A,t as j}from"./src-DPU6_Fcs.mjs";import{n as M}from"./loader-CeZuzoj9.mjs";import{n as N}from"./preview-0zWEGOpg.mjs";import{n as P,t as F}from"./mcp-migrate-event-D0NrGjvc.mjs";export{a as ALL_EDITOR_IDS,s as EDITOR_LABELS,_ as EDITOR_TARGETS,x as LAUNCH_CONFIG_NAME,y as LAUNCH_UI_CHAIN_SENTINEL,h as LAUNCH_UI_CHAIN_V1,d as addOkPathsToGitExclude,r as buildManagedServerEntry,F as buildMcpConfigMigrateEvent,v as classifyExistingMcpEntry,t as createTokenStore,n as detectGh,b as detectInstalledEditors,C as formatTrackedRemediation,c as getExcludedOkPaths,i as getOkArtifactPaths,g as isEntryUpToDate,M as loadConfig,e as makeLazyProbeTokenStore,T as parseGitHubBlobUrl,E as parseGitHubShareUrl,k as parseGitHubTreeUrl,D as parseGitUrl,N as previewContent,S as probeTrackedOkPaths,f as readExistingMcpEntry,l as readSharingMode,o as removeOkPathsFromGitExclude,w as resolveProjectRoot,A as runStop,m as scaffoldLaunchJson,P as truncatePriorEntry,O as validateLocalFolderForShare,p as writeEditorMcpConfig,j as writeProjectAiIntegrations,u as writeUserMcpConfigs};
@@ -0,0 +1 @@
1
+ import{m as e}from"./init-cCb4BV-1.mjs";export{e as runInit};
@@ -1,4 +1,4 @@
1
- import{a as e,s as t,t as n}from"./chunk-C94x7I9S.mjs";import{r,t as i}from"./esm-BLMtE3s6.mjs";import{Ft as a,St as o,kr as s,ln as c,v as l,xt as u,y as d}from"./server-lock-BpjJj3OD-DlYx_Xz-.mjs";import{F as f,Gn as p,Ln as m,Qi as h,Qn as g,Un as _,W as v,Wn as y,Yi as b,Yn as x,fn as S,on as C,ra as w,zi as ee}from"./dist-Dcg4smYg.mjs";import"./constants-PrZJ-CTv.mjs";import{t as T}from"./is-object-Cie0xXKD.mjs";import{i as E,o as D,r as O,s as k,t as A}from"./colors-8SzMRIVy.mjs";import{t as te}from"./preview-DF7SCtlt.mjs";import{n as ne,t as j}from"./write-project-skill-C5HoLkCk.mjs";import{execFileSync as re}from"node:child_process";import{existsSync as M,mkdirSync as ie,readFileSync as N,realpathSync as ae,writeFileSync as P}from"node:fs";import F,{basename as I,dirname as L,isAbsolute as oe,join as R,posix as se,relative as z,resolve as ce,sep as le,win32 as ue}from"node:path";import B from"node:process";import{homedir as V}from"node:os";import{randomUUID as de}from"node:crypto";import{stripVTControlCharacters as fe,styleText as H}from"node:util";import{AsyncLocalStorage as pe,AsyncResource as me}from"node:async_hooks";import{createServer as he,request as ge}from"node:http";import*as _e from"node:readline";import{connect as ve}from"node:net";function ye(){return B.platform.startsWith(`win`)?!!B.env.CI||!!B.env.WT_SESSION||!!B.env.TERMINUS_SUBLIME||B.env.ConEmuTask===`{cmd::Cmder}`||B.env.TERM_PROGRAM===`Terminus-Sublime`||B.env.TERM_PROGRAM===`vscode`||B.env.TERM===`xterm-256color`||B.env.TERM===`alacritty`||B.env.TERMINAL_EMULATOR===`JetBrains-JediTerm`:B.env.TERM!==`linux`}const be={circleQuestionMark:`(?)`,questionMarkPrefix:`(?)`,square:`█`,squareDarkShade:`▓`,squareMediumShade:`▒`,squareLightShade:`░`,squareTop:`▀`,squareBottom:`▄`,squareLeft:`▌`,squareRight:`▐`,squareCenter:`■`,bullet:`●`,dot:`․`,ellipsis:`…`,pointerSmall:`›`,triangleUp:`▲`,triangleUpSmall:`▴`,triangleDown:`▼`,triangleDownSmall:`▾`,triangleLeftSmall:`◂`,triangleRightSmall:`▸`,home:`⌂`,heart:`♥`,musicNote:`♪`,musicNoteBeamed:`♫`,arrowUp:`↑`,arrowDown:`↓`,arrowLeft:`←`,arrowRight:`→`,arrowLeftRight:`↔`,arrowUpDown:`↕`,almostEqual:`≈`,notEqual:`≠`,lessOrEqual:`≤`,greaterOrEqual:`≥`,identical:`≡`,infinity:`∞`,subscriptZero:`₀`,subscriptOne:`₁`,subscriptTwo:`₂`,subscriptThree:`₃`,subscriptFour:`₄`,subscriptFive:`₅`,subscriptSix:`₆`,subscriptSeven:`₇`,subscriptEight:`₈`,subscriptNine:`₉`,oneHalf:`½`,oneThird:`⅓`,oneQuarter:`¼`,oneFifth:`⅕`,oneSixth:`⅙`,oneEighth:`⅛`,twoThirds:`⅔`,twoFifths:`⅖`,threeQuarters:`¾`,threeFifths:`⅗`,threeEighths:`⅜`,fourFifths:`⅘`,fiveSixths:`⅚`,fiveEighths:`⅝`,sevenEighths:`⅞`,line:`─`,lineBold:`━`,lineDouble:`═`,lineDashed0:`┄`,lineDashed1:`┅`,lineDashed2:`┈`,lineDashed3:`┉`,lineDashed4:`╌`,lineDashed5:`╍`,lineDashed6:`╴`,lineDashed7:`╶`,lineDashed8:`╸`,lineDashed9:`╺`,lineDashed10:`╼`,lineDashed11:`╾`,lineDashed12:`−`,lineDashed13:`–`,lineDashed14:`‐`,lineDashed15:`⁃`,lineVertical:`│`,lineVerticalBold:`┃`,lineVerticalDouble:`║`,lineVerticalDashed0:`┆`,lineVerticalDashed1:`┇`,lineVerticalDashed2:`┊`,lineVerticalDashed3:`┋`,lineVerticalDashed4:`╎`,lineVerticalDashed5:`╏`,lineVerticalDashed6:`╵`,lineVerticalDashed7:`╷`,lineVerticalDashed8:`╹`,lineVerticalDashed9:`╻`,lineVerticalDashed10:`╽`,lineVerticalDashed11:`╿`,lineDownLeft:`┐`,lineDownLeftArc:`╮`,lineDownBoldLeftBold:`┓`,lineDownBoldLeft:`┒`,lineDownLeftBold:`┑`,lineDownDoubleLeftDouble:`╗`,lineDownDoubleLeft:`╖`,lineDownLeftDouble:`╕`,lineDownRight:`┌`,lineDownRightArc:`╭`,lineDownBoldRightBold:`┏`,lineDownBoldRight:`┎`,lineDownRightBold:`┍`,lineDownDoubleRightDouble:`╔`,lineDownDoubleRight:`╓`,lineDownRightDouble:`╒`,lineUpLeft:`┘`,lineUpLeftArc:`╯`,lineUpBoldLeftBold:`┛`,lineUpBoldLeft:`┚`,lineUpLeftBold:`┙`,lineUpDoubleLeftDouble:`╝`,lineUpDoubleLeft:`╜`,lineUpLeftDouble:`╛`,lineUpRight:`└`,lineUpRightArc:`╰`,lineUpBoldRightBold:`┗`,lineUpBoldRight:`┖`,lineUpRightBold:`┕`,lineUpDoubleRightDouble:`╚`,lineUpDoubleRight:`╙`,lineUpRightDouble:`╘`,lineUpDownLeft:`┤`,lineUpBoldDownBoldLeftBold:`┫`,lineUpBoldDownBoldLeft:`┨`,lineUpDownLeftBold:`┥`,lineUpBoldDownLeftBold:`┩`,lineUpDownBoldLeftBold:`┪`,lineUpDownBoldLeft:`┧`,lineUpBoldDownLeft:`┦`,lineUpDoubleDownDoubleLeftDouble:`╣`,lineUpDoubleDownDoubleLeft:`╢`,lineUpDownLeftDouble:`╡`,lineUpDownRight:`├`,lineUpBoldDownBoldRightBold:`┣`,lineUpBoldDownBoldRight:`┠`,lineUpDownRightBold:`┝`,lineUpBoldDownRightBold:`┡`,lineUpDownBoldRightBold:`┢`,lineUpDownBoldRight:`┟`,lineUpBoldDownRight:`┞`,lineUpDoubleDownDoubleRightDouble:`╠`,lineUpDoubleDownDoubleRight:`╟`,lineUpDownRightDouble:`╞`,lineDownLeftRight:`┬`,lineDownBoldLeftBoldRightBold:`┳`,lineDownLeftBoldRightBold:`┯`,lineDownBoldLeftRight:`┰`,lineDownBoldLeftBoldRight:`┱`,lineDownBoldLeftRightBold:`┲`,lineDownLeftRightBold:`┮`,lineDownLeftBoldRight:`┭`,lineDownDoubleLeftDoubleRightDouble:`╦`,lineDownDoubleLeftRight:`╥`,lineDownLeftDoubleRightDouble:`╤`,lineUpLeftRight:`┴`,lineUpBoldLeftBoldRightBold:`┻`,lineUpLeftBoldRightBold:`┷`,lineUpBoldLeftRight:`┸`,lineUpBoldLeftBoldRight:`┹`,lineUpBoldLeftRightBold:`┺`,lineUpLeftRightBold:`┶`,lineUpLeftBoldRight:`┵`,lineUpDoubleLeftDoubleRightDouble:`╩`,lineUpDoubleLeftRight:`╨`,lineUpLeftDoubleRightDouble:`╧`,lineUpDownLeftRight:`┼`,lineUpBoldDownBoldLeftBoldRightBold:`╋`,lineUpDownBoldLeftBoldRightBold:`╈`,lineUpBoldDownLeftBoldRightBold:`╇`,lineUpBoldDownBoldLeftRightBold:`╊`,lineUpBoldDownBoldLeftBoldRight:`╉`,lineUpBoldDownLeftRight:`╀`,lineUpDownBoldLeftRight:`╁`,lineUpDownLeftBoldRight:`┽`,lineUpDownLeftRightBold:`┾`,lineUpBoldDownBoldLeftRight:`╂`,lineUpDownLeftBoldRightBold:`┿`,lineUpBoldDownLeftBoldRight:`╃`,lineUpBoldDownLeftRightBold:`╄`,lineUpDownBoldLeftBoldRight:`╅`,lineUpDownBoldLeftRightBold:`╆`,lineUpDoubleDownDoubleLeftDoubleRightDouble:`╬`,lineUpDoubleDownDoubleLeftRight:`╫`,lineUpDownLeftDoubleRightDouble:`╪`,lineCross:`╳`,lineBackslash:`╲`,lineSlash:`╱`},xe={tick:`✔`,info:`ℹ`,warning:`⚠`,cross:`✘`,squareSmall:`◻`,squareSmallFilled:`◼`,circle:`◯`,circleFilled:`◉`,circleDotted:`◌`,circleDouble:`◎`,circleCircle:`ⓞ`,circleCross:`ⓧ`,circlePipe:`Ⓘ`,radioOn:`◉`,radioOff:`◯`,checkboxOn:`☒`,checkboxOff:`☐`,checkboxCircleOn:`ⓧ`,checkboxCircleOff:`Ⓘ`,pointer:`❯`,triangleUpOutline:`△`,triangleLeft:`◀`,triangleRight:`▶`,lozenge:`◆`,lozengeOutline:`◇`,hamburger:`☰`,smiley:`㋡`,mustache:`෴`,star:`★`,play:`▶`,nodejs:`⬢`,oneSeventh:`⅐`,oneNinth:`⅑`,oneTenth:`⅒`},Se={tick:`√`,info:`i`,warning:`‼`,cross:`×`,squareSmall:`□`,squareSmallFilled:`■`,circle:`( )`,circleFilled:`(*)`,circleDotted:`( )`,circleDouble:`( )`,circleCircle:`(○)`,circleCross:`(×)`,circlePipe:`(│)`,radioOn:`(*)`,radioOff:`( )`,checkboxOn:`[×]`,checkboxOff:`[ ]`,checkboxCircleOn:`(×)`,checkboxCircleOff:`( )`,pointer:`>`,triangleUpOutline:`∆`,triangleLeft:`◄`,triangleRight:`►`,lozenge:`♦`,lozengeOutline:`◊`,hamburger:`≡`,smiley:`☺`,mustache:`┌─┐`,star:`✶`,play:`►`,nodejs:`♦`,oneSeventh:`1/7`,oneNinth:`1/9`,oneTenth:`1/10`},Ce={...be,...xe},we={...be,...Se},U=ye()?Ce:we;Object.entries(xe);var Te=n(((t,n)=>{n.exports=i;function r(t){let n={defaultWidth:0,output:process.stdout,tty:e(`tty`)};return t?(Object.keys(n).forEach(function(e){t[e]||(t[e]=n[e])}),t):n}function i(e){let t=r(e);if(t.output.getWindowSize)return t.output.getWindowSize()[0]||t.defaultWidth;if(t.tty.getWindowSize)return t.tty.getWindowSize()[1]||t.defaultWidth;if(t.output.columns)return t.output.columns;if(process.env.CLI_WIDTH){let e=parseInt(process.env.CLI_WIDTH,10);if(!isNaN(e)&&e!==0)return e}return t.defaultWidth}}));const Ee=(()=>{let e=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;return t=>{let n=0;for(e.lastIndex=0;e.test(t);)n+=1;return t.length-n}})(),De=e=>e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510,Oe=e=>e===8987||e===9001||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12771||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=19903||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e>=131072&&e<=196605||e>=196608&&e<=262141,ke=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y,Ae=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,je=/(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}]){1,1000}/uy,Me=/\t{1,1000}/y,Ne=/[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/uy,Pe=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,Fe=/\p{M}+/gu,Ie={limit:1/0,ellipsis:``},Le=(e,t={},n={})=>{let r=t.limit??1/0,i=t.ellipsis??``,a=t?.ellipsisWidth??(i?Le(i,Ie,n).width:0),o=n.controlWidth??0,s=n.tabWidth??8,c=n.emojiWidth??2,l=n.regularWidth??1,u=n.wideWidth??2,d=[[Pe,l],[ke,0],[Ae,o],[Me,s],[Ne,c],[je,u]],f=0,p=0,m=e.length,h=0,g=!1,_=m,v=Math.max(0,r-a),y=0,b=0,x=0,S=0;outer:for(;;){if(b>y||p>=m&&p>f){let t=e.slice(y,b)||e.slice(f,p);h=0;for(let e of t.replaceAll(Fe,``)){let t=e.codePointAt(0)||0;if(S=De(t)?2:Oe(t)?u:l,x+S>v&&(_=Math.min(_,Math.max(y,f)+h)),x+S>r){g=!0;break outer}h+=e.length,x+=S}y=b=0}if(p>=m)break outer;for(let t=0,n=d.length;t<n;t++){let[n,i]=d[t];if(n.lastIndex=p,n.test(e)){if(h=n===je?Ee(e.slice(p,n.lastIndex)):n===Ne?1:n.lastIndex-p,S=h*i,x+S>v&&(_=Math.min(_,p+Math.floor((v-x)/i))),x+S>r){g=!0;break outer}x+=S,y=f,b=p,p=f=n.lastIndex;continue outer}}p+=1}return{width:g?v:x,index:g?_:m,truncated:g,ellipsed:g&&r>=a}},Re={limit:1/0,ellipsis:``,ellipsisWidth:0},W=(e,t={})=>Le(e,Re,t).width,ze=`]8;;`,Be=RegExp(`(?:\\[(?<code>\\d+)m|\\${ze}(?<uri>.*))`,`y`),Ve=e=>{if(e>=30&&e<=37||e>=90&&e<=97)return 39;if(e>=40&&e<=47||e>=100&&e<=107)return 49;if(e===1||e===2)return 22;if(e===3)return 23;if(e===4)return 24;if(e===7)return 27;if(e===8)return 28;if(e===9)return 29;if(e===0)return 0},He=e=>`[${e}m`,Ue=e=>`${ze}${e}`,We=(e,t,n)=>{let r=t[Symbol.iterator](),i=!1,a=!1,o=e.at(-1),s=o===void 0?0:W(o),c=r.next(),l=r.next(),u=0;for(;!c.done;){let o=c.value,d=W(o);s+d<=n?e[e.length-1]+=o:(e.push(o),s=0),(o===`\x1B`||o===`›`)&&(i=!0,a=t.startsWith(ze,u+1)),i?a?o===`\x07`&&(i=!1,a=!1):o===`m`&&(i=!1):(s+=d,s===n&&!l.done&&(e.push(``),s=0)),c=l,l=r.next(),u+=o.length}o=e.at(-1),!s&&o!==void 0&&o.length&&e.length>1&&(e[e.length-2]+=e.pop())},Ge=e=>{let t=e.split(` `),n=t.length;for(;n&&!W(t[n-1]);)n--;return n===t.length?e:t.slice(0,n).join(` `)+t.slice(n).join(``)},Ke=(e,t,n={})=>{if(n.trim!==!1&&e.trim()===``)return``;let r=``,i,a,o=e.split(` `),s=[``],c=0;for(let e=0;e<o.length;e++){let r=o[e];if(n.trim!==!1){let e=s.at(-1)??``,t=e.trimStart();e.length!==t.length&&(s[s.length-1]=t,c=W(t))}e!==0&&(c>=t&&(n.wordWrap===!1||n.trim===!1)&&(s.push(``),c=0),(c||n.trim===!1)&&(s[s.length-1]+=` `,c++));let i=W(r);if(n.hard&&i>t){let e=t-c,n=1+Math.floor((i-e-1)/t);Math.floor((i-1)/t)<n&&s.push(``),We(s,r,t),c=W(s.at(-1)??``);continue}if(c+i>t&&c&&i){if(n.wordWrap===!1&&c<t){We(s,r,t),c=W(s.at(-1)??``);continue}s.push(``),c=0}if(c+i>t&&n.wordWrap===!1){We(s,r,t),c=W(s.at(-1)??``);continue}s[s.length-1]+=r,c+=i}n.trim!==!1&&(s=s.map(e=>Ge(e)));let l=s.join(`
1
+ import{a as e,s as t,t as n}from"./chunk-C94x7I9S.mjs";import{r,t as i}from"./esm-BLMtE3s6.mjs";import{Ft as a,St as o,kr as s,ln as c,v as l,xt as u,y as d}from"./server-lock-BpjJj3OD-Cia38KR1.mjs";import{F as f,Gn as p,Ln as m,Qi as h,Qn as g,Un as _,W as v,Wn as y,Yi as b,Yn as x,fn as S,on as C,ra as w,zi as ee}from"./dist-wZSZMIoi.mjs";import"./constants-CRYjinaK.mjs";import{t as T}from"./is-object-Cie0xXKD.mjs";import{i as E,o as D,r as O,s as k,t as A}from"./colors-8SzMRIVy.mjs";import{t as te}from"./preview-0zWEGOpg.mjs";import{n as ne,t as j}from"./write-project-skill-DcTlTtX0.mjs";import{execFileSync as re}from"node:child_process";import{existsSync as M,mkdirSync as ie,readFileSync as N,realpathSync as ae,writeFileSync as P}from"node:fs";import F,{basename as I,dirname as L,isAbsolute as oe,join as R,posix as se,relative as z,resolve as ce,sep as le,win32 as ue}from"node:path";import B from"node:process";import{homedir as V}from"node:os";import{randomUUID as de}from"node:crypto";import{stripVTControlCharacters as fe,styleText as H}from"node:util";import{AsyncLocalStorage as pe,AsyncResource as me}from"node:async_hooks";import{createServer as he,request as ge}from"node:http";import*as _e from"node:readline";import{connect as ve}from"node:net";function ye(){return B.platform.startsWith(`win`)?!!B.env.CI||!!B.env.WT_SESSION||!!B.env.TERMINUS_SUBLIME||B.env.ConEmuTask===`{cmd::Cmder}`||B.env.TERM_PROGRAM===`Terminus-Sublime`||B.env.TERM_PROGRAM===`vscode`||B.env.TERM===`xterm-256color`||B.env.TERM===`alacritty`||B.env.TERMINAL_EMULATOR===`JetBrains-JediTerm`:B.env.TERM!==`linux`}const be={circleQuestionMark:`(?)`,questionMarkPrefix:`(?)`,square:`█`,squareDarkShade:`▓`,squareMediumShade:`▒`,squareLightShade:`░`,squareTop:`▀`,squareBottom:`▄`,squareLeft:`▌`,squareRight:`▐`,squareCenter:`■`,bullet:`●`,dot:`․`,ellipsis:`…`,pointerSmall:`›`,triangleUp:`▲`,triangleUpSmall:`▴`,triangleDown:`▼`,triangleDownSmall:`▾`,triangleLeftSmall:`◂`,triangleRightSmall:`▸`,home:`⌂`,heart:`♥`,musicNote:`♪`,musicNoteBeamed:`♫`,arrowUp:`↑`,arrowDown:`↓`,arrowLeft:`←`,arrowRight:`→`,arrowLeftRight:`↔`,arrowUpDown:`↕`,almostEqual:`≈`,notEqual:`≠`,lessOrEqual:`≤`,greaterOrEqual:`≥`,identical:`≡`,infinity:`∞`,subscriptZero:`₀`,subscriptOne:`₁`,subscriptTwo:`₂`,subscriptThree:`₃`,subscriptFour:`₄`,subscriptFive:`₅`,subscriptSix:`₆`,subscriptSeven:`₇`,subscriptEight:`₈`,subscriptNine:`₉`,oneHalf:`½`,oneThird:`⅓`,oneQuarter:`¼`,oneFifth:`⅕`,oneSixth:`⅙`,oneEighth:`⅛`,twoThirds:`⅔`,twoFifths:`⅖`,threeQuarters:`¾`,threeFifths:`⅗`,threeEighths:`⅜`,fourFifths:`⅘`,fiveSixths:`⅚`,fiveEighths:`⅝`,sevenEighths:`⅞`,line:`─`,lineBold:`━`,lineDouble:`═`,lineDashed0:`┄`,lineDashed1:`┅`,lineDashed2:`┈`,lineDashed3:`┉`,lineDashed4:`╌`,lineDashed5:`╍`,lineDashed6:`╴`,lineDashed7:`╶`,lineDashed8:`╸`,lineDashed9:`╺`,lineDashed10:`╼`,lineDashed11:`╾`,lineDashed12:`−`,lineDashed13:`–`,lineDashed14:`‐`,lineDashed15:`⁃`,lineVertical:`│`,lineVerticalBold:`┃`,lineVerticalDouble:`║`,lineVerticalDashed0:`┆`,lineVerticalDashed1:`┇`,lineVerticalDashed2:`┊`,lineVerticalDashed3:`┋`,lineVerticalDashed4:`╎`,lineVerticalDashed5:`╏`,lineVerticalDashed6:`╵`,lineVerticalDashed7:`╷`,lineVerticalDashed8:`╹`,lineVerticalDashed9:`╻`,lineVerticalDashed10:`╽`,lineVerticalDashed11:`╿`,lineDownLeft:`┐`,lineDownLeftArc:`╮`,lineDownBoldLeftBold:`┓`,lineDownBoldLeft:`┒`,lineDownLeftBold:`┑`,lineDownDoubleLeftDouble:`╗`,lineDownDoubleLeft:`╖`,lineDownLeftDouble:`╕`,lineDownRight:`┌`,lineDownRightArc:`╭`,lineDownBoldRightBold:`┏`,lineDownBoldRight:`┎`,lineDownRightBold:`┍`,lineDownDoubleRightDouble:`╔`,lineDownDoubleRight:`╓`,lineDownRightDouble:`╒`,lineUpLeft:`┘`,lineUpLeftArc:`╯`,lineUpBoldLeftBold:`┛`,lineUpBoldLeft:`┚`,lineUpLeftBold:`┙`,lineUpDoubleLeftDouble:`╝`,lineUpDoubleLeft:`╜`,lineUpLeftDouble:`╛`,lineUpRight:`└`,lineUpRightArc:`╰`,lineUpBoldRightBold:`┗`,lineUpBoldRight:`┖`,lineUpRightBold:`┕`,lineUpDoubleRightDouble:`╚`,lineUpDoubleRight:`╙`,lineUpRightDouble:`╘`,lineUpDownLeft:`┤`,lineUpBoldDownBoldLeftBold:`┫`,lineUpBoldDownBoldLeft:`┨`,lineUpDownLeftBold:`┥`,lineUpBoldDownLeftBold:`┩`,lineUpDownBoldLeftBold:`┪`,lineUpDownBoldLeft:`┧`,lineUpBoldDownLeft:`┦`,lineUpDoubleDownDoubleLeftDouble:`╣`,lineUpDoubleDownDoubleLeft:`╢`,lineUpDownLeftDouble:`╡`,lineUpDownRight:`├`,lineUpBoldDownBoldRightBold:`┣`,lineUpBoldDownBoldRight:`┠`,lineUpDownRightBold:`┝`,lineUpBoldDownRightBold:`┡`,lineUpDownBoldRightBold:`┢`,lineUpDownBoldRight:`┟`,lineUpBoldDownRight:`┞`,lineUpDoubleDownDoubleRightDouble:`╠`,lineUpDoubleDownDoubleRight:`╟`,lineUpDownRightDouble:`╞`,lineDownLeftRight:`┬`,lineDownBoldLeftBoldRightBold:`┳`,lineDownLeftBoldRightBold:`┯`,lineDownBoldLeftRight:`┰`,lineDownBoldLeftBoldRight:`┱`,lineDownBoldLeftRightBold:`┲`,lineDownLeftRightBold:`┮`,lineDownLeftBoldRight:`┭`,lineDownDoubleLeftDoubleRightDouble:`╦`,lineDownDoubleLeftRight:`╥`,lineDownLeftDoubleRightDouble:`╤`,lineUpLeftRight:`┴`,lineUpBoldLeftBoldRightBold:`┻`,lineUpLeftBoldRightBold:`┷`,lineUpBoldLeftRight:`┸`,lineUpBoldLeftBoldRight:`┹`,lineUpBoldLeftRightBold:`┺`,lineUpLeftRightBold:`┶`,lineUpLeftBoldRight:`┵`,lineUpDoubleLeftDoubleRightDouble:`╩`,lineUpDoubleLeftRight:`╨`,lineUpLeftDoubleRightDouble:`╧`,lineUpDownLeftRight:`┼`,lineUpBoldDownBoldLeftBoldRightBold:`╋`,lineUpDownBoldLeftBoldRightBold:`╈`,lineUpBoldDownLeftBoldRightBold:`╇`,lineUpBoldDownBoldLeftRightBold:`╊`,lineUpBoldDownBoldLeftBoldRight:`╉`,lineUpBoldDownLeftRight:`╀`,lineUpDownBoldLeftRight:`╁`,lineUpDownLeftBoldRight:`┽`,lineUpDownLeftRightBold:`┾`,lineUpBoldDownBoldLeftRight:`╂`,lineUpDownLeftBoldRightBold:`┿`,lineUpBoldDownLeftBoldRight:`╃`,lineUpBoldDownLeftRightBold:`╄`,lineUpDownBoldLeftBoldRight:`╅`,lineUpDownBoldLeftRightBold:`╆`,lineUpDoubleDownDoubleLeftDoubleRightDouble:`╬`,lineUpDoubleDownDoubleLeftRight:`╫`,lineUpDownLeftDoubleRightDouble:`╪`,lineCross:`╳`,lineBackslash:`╲`,lineSlash:`╱`},xe={tick:`✔`,info:`ℹ`,warning:`⚠`,cross:`✘`,squareSmall:`◻`,squareSmallFilled:`◼`,circle:`◯`,circleFilled:`◉`,circleDotted:`◌`,circleDouble:`◎`,circleCircle:`ⓞ`,circleCross:`ⓧ`,circlePipe:`Ⓘ`,radioOn:`◉`,radioOff:`◯`,checkboxOn:`☒`,checkboxOff:`☐`,checkboxCircleOn:`ⓧ`,checkboxCircleOff:`Ⓘ`,pointer:`❯`,triangleUpOutline:`△`,triangleLeft:`◀`,triangleRight:`▶`,lozenge:`◆`,lozengeOutline:`◇`,hamburger:`☰`,smiley:`㋡`,mustache:`෴`,star:`★`,play:`▶`,nodejs:`⬢`,oneSeventh:`⅐`,oneNinth:`⅑`,oneTenth:`⅒`},Se={tick:`√`,info:`i`,warning:`‼`,cross:`×`,squareSmall:`□`,squareSmallFilled:`■`,circle:`( )`,circleFilled:`(*)`,circleDotted:`( )`,circleDouble:`( )`,circleCircle:`(○)`,circleCross:`(×)`,circlePipe:`(│)`,radioOn:`(*)`,radioOff:`( )`,checkboxOn:`[×]`,checkboxOff:`[ ]`,checkboxCircleOn:`(×)`,checkboxCircleOff:`( )`,pointer:`>`,triangleUpOutline:`∆`,triangleLeft:`◄`,triangleRight:`►`,lozenge:`♦`,lozengeOutline:`◊`,hamburger:`≡`,smiley:`☺`,mustache:`┌─┐`,star:`✶`,play:`►`,nodejs:`♦`,oneSeventh:`1/7`,oneNinth:`1/9`,oneTenth:`1/10`},Ce={...be,...xe},we={...be,...Se},U=ye()?Ce:we;Object.entries(xe);var Te=n(((t,n)=>{n.exports=i;function r(t){let n={defaultWidth:0,output:process.stdout,tty:e(`tty`)};return t?(Object.keys(n).forEach(function(e){t[e]||(t[e]=n[e])}),t):n}function i(e){let t=r(e);if(t.output.getWindowSize)return t.output.getWindowSize()[0]||t.defaultWidth;if(t.tty.getWindowSize)return t.tty.getWindowSize()[1]||t.defaultWidth;if(t.output.columns)return t.output.columns;if(process.env.CLI_WIDTH){let e=parseInt(process.env.CLI_WIDTH,10);if(!isNaN(e)&&e!==0)return e}return t.defaultWidth}}));const Ee=(()=>{let e=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;return t=>{let n=0;for(e.lastIndex=0;e.test(t);)n+=1;return t.length-n}})(),De=e=>e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510,Oe=e=>e===8987||e===9001||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12771||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=19903||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e>=131072&&e<=196605||e>=196608&&e<=262141,ke=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y,Ae=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,je=/(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}]){1,1000}/uy,Me=/\t{1,1000}/y,Ne=/[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/uy,Pe=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,Fe=/\p{M}+/gu,Ie={limit:1/0,ellipsis:``},Le=(e,t={},n={})=>{let r=t.limit??1/0,i=t.ellipsis??``,a=t?.ellipsisWidth??(i?Le(i,Ie,n).width:0),o=n.controlWidth??0,s=n.tabWidth??8,c=n.emojiWidth??2,l=n.regularWidth??1,u=n.wideWidth??2,d=[[Pe,l],[ke,0],[Ae,o],[Me,s],[Ne,c],[je,u]],f=0,p=0,m=e.length,h=0,g=!1,_=m,v=Math.max(0,r-a),y=0,b=0,x=0,S=0;outer:for(;;){if(b>y||p>=m&&p>f){let t=e.slice(y,b)||e.slice(f,p);h=0;for(let e of t.replaceAll(Fe,``)){let t=e.codePointAt(0)||0;if(S=De(t)?2:Oe(t)?u:l,x+S>v&&(_=Math.min(_,Math.max(y,f)+h)),x+S>r){g=!0;break outer}h+=e.length,x+=S}y=b=0}if(p>=m)break outer;for(let t=0,n=d.length;t<n;t++){let[n,i]=d[t];if(n.lastIndex=p,n.test(e)){if(h=n===je?Ee(e.slice(p,n.lastIndex)):n===Ne?1:n.lastIndex-p,S=h*i,x+S>v&&(_=Math.min(_,p+Math.floor((v-x)/i))),x+S>r){g=!0;break outer}x+=S,y=f,b=p,p=f=n.lastIndex;continue outer}}p+=1}return{width:g?v:x,index:g?_:m,truncated:g,ellipsed:g&&r>=a}},Re={limit:1/0,ellipsis:``,ellipsisWidth:0},W=(e,t={})=>Le(e,Re,t).width,ze=`]8;;`,Be=RegExp(`(?:\\[(?<code>\\d+)m|\\${ze}(?<uri>.*))`,`y`),Ve=e=>{if(e>=30&&e<=37||e>=90&&e<=97)return 39;if(e>=40&&e<=47||e>=100&&e<=107)return 49;if(e===1||e===2)return 22;if(e===3)return 23;if(e===4)return 24;if(e===7)return 27;if(e===8)return 28;if(e===9)return 29;if(e===0)return 0},He=e=>`[${e}m`,Ue=e=>`${ze}${e}`,We=(e,t,n)=>{let r=t[Symbol.iterator](),i=!1,a=!1,o=e.at(-1),s=o===void 0?0:W(o),c=r.next(),l=r.next(),u=0;for(;!c.done;){let o=c.value,d=W(o);s+d<=n?e[e.length-1]+=o:(e.push(o),s=0),(o===`\x1B`||o===`›`)&&(i=!0,a=t.startsWith(ze,u+1)),i?a?o===`\x07`&&(i=!1,a=!1):o===`m`&&(i=!1):(s+=d,s===n&&!l.done&&(e.push(``),s=0)),c=l,l=r.next(),u+=o.length}o=e.at(-1),!s&&o!==void 0&&o.length&&e.length>1&&(e[e.length-2]+=e.pop())},Ge=e=>{let t=e.split(` `),n=t.length;for(;n&&!W(t[n-1]);)n--;return n===t.length?e:t.slice(0,n).join(` `)+t.slice(n).join(``)},Ke=(e,t,n={})=>{if(n.trim!==!1&&e.trim()===``)return``;let r=``,i,a,o=e.split(` `),s=[``],c=0;for(let e=0;e<o.length;e++){let r=o[e];if(n.trim!==!1){let e=s.at(-1)??``,t=e.trimStart();e.length!==t.length&&(s[s.length-1]=t,c=W(t))}e!==0&&(c>=t&&(n.wordWrap===!1||n.trim===!1)&&(s.push(``),c=0),(c||n.trim===!1)&&(s[s.length-1]+=` `,c++));let i=W(r);if(n.hard&&i>t){let e=t-c,n=1+Math.floor((i-e-1)/t);Math.floor((i-1)/t)<n&&s.push(``),We(s,r,t),c=W(s.at(-1)??``);continue}if(c+i>t&&c&&i){if(n.wordWrap===!1&&c<t){We(s,r,t),c=W(s.at(-1)??``);continue}s.push(``),c=0}if(c+i>t&&n.wordWrap===!1){We(s,r,t),c=W(s.at(-1)??``);continue}s[s.length-1]+=r,c+=i}n.trim!==!1&&(s=s.map(e=>Ge(e)));let l=s.join(`
2
2
  `),u=!1;for(let e=0;e<l.length;e++){let t=l[e];if(r+=t,u)u=!1;else if(u=t>=`\ud800`&&t<=`\udbff`,u)continue;if(t===`\x1B`||t===`›`){Be.lastIndex=e+1;let t=Be.exec(l)?.groups;if(t?.code!==void 0){let e=Number.parseFloat(t.code);i=e===39?void 0:e}else t?.uri!==void 0&&(a=t.uri.length===0?void 0:t.uri)}if(l[e+1]===`
3
3
  `){a&&(r+=Ue(``));let e=i?Ve(i):void 0;i&&e&&(r+=He(e))}else t===`
4
4
  `&&(i&&Ve(i)&&(r+=He(i)),a&&(r+=Ue(a)))}return r},qe=/\r?\n/;function Je(e,t,n){return String(e).normalize().split(qe).map(e=>Ke(e,t,n)).join(`
@@ -291,7 +291,7 @@ let bi=/^[a-z0-9-_]+$/i;function xi(e){let t=typeof e;if(t===`object`){if(Array.
291
291
  `}}return e&&(a||!o)&&(a=a?`[${e}]\n${a}`:`[${e}]`),a&&o?`${a}\n${o}`:a||o}function ki(e,{maxDepth:t=1e3,numbersAsFloat:n=!1}={}){if(xi(e)!==`object`)throw TypeError(`stringify can only be called with an object`);let r=Oi(0,e,``,t,n);return r[r.length-1]===`
292
292
  `?r:r+`
293
293
  `}function Ai(e,t){let n=z(t,e);return n.length>0&&!n.startsWith(`..`)&&!oe(n)}const ji=e=>{try{let t=re(`git`,[`rev-parse`,`--show-toplevel`],{cwd:e,encoding:`utf8`,stdio:[`ignore`,`pipe`,`ignore`]}).trim();return t.length>0?t:null}catch{return null}};function Mi(e,t={}){let n=t.homeDir??V(),r=t.gitTopLevel??ji,i=ce(e),a;try{a=ae(i)}catch{a=i}let o=a,s=0;for(;s<30&&!(o===n||o===`/`||o===``);){if(g(o))return{projectRoot:o,defaultContentDir:`.`,ancestorPromoted:o!==a,gitRootPromoted:!1};let e=L(o);if(e===o)break;o=e,s+=1}let c=r(a);return c!==null&&Ai(c,n)?c===a?{projectRoot:i,defaultContentDir:`.`,ancestorPromoted:!1,gitRootPromoted:!1}:{projectRoot:c,defaultContentDir:`.`,ancestorPromoted:!1,gitRootPromoted:!0}:{projectRoot:i,defaultContentDir:`.`,ancestorPromoted:!1,gitRootPromoted:!1}}function $(e,t,n,r,i){let a=`urn:uuid:${de()}`;if(e.headersSent||e.writableEnded||e.destroyed){console.error(`[ok ui] emitProblem called after headers sent — suppressed`,{type:n,status:t,instance:a});return}let o={type:n,title:r,status:t,instance:a,...i===void 0?{}:{detail:i}},s=c.safeParse(o);if(!s.success){console.error(`[ok ui] emitProblem produced an invalid ProblemDetails body:`,{issues:s.error.issues,originalStatus:t,body:o}),e.writeHead(500,{"Content-Type":`application/problem+json`,"X-Content-Type-Options":`nosniff`,"Cache-Control":`no-store`}),e.end(JSON.stringify({type:`urn:ok:error:internal-server-error`,title:`Internal server error.`,status:500,instance:a}));return}e.writeHead(t,{"Content-Type":`application/problem+json`,"X-Content-Type-Options":`nosniff`,"Cache-Control":`no-store`}),e.end(JSON.stringify(o))}const Ni=1e4;function Pi(e,t){let n=e.socket?.remoteAddress;if(n!==void 0&&!x(n))return $(t,403,`urn:ok:error:loopback-required`,`Request must originate from a loopback address.`),!0;if(!p(e.headers.host))return $(t,403,`urn:ok:error:host-not-allowed`,`Host header is not in the loopback allowlist.`),!0;let r=e.headers.origin;return r!==void 0&&!y(r)?($(t,403,`urn:ok:error:invalid-origin`,`Origin header is not in the loopback allowlist.`),!0):!1}const Fi=3e4;function Ii(e,t){let n=e.socket?.remoteAddress;if(n!==void 0&&!x(n)||!p(e.headers.host))return t.destroy(),!0;let r=e.headers.origin;return typeof r==`string`&&!y(r)?(t.destroy(),!0):!1}function Li(e,t,n,r,i,a){a.add(t),t.once(`close`,()=>a.delete(t));let o=ve({host:r,port:i,timeout:Ni});a.add(o),o.once(`close`,()=>a.delete(o));let s=!1,c=n=>{if(!s){if(s=!0,n!==void 0){let t=n.err;console.warn(JSON.stringify({event:n.event,upstreamHost:r,upstreamPort:i,url:e.url,code:t instanceof Error?t.code:void 0,message:t instanceof Error?t.message:void 0}))}try{o.destroy()}catch{}try{t.destroy()}catch{}}};o.once(`connect`,()=>{o.setTimeout(0);let a=[`${e.method??`GET`} ${e.url??`/`} HTTP/1.1`,`host: ${r}:${i}`];for(let[t,n]of Object.entries(e.headers))if(t.toLowerCase()!==`host`&&n!==void 0)if(Array.isArray(n))for(let e of n)a.push(`${t}: ${e}`);else a.push(`${t}: ${n}`);try{o.write(`${a.join(`\r
294
- `)}\r\n\r\n`),n.length>0&&o.write(n)}catch(e){c({event:`proxy-upgrade-handshake-write-failed`,err:e});return}o.on(`data`,e=>{t.writable&&t.write(e)}),t.on(`data`,e=>{o.writable&&o.write(e)})}),o.once(`timeout`,()=>{c({event:`proxy-upgrade-upstream-connect-timeout`})}),o.on(`error`,e=>c({event:`proxy-upgrade-upstream-error`,err:e})),t.on(`error`,e=>c({event:`proxy-upgrade-client-error`,err:e})),o.once(`close`,()=>c()),t.once(`close`,()=>c())}const Ri=[`connection`,`keep-alive`,`proxy-authenticate`,`proxy-authorization`,`te`,`trailer`,`transfer-encoding`,`upgrade`,`cookie`,`set-cookie`];async function zi(e){let t=e.upstreamTimeoutMs??Ni,n=new Set,r=he((n,r)=>{Pi(n,r)||Vi(n,r,e.upstreamHost,e.upstreamPort,t)});r.on(`upgrade`,(t,r,i)=>{Ii(t,r)||Li(t,r,i,e.upstreamHost,e.upstreamPort,n)}),await new Promise((t,n)=>{let i=e=>n(e);r.once(`error`,i),r.listen(e.listenPort,e.host,()=>{r.off(`error`,i),t()})});let i=r.address();return{httpServer:r,port:typeof i==`object`&&i?i.port:e.listenPort,close:()=>new Promise(e=>{for(let e of n)try{e.destroy()}catch{}n.clear(),r.close(()=>e()),r.closeIdleConnections()})}}function Bi(e,t,n){Vi(e,t,n.upstreamHost,n.upstreamPort,n.upstreamTimeoutMs??Ni)}function Vi(e,t,n,r,i){let a={...e.headers};delete a.host;for(let e of Ri)delete a[e];e.setTimeout(Fi,()=>{if(t.headersSent)try{t.end()}catch{}else try{$(t,408,`urn:ok:error:request-timeout`,`Proxy request exceeded the per-request deadline.`,`Slow-loris-class: client did not finish within ${Fi/1e3}s.`)}catch{}try{e.socket?.destroy()}catch{}});let o=ge({host:n,port:r,method:e.method,path:e.url,headers:{...a,host:`${n}:${r}`}},e=>{let n={...e.headers};for(let e of Ri)delete n[e];t.writeHead(e.statusCode??502,n),e.pipe(t),e.once(`error`,()=>{try{t.end()}catch{}})});i>0&&o.setTimeout(i,()=>{if(!t.headersSent)$(t,504,`urn:ok:error:gateway-timeout`,`Upstream did not respond before the gateway deadline.`,`Upstream timeout: ${i/1e3}s elapsed without a response.`);else try{t.end()}catch{}o.destroy()}),o.on(`error`,()=>{if(!t.headersSent)$(t,502,`urn:ok:error:collab-server-not-running`,`Collab server is unreachable.`,`Upstream connection failed or dropped before a response was received.`);else try{t.end()}catch{}}),e.on(`error`,()=>{o.destroy()}),e.pipe(o)}const Hi=39847,Ui=39848;async function Wi(e){await Promise.all(e.map(e=>new Promise(t=>{e.close(()=>t())})))}async function Gi(e){let{existsSync:t}=await import(`node:fs`),{createServer:n}=await import(`node:http`),{resolve:r}=await import(`node:path`),{acquireUiLock:i,clearArmedPaneTarget:c,createAssetServeMiddleware:l,createContentFilter:u,readArmedPaneTarget:f,readServerLock:p,releaseUiLock:m,updateUiLockPort:h}=await import(`./dist-6j4x3nmy.mjs`),{default:g}=await import(`./build-CCDQyip-.mjs`),{resolveContentDir:_,resolveLockDir:v}=await import(`./dist-6j4x3nmy.mjs`),y=_(e.config,e.cwd),b=v(e.cwd);i(b,{port:0,worktreeRoot:e.cwd});let x=import.meta.dirname??new URL(`.`,import.meta.url).pathname,S=[r(x,`public`),r(x,`../../app/dist`),r(x,`../../../app/dist`)],C=e.assetDir??S.find(e=>t(e)),w=C?g(C,{single:!0,gzip:!0,etag:!0,dev:!0,extensions:[]}):null,ee=t(y)?l({contentFilter:u({projectDir:e.cwd,contentDir:y}),contentSirv:g(y,{dotfiles:!1,dev:!0,extensions:[]}),inlineExtensions:a,assetExtensions:d,blocklistExtensions:o}):null,T=e.port,E=null,D=(e,t)=>{let n=e.url?.split(`?`)[0];if(e.method===`GET`&&(n===`/`||n===``)){let e=f(b);if(e&&!/[\r\n]/.test(e)){c(b),t.statusCode=302,t.setHeader(`Location`,`/${e}`),t.setHeader(`Cache-Control`,`no-store`),t.end();return}}if((n===`/`||n===``)&&(e.url=`/index.html`),!(n?.startsWith(`/api/`)&&Pi(e,t))){if(n===`/api/config`&&e.method===`DELETE`){c(b),t.setHeader(`Cache-Control`,`no-store`),t.statusCode=204,t.end();return}if(n===`/api/config`&&(e.method===`GET`||e.method===`HEAD`)){E?.();let n=p(b),r=e.headers.host??`localhost:${T}`,i=n&&n.port>0?`ws://${r}/collab`:null,a=f(b),o=JSON.stringify({collabUrl:i,previewUrl:null,port:T,paneTarget:a});t.setHeader(`Content-Type`,`application/json`),t.setHeader(`Cache-Control`,`no-store`),t.setHeader(`X-Content-Type-Options`,`nosniff`),t.statusCode=200,e.method===`HEAD`?t.end():t.end(o);return}if(n?.startsWith(`/api/`)){E?.();let r=p(b);if(!r||r.port<=0){$(t,503,`urn:ok:error:collab-server-not-running`,"Collab server not running. Start `ok start` or run `ok status`.",`Path: ${n}`);return}Bi(e,t,{upstreamHost:`localhost`,upstreamPort:r.port});return}if(w&&n?.startsWith(`/assets/`)){w(e,t,()=>{ee?ee(e,t,()=>Ki(t)):Ki(t)});return}if(ee){ee(e,t,()=>{w?w(e,t):Ki(t)});return}if(w){w(e,t);return}Ki(t)}},O=new Set,k=(e,t,n)=>{if(Ii(e,t))return;let r=e.url?.split(`?`)[0]??``;if(r!==`/collab`&&!r.startsWith(`/collab/`)){t.destroy();return}let i=p(b);if(!i||i.port<=0){console.warn(JSON.stringify({event:`ok-ui-upgrade-no-collab-lock`,url:r,reason:"server.lock missing or port unbound — is `ok start` running?"})),t.destroy();return}Li(e,t,n,`localhost`,i.port,O)},A=()=>{for(let e of O)try{e.destroy()}catch{}O.clear()},te=e.host===void 0?[`::1`,`127.0.0.1`]:[e.host],ne=[],j=e.port,re=e=>e instanceof Error&&e.code===`EADDRINUSE`,M=async()=>{await Promise.all(ne.splice(0).map(e=>new Promise(t=>{try{e.close(()=>t())}catch{t()}})))},ie=async e=>{j=e;for(let e of te){let t=n(D);t.on(`upgrade`,k),ne.push(t),await new Promise((n,r)=>{let i=e=>r(e);t.once(`error`,i),t.listen(j,e,()=>{t.off(`error`,i);let e=t.address();typeof e==`object`&&e&&(j=e.port),n()})})}};try{try{await ie(e.port)}catch(t){if(e.fallbackToKernel===!0&&re(t))await M(),await ie(0);else throw t}}catch(e){await M();try{m(b)}catch{}throw e}let N=j;T=N,h(b,N);let ae=e.scheduler??s,P=e.safetyNetMs??432e5,F=null,I=!1,L=!1,oe=()=>{I||(I=!0,F!==null&&(ae.clearTimeout(F),F=null))},R=()=>{if(oe(),!L){L=!0;try{m(b)}catch{}}},se=()=>{I||P<=0||(F!==null&&(ae.clearTimeout(F),F=null),F=ae.setTimeout(()=>{F=null,console.warn(`[ui] safety-net (${P}ms) reached — shutting down (D-025 backstop)`);try{e.onSafetyNet?.()}catch{}A();for(let e of ne)try{e.close()}catch{}R()},P))},z=()=>{I||P<=0||se()};return E=z,se(),{httpServers:ne,port:N,release:R,detachSafetyNet:oe,nudgeSafetyNet:z,drainUpgradeSockets:A}}function Ki(e){e.headersSent||e.writableEnded||e.destroyed||(e.setHeader(`X-Content-Type-Options`,`nosniff`),e.setHeader(`Cache-Control`,`no-store`),e.statusCode=404,e.end())}function qi(e,t){if(e!==void 0){let t=Number.parseInt(e,10);if(Number.isNaN(t)||t<0||t>65535)throw Error(`Invalid --port value '${e}'`);return{port:t,fallbackToKernel:!1}}if(t!==void 0&&t!==``){let e=Number.parseInt(t,10);if(Number.isNaN(e)||e<0||e>65535)throw Error(`Invalid PORT env value '${t}'`);return{port:e,fallbackToKernel:!1}}return{port:Hi,fallbackToKernel:!0}}async function Ji(e){let t=e.readLock??(async()=>{let{readUiLock:t}=await import(`./dist-6j4x3nmy.mjs`);return t(e.lockDir)}),n=await t();if(!n)throw Error(`UI lock collision reported but the lock disappeared before handling — retry acquiring.`);if(n.port===e.requestedPort&&n.port>0)return{mode:`already-running`,port:n.port};let r=n.port;if(r===0){let n=Date.now()+(e.pollDeadlineMs??2e3),i=e.pollIntervalMs??100;for(;Date.now()<n;){await new Promise(e=>{setTimeout(e,i)});let e=await t();if(e&&e.port>0){r=e.port;break}}if(r===0)throw Error("UI did not bind within 2s; run `ok clean`");if(r===e.requestedPort)return{mode:`already-running`,port:r}}return{mode:`proxy`,handle:await zi({listenPort:e.requestedPort,host:e.host,upstreamHost:`localhost`,upstreamPort:r}),upstreamPort:r}}function Yi(e){return new i(`ui`).description(`Serve the Open Knowledge React editor UI`).option(`-p, --port <port>`,`UI port (default: $PORT env or ${Hi}, kernel-allocated fallback if busy)`).option(`-H, --host <host>`,"UI host. Default: two-socket loopback bind (`[::1]` + `127.0.0.1`) so cross-family collisions fail loud. Pass an explicit host (e.g. `127.0.0.1`, `0.0.0.0`) to bind a single socket on that host.").action(async t=>{let{dim:n}=await import(`./colors-CkPULM8m.mjs`),{UiLockCollisionError:r}=await import(`./dist-6j4x3nmy.mjs`),{resolveLockDir:i}=await import(`./dist-6j4x3nmy.mjs`),a=e(),o=t.host,s;try{s=qi(t.port,process.env.PORT)}catch(e){console.error(e instanceof Error?e.message:String(e)),process.exitCode=1;return}let c=s.port;try{let e=await Gi({config:a,cwd:process.cwd(),port:c,fallbackToKernel:s.fallbackToKernel,host:o}),t=o===void 0||o===`::`||o===`0.0.0.0`?`localhost`:o;console.log(`${n(`[ui]`)} listening on http://${t}:${e.port}`);let r=!1,i=t=>{if(r)return;r=!0,console.log(n(`\n[ui] Shutting down (${t})`)),e.detachSafetyNet();let i=()=>{try{e.release()}finally{process.exit(process.exitCode??0)}};e.drainUpgradeSockets(),Wi(e.httpServers).then(i,i),setTimeout(i,2e3).unref()};process.once(`SIGINT`,()=>i(`SIGINT`)),process.once(`SIGTERM`,()=>i(`SIGTERM`));return}catch(e){if(!(e instanceof r))throw e;let t=i(process.cwd()),a=o??`localhost`,s;try{s=await Ji({requestedPort:c,host:a,lockDir:t})}catch(e){console.error(e instanceof Error?e.message:String(e)),process.exit(1)}if(s.mode===`already-running`){if(console.log(`UI already running at http://${a}:${s.port}`),Xi(process)){await new Promise(e=>{let t=t=>{console.log(n(`\n[ui-keepalive] Shutting down (${t})`)),e()};process.once(`SIGINT`,()=>t(`SIGINT`)),process.once(`SIGTERM`,()=>t(`SIGTERM`))});return}process.exit(0)}console.log(`UI running at http://${a}:${s.upstreamPort}; acting as HTTP proxy on port ${s.handle.port}`);let l=!1,u=e=>{l||(l=!0,console.log(n(`\n[ui-proxy] Shutting down (${e})`)),s.handle.close().finally(()=>process.exit(process.exitCode??0)),setTimeout(()=>process.exit(process.exitCode??0),2e3).unref())};process.once(`SIGINT`,()=>u(`SIGINT`)),process.once(`SIGTERM`,()=>u(`SIGTERM`))}})}function Xi(e){let t=e.stdout.isTTY===!0,n=typeof e.env.PORT==`string`&&e.env.PORT!==``;return!t||n}function Zi(e){if(!M(e))return{};let t=N(e,`utf-8`).trim();if(t===``)return{};try{let n=JSON.parse(t);if(T(n))return n;throw Error(`${e} root must be a JSON object`)}catch(t){throw t instanceof SyntaxError?Error(`${e} contains invalid JSON: ${t.message}`):t}}function Qi(e){if(!M(e))return{};let t=N(e,`utf-8`).trim();if(t===``)return{};try{let n=yi(t);if(T(n))return n;throw Error(`${e} root must be a TOML table`)}catch(t){throw Error(`${e} contains invalid TOML: ${t instanceof Error?t.message:String(t)}`)}}function $i(e,t){b(e,`${JSON.stringify(t,null,2)}\n`)}function ea(e,t){let n=ki(t);b(e,n.endsWith(`
294
+ `)}\r\n\r\n`),n.length>0&&o.write(n)}catch(e){c({event:`proxy-upgrade-handshake-write-failed`,err:e});return}o.on(`data`,e=>{t.writable&&t.write(e)}),t.on(`data`,e=>{o.writable&&o.write(e)})}),o.once(`timeout`,()=>{c({event:`proxy-upgrade-upstream-connect-timeout`})}),o.on(`error`,e=>c({event:`proxy-upgrade-upstream-error`,err:e})),t.on(`error`,e=>c({event:`proxy-upgrade-client-error`,err:e})),o.once(`close`,()=>c()),t.once(`close`,()=>c())}const Ri=[`connection`,`keep-alive`,`proxy-authenticate`,`proxy-authorization`,`te`,`trailer`,`transfer-encoding`,`upgrade`,`cookie`,`set-cookie`];async function zi(e){let t=e.upstreamTimeoutMs??Ni,n=new Set,r=he((n,r)=>{Pi(n,r)||Vi(n,r,e.upstreamHost,e.upstreamPort,t)});r.on(`upgrade`,(t,r,i)=>{Ii(t,r)||Li(t,r,i,e.upstreamHost,e.upstreamPort,n)}),await new Promise((t,n)=>{let i=e=>n(e);r.once(`error`,i),r.listen(e.listenPort,e.host,()=>{r.off(`error`,i),t()})});let i=r.address();return{httpServer:r,port:typeof i==`object`&&i?i.port:e.listenPort,close:()=>new Promise(e=>{for(let e of n)try{e.destroy()}catch{}n.clear(),r.close(()=>e()),r.closeIdleConnections()})}}function Bi(e,t,n){Vi(e,t,n.upstreamHost,n.upstreamPort,n.upstreamTimeoutMs??Ni)}function Vi(e,t,n,r,i){let a={...e.headers};delete a.host;for(let e of Ri)delete a[e];e.setTimeout(Fi,()=>{if(t.headersSent)try{t.end()}catch{}else try{$(t,408,`urn:ok:error:request-timeout`,`Proxy request exceeded the per-request deadline.`,`Slow-loris-class: client did not finish within ${Fi/1e3}s.`)}catch{}try{e.socket?.destroy()}catch{}});let o=ge({host:n,port:r,method:e.method,path:e.url,headers:{...a,host:`${n}:${r}`}},e=>{let n={...e.headers};for(let e of Ri)delete n[e];t.writeHead(e.statusCode??502,n),e.pipe(t),e.once(`error`,()=>{try{t.end()}catch{}})});i>0&&o.setTimeout(i,()=>{if(!t.headersSent)$(t,504,`urn:ok:error:gateway-timeout`,`Upstream did not respond before the gateway deadline.`,`Upstream timeout: ${i/1e3}s elapsed without a response.`);else try{t.end()}catch{}o.destroy()}),o.on(`error`,()=>{if(!t.headersSent)$(t,502,`urn:ok:error:collab-server-not-running`,`Collab server is unreachable.`,`Upstream connection failed or dropped before a response was received.`);else try{t.end()}catch{}}),e.on(`error`,()=>{o.destroy()}),e.pipe(o)}const Hi=39847,Ui=39848;async function Wi(e){await Promise.all(e.map(e=>new Promise(t=>{e.close(()=>t())})))}async function Gi(e){let{existsSync:t}=await import(`node:fs`),{createServer:n}=await import(`node:http`),{resolve:r}=await import(`node:path`),{acquireUiLock:i,clearArmedPaneTarget:c,createAssetServeMiddleware:l,createContentFilter:u,readArmedPaneTarget:f,readServerLock:p,releaseUiLock:m,updateUiLockPort:h}=await import(`./dist-LI_R8UvH.mjs`),{default:g}=await import(`./build-CCDQyip-.mjs`),{resolveContentDir:_,resolveLockDir:v}=await import(`./dist-LI_R8UvH.mjs`),y=_(e.config,e.cwd),b=v(e.cwd);i(b,{port:0,worktreeRoot:e.cwd});let x=import.meta.dirname??new URL(`.`,import.meta.url).pathname,S=[r(x,`public`),r(x,`../../app/dist`),r(x,`../../../app/dist`)],C=e.assetDir??S.find(e=>t(e)),w=C?g(C,{single:!0,gzip:!0,etag:!0,dev:!0,extensions:[]}):null,ee=t(y)?l({contentFilter:u({projectDir:e.cwd,contentDir:y}),contentSirv:g(y,{dotfiles:!1,dev:!0,extensions:[]}),inlineExtensions:a,assetExtensions:d,blocklistExtensions:o}):null,T=e.port,E=null,D=(e,t)=>{let n=e.url?.split(`?`)[0];if(e.method===`GET`&&(n===`/`||n===``)){let e=f(b);if(e&&!/[\r\n]/.test(e)){c(b),t.statusCode=302,t.setHeader(`Location`,`/${e}`),t.setHeader(`Cache-Control`,`no-store`),t.end();return}}if((n===`/`||n===``)&&(e.url=`/index.html`),!(n?.startsWith(`/api/`)&&Pi(e,t))){if(n===`/api/config`&&e.method===`DELETE`){c(b),t.setHeader(`Cache-Control`,`no-store`),t.statusCode=204,t.end();return}if(n===`/api/config`&&(e.method===`GET`||e.method===`HEAD`)){E?.();let n=p(b),r=e.headers.host??`localhost:${T}`,i=n&&n.port>0?`ws://${r}/collab`:null,a=f(b),o=JSON.stringify({collabUrl:i,previewUrl:null,port:T,paneTarget:a});t.setHeader(`Content-Type`,`application/json`),t.setHeader(`Cache-Control`,`no-store`),t.setHeader(`X-Content-Type-Options`,`nosniff`),t.statusCode=200,e.method===`HEAD`?t.end():t.end(o);return}if(n?.startsWith(`/api/`)){E?.();let r=p(b);if(!r||r.port<=0){$(t,503,`urn:ok:error:collab-server-not-running`,"Collab server not running. Start `ok start` or run `ok status`.",`Path: ${n}`);return}Bi(e,t,{upstreamHost:`localhost`,upstreamPort:r.port});return}if(w&&n?.startsWith(`/assets/`)){w(e,t,()=>{ee?ee(e,t,()=>Ki(t)):Ki(t)});return}if(ee){ee(e,t,()=>{w?w(e,t):Ki(t)});return}if(w){w(e,t);return}Ki(t)}},O=new Set,k=(e,t,n)=>{if(Ii(e,t))return;let r=e.url?.split(`?`)[0]??``;if(r!==`/collab`&&!r.startsWith(`/collab/`)){t.destroy();return}let i=p(b);if(!i||i.port<=0){console.warn(JSON.stringify({event:`ok-ui-upgrade-no-collab-lock`,url:r,reason:"server.lock missing or port unbound — is `ok start` running?"})),t.destroy();return}Li(e,t,n,`localhost`,i.port,O)},A=()=>{for(let e of O)try{e.destroy()}catch{}O.clear()},te=e.host===void 0?[`::1`,`127.0.0.1`]:[e.host],ne=[],j=e.port,re=e=>e instanceof Error&&e.code===`EADDRINUSE`,M=async()=>{await Promise.all(ne.splice(0).map(e=>new Promise(t=>{try{e.close(()=>t())}catch{t()}})))},ie=async e=>{j=e;for(let e of te){let t=n(D);t.on(`upgrade`,k),ne.push(t),await new Promise((n,r)=>{let i=e=>r(e);t.once(`error`,i),t.listen(j,e,()=>{t.off(`error`,i);let e=t.address();typeof e==`object`&&e&&(j=e.port),n()})})}};try{try{await ie(e.port)}catch(t){if(e.fallbackToKernel===!0&&re(t))await M(),await ie(0);else throw t}}catch(e){await M();try{m(b)}catch{}throw e}let N=j;T=N,h(b,N);let ae=e.scheduler??s,P=e.safetyNetMs??432e5,F=null,I=!1,L=!1,oe=()=>{I||(I=!0,F!==null&&(ae.clearTimeout(F),F=null))},R=()=>{if(oe(),!L){L=!0;try{m(b)}catch{}}},se=()=>{I||P<=0||(F!==null&&(ae.clearTimeout(F),F=null),F=ae.setTimeout(()=>{F=null,console.warn(`[ui] safety-net (${P}ms) reached — shutting down (D-025 backstop)`);try{e.onSafetyNet?.()}catch{}A();for(let e of ne)try{e.close()}catch{}R()},P))},z=()=>{I||P<=0||se()};return E=z,se(),{httpServers:ne,port:N,release:R,detachSafetyNet:oe,nudgeSafetyNet:z,drainUpgradeSockets:A}}function Ki(e){e.headersSent||e.writableEnded||e.destroyed||(e.setHeader(`X-Content-Type-Options`,`nosniff`),e.setHeader(`Cache-Control`,`no-store`),e.statusCode=404,e.end())}function qi(e,t){if(e!==void 0){let t=Number.parseInt(e,10);if(Number.isNaN(t)||t<0||t>65535)throw Error(`Invalid --port value '${e}'`);return{port:t,fallbackToKernel:!1}}if(t!==void 0&&t!==``){let e=Number.parseInt(t,10);if(Number.isNaN(e)||e<0||e>65535)throw Error(`Invalid PORT env value '${t}'`);return{port:e,fallbackToKernel:!1}}return{port:Hi,fallbackToKernel:!0}}async function Ji(e){let t=e.readLock??(async()=>{let{readUiLock:t}=await import(`./dist-LI_R8UvH.mjs`);return t(e.lockDir)}),n=await t();if(!n)throw Error(`UI lock collision reported but the lock disappeared before handling — retry acquiring.`);if(n.port===e.requestedPort&&n.port>0)return{mode:`already-running`,port:n.port};let r=n.port;if(r===0){let n=Date.now()+(e.pollDeadlineMs??2e3),i=e.pollIntervalMs??100;for(;Date.now()<n;){await new Promise(e=>{setTimeout(e,i)});let e=await t();if(e&&e.port>0){r=e.port;break}}if(r===0)throw Error("UI did not bind within 2s; run `ok clean`");if(r===e.requestedPort)return{mode:`already-running`,port:r}}return{mode:`proxy`,handle:await zi({listenPort:e.requestedPort,host:e.host,upstreamHost:`localhost`,upstreamPort:r}),upstreamPort:r}}function Yi(e){return new i(`ui`).description(`Serve the Open Knowledge React editor UI`).option(`-p, --port <port>`,`UI port (default: $PORT env or ${Hi}, kernel-allocated fallback if busy)`).option(`-H, --host <host>`,"UI host. Default: two-socket loopback bind (`[::1]` + `127.0.0.1`) so cross-family collisions fail loud. Pass an explicit host (e.g. `127.0.0.1`, `0.0.0.0`) to bind a single socket on that host.").action(async t=>{let{dim:n}=await import(`./colors-CkPULM8m.mjs`),{UiLockCollisionError:r}=await import(`./dist-LI_R8UvH.mjs`),{resolveLockDir:i}=await import(`./dist-LI_R8UvH.mjs`),a=e(),o=t.host,s;try{s=qi(t.port,process.env.PORT)}catch(e){console.error(e instanceof Error?e.message:String(e)),process.exitCode=1;return}let c=s.port;try{let e=await Gi({config:a,cwd:process.cwd(),port:c,fallbackToKernel:s.fallbackToKernel,host:o}),t=o===void 0||o===`::`||o===`0.0.0.0`?`localhost`:o;console.log(`${n(`[ui]`)} listening on http://${t}:${e.port}`);let r=!1,i=t=>{if(r)return;r=!0,console.log(n(`\n[ui] Shutting down (${t})`)),e.detachSafetyNet();let i=()=>{try{e.release()}finally{process.exit(process.exitCode??0)}};e.drainUpgradeSockets(),Wi(e.httpServers).then(i,i),setTimeout(i,2e3).unref()};process.once(`SIGINT`,()=>i(`SIGINT`)),process.once(`SIGTERM`,()=>i(`SIGTERM`));return}catch(e){if(!(e instanceof r))throw e;let t=i(process.cwd()),a=o??`localhost`,s;try{s=await Ji({requestedPort:c,host:a,lockDir:t})}catch(e){console.error(e instanceof Error?e.message:String(e)),process.exit(1)}if(s.mode===`already-running`){if(console.log(`UI already running at http://${a}:${s.port}`),Xi(process)){await new Promise(e=>{let t=t=>{console.log(n(`\n[ui-keepalive] Shutting down (${t})`)),e()};process.once(`SIGINT`,()=>t(`SIGINT`)),process.once(`SIGTERM`,()=>t(`SIGTERM`))});return}process.exit(0)}console.log(`UI running at http://${a}:${s.upstreamPort}; acting as HTTP proxy on port ${s.handle.port}`);let l=!1,u=e=>{l||(l=!0,console.log(n(`\n[ui-proxy] Shutting down (${e})`)),s.handle.close().finally(()=>process.exit(process.exitCode??0)),setTimeout(()=>process.exit(process.exitCode??0),2e3).unref())};process.once(`SIGINT`,()=>u(`SIGINT`)),process.once(`SIGTERM`,()=>u(`SIGTERM`))}})}function Xi(e){let t=e.stdout.isTTY===!0,n=typeof e.env.PORT==`string`&&e.env.PORT!==``;return!t||n}function Zi(e){if(!M(e))return{};let t=N(e,`utf-8`).trim();if(t===``)return{};try{let n=JSON.parse(t);if(T(n))return n;throw Error(`${e} root must be a JSON object`)}catch(t){throw t instanceof SyntaxError?Error(`${e} contains invalid JSON: ${t.message}`):t}}function Qi(e){if(!M(e))return{};let t=N(e,`utf-8`).trim();if(t===``)return{};try{let n=yi(t);if(T(n))return n;throw Error(`${e} root must be a TOML table`)}catch(t){throw Error(`${e} contains invalid TOML: ${t instanceof Error?t.message:String(t)}`)}}function $i(e,t){b(e,`${JSON.stringify(t,null,2)}\n`)}function ea(e,t){let n=ki(t);b(e,n.endsWith(`
295
295
  `)?n:`${n}\n`)}const ta=e=>e!==`project`,na=e=>e!==`user`;async function ra(){let e=await Bn({message:`Where should the MCP server be configured?
296
296
  `,required:!1,theme:{icon:{checked:`[x]`,unchecked:`[ ]`}},choices:[{name:`User-level (~/.claude.json, ~/.cursor/mcp.json, …)`,value:`user`,checked:!0},{name:`Project-level (.mcp.json, .cursor/mcp.json, …)`,value:`project`,checked:!0}]});return e.includes(`user`)&&e.includes(`project`)?`both`:e.includes(`user`)?`user`:e.includes(`project`)?`project`:null}async function ia(e){return e.mcp===!1?null:e.scope?e.scope:e.isTTY??process.stdout.isTTY?(e.promptFn??ra)():`both`}async function aa(e){return Yr({message:`How do you want to handle Open Knowledge config files (.ok/, .mcp.json, project skills, launch.json)?`,default:e,choices:[{name:`Share with my team (commit alongside content)`,value:`shared`,description:`OK config gets committed alongside your project content.`},{name:`Local only (keep out of git via .git/info/exclude)`,value:`local-only`,description:"OK config stays on this machine only; teammates do not see it. Safe escape hatch via `ok config-sharing share`."}]})}async function oa(e){if(e.sharing!==void 0)return e.sharing;let t=Nt(e.projectRoot)===`local-only`?`local-only`:`shared`;return e.isTTY??process.stdout.isTTY?(e.promptFn??aa)(t):t}const sa=`0.0.1`,ca=`open-knowledge-ui`,la=[`-y`,`@inkeep/open-knowledge@latest`,`ui`],ua=`# ok-ui-v1`,da=`${ua}
297
297
  UIPORT="\${PORT:-${Ui}}"
@@ -310,6 +310,6 @@ UIPORT="\${PORT:-${Ui}}"
310
310
  unset PORT
311
311
  exec node "${xt()}" start --ui-port "$UIPORT"`],port:Ui,autoPort:!0}:{name:ca,runtimeExecutable:`/bin/sh`,runtimeArgs:[`-l`,`-c`,da],port:Ui,autoPort:!0};try{if(j(n,e),!M(n))return ie(L(n),{recursive:!0}),P(n,`${JSON.stringify({version:sa,configurations:[r]},null,2)}\n`,`utf-8`),{action:`created`,configPath:n};let t=N(n,`utf-8`).trim(),i=t?JSON.parse(t):{};if(!T(i))return{action:`failed`,configPath:n,error:`launch.json root is not an object`};let a=Array.isArray(i.configurations)?i.configurations:[],o=a.findIndex(e=>T(e)&&e.name===`open-knowledge-ui`);o>=0?a[o]=r:a.push(r);let s={...i,version:i.version??sa,configurations:a};return P(n,`${JSON.stringify(s,null,2)}\n`,`utf-8`),{action:o>=0?`merged`:`created`,configPath:n}}catch(e){return{action:`failed`,configPath:n,error:e instanceof Error?e.message:String(e)}}}function pa(e,t,n){try{return M(e.detectPath?.(t,n)??L(e.configPath(t,n)))}catch{return!1}}function ma(e,t,n,r,i){let a=e.serverName(t),o;try{o=i??e.configPath(t,r)}catch(t){return{editorId:e.id,label:e.label,action:`failed`,configPath:``,serverName:a,error:t instanceof Error?t.message:String(t)}}if(!i&&!n.skipAvailabilityCheck&&!pa(e,t,r))return{editorId:e.id,label:e.label,action:`skipped-missing`,configPath:o,serverName:a};if(i!==void 0)try{j(o,t)}catch(t){return{editorId:e.id,label:e.label,action:`failed`,configPath:o,serverName:a,error:t instanceof Error?t.message:String(t),configScope:`project`}}let s;try{s=e.buildEntry(t,n)}catch(t){return{editorId:e.id,label:e.label,action:`failed`,configPath:o,serverName:a,error:t instanceof Error?t.message:String(t),...i===void 0?{}:{configScope:`project`}}}try{ie(L(o),{recursive:!0})}catch(t){return{editorId:e.id,label:e.label,action:`failed`,configPath:o,serverName:a,error:t instanceof Error?t.message:String(t),...i===void 0?{}:{configScope:`project`}}}let c,l;try{h(`${o}.lock`,()=>{let t=e.format===`toml`?Qi(o):Zi(o),n=t[e.topLevelKey]??{};c=n[a];let r={...t,[e.topLevelKey]:{...n,[a]:s}};e.format===`toml`?ea(o,r):$i(o,r)},{onWarn:(e,t)=>process.stderr.write(`[ok] ${e} ${JSON.stringify(t)}\n`)})}catch(e){l=e instanceof Error?e:Error(String(e))}return l?{editorId:e.id,label:e.label,action:`failed`,configPath:o,serverName:a,error:l.message,...i===void 0?{}:{configScope:`project`}}:{editorId:e.id,label:e.label,action:c===void 0?`written`:`overwritten`,configPath:o,serverName:a,...i===void 0?{}:{configScope:`project`}}}function ha(e,t){let n=e.projectConfigPath?.(t);if(!(!n||!M(n)))return{editorId:e.id,label:e.label,path:n}}async function ga(e){let t=kt(e.editors),n={mode:`published`,skipAvailabilityCheck:!0};return t.map(t=>ma(t,``,n,e.home))}function _a(e,t,n,r){let i=va(e,t,n,r);return i.kind===`present`?i.entry:null}function va(e,t,n,r){let i;try{i=r??e.configPath(t,n)}catch{return{kind:`absent`}}if(!M(i))return{kind:`absent`};let a;try{a=N(i,`utf-8`)}catch(e){return{kind:`corrupt`,error:e instanceof Error?e.message:String(e)}}if(a.trim()===``)return{kind:`corrupt`,error:`file is empty`};let o;try{o=e.format===`toml`?Qi(i):Zi(i)}catch(e){return{kind:`corrupt`,error:e instanceof Error?e.message:String(e)}}let s=o[e.topLevelKey];if(!T(s))return{kind:`no-entry`};let c=s[e.serverName(t)];return T(c)?{kind:`present`,entry:c}:{kind:`no-entry`}}async function ya(e={}){let t=ce(e.cwd??process.cwd()),n=Mi(t,{homeDir:e.home}),r=n.projectRoot,i=!M(R(r,`.ok`));n.ancestorPromoted?console.log(`[ok] Opened existing project at ${r}`):n.gitRootPromoted&&i&&console.log(`[ok] Initialized OK at ${r} — opened parent of ${z(r,t)} because it contains a .git folder`);let a={mode:e.devMcp?`dev`:`published`},o=await S(r),s;try{s=m(r,{contentDir:n.defaultContentDir})}catch(t){let n=G.claude.configPath(r,e.home);return{projectRoot:r,contentCreated:[],contentUpdated:[],contentSkipped:[],editors:[],projectSkills:[],legacyProjectConfigs:[],didGitInit:o.didInit,rootGitignoreCreated:!1,claudeDesktopDetected:!1,mcpAction:`failed`,mcpPath:n,mcpError:`Content scaffolding failed: ${t instanceof Error?t.message:String(t)}`,sharing:{kind:`no-exclude`,reason:`no-git`,localOnlyRequested:!1}}}let c=!1;if(o.didInit)try{c=ee(r)===`created`}catch(e){console.warn(`[ok] Skipping .gitignore seed at ${r}: ${e instanceof Error?e.message:String(e)}`)}let l=await ia({scope:e.scope,mcp:e.mcp,isTTY:e.isTTY,promptFn:e.promptFn}),u=e.editors??Ca(r,e.home),d=e.editors??_t.filter(e=>G[e].projectConfigPath!==void 0),f=kt(u),p=kt(d),h=e.mcp===!1||l===null,g=Array.from(new Map([...f,...h?[]:p].map(e=>[e.id,e])).values()),v=f.filter(t=>pa(t,r,e.home)),y=[],b=[],x=new Set;for(let t of g){if(h){let n=``;try{n=t.configPath(r,e.home)}catch{}y.push({editorId:t.id,label:t.label,action:`skipped-flag`,configPath:n,serverName:t.serverName(r)});continue}if(ta(l)&&f.includes(t)&&y.push(ma(t,r,a,e.home)),na(l)&&p.includes(t)&&t.projectConfigPath){let n=t.projectConfigPath(r),i=ma(t,r,a,e.home,n);y.push(i),(i.action===`written`||i.action===`overwritten`)&&x.add(n)}}for(let e of p)e.projectSkillPath&&b.push(ne(e,r));let w=!h&&l!==null&&na(l)?p.filter(e=>!e.projectConfigPath).map(e=>e.label):void 0,T=h?[]:v.map(e=>ha(e,r)).filter(e=>e!==void 0).filter(e=>!x.has(e.path)),E=v.some(e=>e.id===`claude`)&&!h?fa(r,a):void 0,D=await(e.installUserSkill??_)({home:e.home}),O=C({home:e.home}),k=h?`skipped-flag`:`skipped-missing`,A=y.find(e=>e.editorId===`claude`)??y[0]??{action:k,configPath:G.claude.configPath(r,e.home)},te=await ba({projectRoot:r,desiredMode:await oa({sharing:e.sharing,projectRoot:r,isTTY:e.isTTY,promptFn:e.sharingPromptFn}),explicitFlag:e.sharing});return{projectRoot:r,contentCreated:s.created,contentUpdated:s.updated,contentSkipped:s.skipped,editors:y,projectSkills:b,legacyProjectConfigs:T,launchJson:E,skillInstall:D,didGitInit:o.didInit,rootGitignoreCreated:c,claudeDesktopDetected:O,mcpAction:A.action,mcpPath:A.configPath,mcpError:`error`in A?A.error:void 0,projectScopeUnsupportedLabels:w,sharing:te}}async function ba(e){let{projectRoot:t,desiredMode:n,explicitFlag:r}=e,i=Nt(t);if(i===`no-git`)return{kind:`no-exclude`,reason:`no-git`,localOnlyRequested:r===`local-only`};let a=At(t);if(n===`local-only`){let e=jt(t,a);if(e.kind===`refused-tracked`){let t=e;return{kind:`refused-tracked`,tracked:t.tracked,remediation:t.remediation}}return e.kind===`no-exclude`?{kind:`no-exclude`,reason:e.reason,localOnlyRequested:r===`local-only`}:xa(t,e,`add`)}if(i===`shared`)return{kind:`applied`,mode:`shared`,action:`noop`,appended:[],alreadyPresent:[],removed:[]};let o=Mt(t,a);return o.kind===`no-exclude`?{kind:`no-exclude`,reason:o.reason,localOnlyRequested:!1}:xa(t,o,`remove`)}function xa(e,t,n){let r=Nt(e);return n===`add`?{kind:`applied`,mode:r,action:t.appended.length>0?`added`:`noop`,appended:t.appended,alreadyPresent:t.alreadyPresent,removed:[]}:{kind:`applied`,mode:r,action:`removed`,appended:[],alreadyPresent:[],removed:t.removed}}function Sa(e,t){let n=[],r=e.editors.some(e=>e.action===`written`||e.action===`overwritten`),i=e.editors.some(e=>e.action===`failed`)||e.projectSkills.some(e=>e.action===`failed`),a=e.editors.length>0&&e.editors.every(e=>e.action===`skipped-flag`),o=e.editors.length>0&&e.editors.every(e=>e.action===`skipped-missing`),s=e=>{let n=e.configPath.startsWith(t)?z(t,e.configPath):e.configPath;switch(e.action){case`created`:return` app preview server ${n} configured for Claude Code Desktop embedded browser`;case`merged`:return` app preview server ${n} updated for Claude Code Desktop embedded browser`;case`failed`:return` app preview server ${n} FAILED: ${e.error}`}};e.didGitInit&&n.push(`Initialized git repo at ${t}/.git/ (default branch: main)`),e.rootGitignoreCreated&&n.push(`Seeded .gitignore at ${t}/.gitignore (.DS_Store)`);let c=R(t,`.ok`);if(e.contentCreated.length>0||e.contentUpdated.length>0?(n.push(A(`Content scaffolded at ${c}/`)),e.contentCreated.length>0&&n.push(` Created: ${e.contentCreated.join(`, `)}`),e.contentUpdated.length>0&&n.push(` Updated: ${e.contentUpdated.join(`, `)}`)):n.push(A(`Content already present at ${c}/`)),e.contentSkipped.length>0&&n.push(` Skipped (already exist): ${e.contentSkipped.join(`, `)}`),n.push(``),e.mcpError&&e.editors.length===0)n.push(`Warning: ${e.mcpError}`);else if(e.editors.length===0)if(n.push(A(`MCP server configuration:`)),e.mcpAction===`skipped-flag`)n.push(` MCP config not written — use without --no-mcp to configure editors`);else if(e.projectScopeUnsupportedLabels&&e.projectScopeUnsupportedLabels.length>0){let t=e.projectScopeUnsupportedLabels.join(`, `),r=e.projectScopeUnsupportedLabels.length===1?`does`:`do`;n.push(` ${t} ${r} not support project-level config; skipped`)}else n.push(` No supported editor config directories detected; skipped MCP registration`);else if(a)n.push(`MCP config not written — use without --no-mcp to configure editors`);else if(o)n.push(A(`MCP server configuration:`)),n.push(` No supported editor config directories detected; skipped MCP registration`);else{n.push(A(`MCP server configuration:`));for(let r of e.editors){let i=r.configPath.startsWith(t)?z(t,r.configPath):r.configPath.replace(/^\/Users\/[^/]+/,`~`),a=r.serverName===`open-knowledge`?``:` (${r.serverName})`,o=r.configScope===`project`?` (project)`:``,c=`${r.label}${o}`,l=` `.repeat(Math.max(1,20-c.length)),u=r.editorId===`claude-desktop`&&(r.action===`written`||r.action===`overwritten`)?` — quit and relaunch Claude Desktop to activate`:``;switch(r.action){case`written`:n.push(` ${c}${l}${i} ${D(`registered`)}${a}${u}`);break;case`overwritten`:n.push(` ${c}${l}${i} ${D(`updated`)}${a}${u}`);break;case`skipped-missing`:n.push(` ${c}${l}${i} config root missing; skipped`);break;case`failed`:n.push(` ${c}${l}${i} ${O(`FAILED`)}: ${r.error}`);break;case`skipped-flag`:break}r.editorId===`claude`&&e.launchJson&&n.push(s(e.launchJson))}if(e.projectScopeUnsupportedLabels&&e.projectScopeUnsupportedLabels.length>0){let t=e.projectScopeUnsupportedLabels.join(`, `),r=e.projectScopeUnsupportedLabels.length===1?`does`:`do`;n.push(` ${t} ${r} not support project-level config; skipped`)}}if(e.projectSkills.length>0){n.push(``),n.push(A(`Project-local skills:`));for(let r of e.projectSkills){let e=`${r.label} (project)`,i=` `.repeat(Math.max(1,20-e.length)),a=r.path?z(t,r.path):``;switch(r.action){case`written`:n.push(` ${e}${i}${a} ${D(`installed`)}`);break;case`overwritten`:n.push(` ${e}${i}${a} ${D(`updated`)}`);break;case`skipped-unsupported`:n.push(` ${e}${i}no known project skill surface; skipped`);break;case`failed`:n.push(` ${e}${i}${a} ${O(`FAILED`)}: ${r.error}`);break}}}if(i&&(n.push(``),n.push(`For failed editors, add the MCP server entry or project skill manually. See:`),n.push(` https://github.com/inkeep/open-knowledge#mcp-setup`)),e.legacyProjectConfigs.length>0){n.push(``),n.push(`Project MCP configs found:`);for(let r of e.legacyProjectConfigs)n.push(` ${r.label} ${z(t,r.path)}`);n.push(` These project-local files may override the global config. Remove them if you want fully user-scoped MCP setup in this project.`)}if(e.skillInstall)switch(n.push(``),n.push(A(`User-global skill:`)),e.skillInstall){case`installed`:n.push(` open-knowledge ${D(`installed to detected agent hosts`)} via \`npx skills\``);break;case`skip-current`:n.push(` open-knowledge ${D(`already installed at current version`)}`);break;case`failed`:n.push(` ${k(`open-knowledge install failed — MCP still configured; run manually:`)}`),n.push(` ${k(` npx skills@~1.5.0 add <bundled-path> --agent '*' -g -y --copy`)}`);break}if(e.claudeDesktopDetected&&(n.push(``),n.push(`Claude Desktop App detected. To enable in Claude Chat & Cowork, run: ${A(`ok install-skill`)}`)),e.preview?(n.push(``),n.push(te(e.preview,t))):e.previewWarning&&(n.push(``),n.push(`Content preview unavailable: ${e.previewWarning}`)),n.push(``),n.push(...Ta(e.sharing,t)),r){let t=new Set,r=e.editors.filter(e=>e.action===`written`||e.action===`overwritten`).filter(e=>!t.has(e.editorId)&&t.add(e.editorId)).map(e=>e.label);n.push(``),n.push(`${D(`✓`)} ${A(`Next steps:`)}`),n.push(` 1. Open your editor (${E(r.join(` / `))})`),n.push(` 2. Approve the MCP server when prompted`),n.push(` 3. (Optional) scaffold the starter knowledge-base structure:`),n.push(` - ${E(`ok seed`)} — empty repo, Karpathy 3-layer`),n.push(` - ${E(`mcp__open-knowledge__discover`)} — existing repo, extract conventions`),n.push(` 4. Use the MCP workflow tools as you build the wiki:`),n.push(` - ${E(`mcp__open-knowledge__ingest`)} — capture an external source`),n.push(` - ${E(`mcp__open-knowledge__research`)} — gather sources and write findings`),n.push(` - ${E(`mcp__open-knowledge__consolidate`)} — promote research to canonical articles`)}return n.join(`
312
312
  `)}function Ca(e,t){let n=[];for(let r of _t)pa(G[r],e,t)&&n.push(r);return n}function wa(){return new i(`init`).description(`Scaffold .ok/ in the current directory and register the MCP server for your editor(s)`).option(`--mcp`,`Register the MCP server for selected editors (default: true)`,!0).option(`--no-mcp`,`Scaffold the .ok/ directory but do not touch MCP config`).option(`--dev-mcp`,`Register a local dev MCP entry using node + packages/cli/dist/cli.mjs with debug logging`).addOption(new r(`--scope <scope>`,`Write MCP config at user level, project level, or both`).choices([`user`,`project`,`both`])).addOption(new r(`--shared`,`Commit OK config alongside content (the default for fresh repos)`).conflicts(`localOnly`)).addOption(new r(`--local-only`,`Keep OK config out of git via .git/info/exclude (per-clone, not committed)`).conflicts(`shared`)).action(async e=>{let t=process.cwd(),n=e.shared?`shared`:e.localOnly?`local-only`:void 0,r;try{r=await ya({cwd:t,mcp:e.mcp,devMcp:e.devMcp,scope:e.scope,sharing:n})}catch(e){if(e instanceof v){process.stderr.write(`open-knowledge requires git to initialize a parent repo. Install git or run 'git init' yourself, then re-run.
313
- `),e.stderr&&process.stderr.write(`${e.stderr.trim()}\n`),process.exitCode=1;return}throw e}try{let{previewContent:e}=await import(`./preview-DVsrv_hV.mjs`),{loadConfig:t}=await import(`./loader-BMjYHLZp.mjs`),{resolveContentDir:n}=await import(`./dist-6j4x3nmy.mjs`),{config:i}=t(r.projectRoot),a=n(i,r.projectRoot);r.preview=e({projectDir:r.projectRoot,contentDir:a})}catch(e){r.previewWarning=e instanceof Error?e.message:String(e)}process.stdout.write(`${Sa(r,r.projectRoot)}\n`),(r.editors.some(e=>e.action===`failed`)||r.mcpAction===`failed`)&&(process.exitCode=1)})}function Ta(e,t){let n=[];switch(e.kind){case`applied`:return n.push(A(`Sharing mode:`)),e.mode===`local-only`?e.action===`added`?n.push(` ${D(`local-only`)} — appended ${e.appended.length} path(s) to ${A(`${t}/.git/info/exclude`)} (per-clone, not committed).`):e.action===`noop`&&e.alreadyPresent.length>0?n.push(` ${D(`local-only`)} — already excluded; nothing to do.`):n.push(` ${D(`local-only`)}`):e.action===`removed`?n.push(` ${D(`shared`)} — removed OK paths from ${A(`${t}/.git/info/exclude`)}; commit the files to share with teammates.`):n.push(` ${D(`shared`)} — OK config will be committed alongside content.`),n;case`refused-tracked`:n.push(k(`Sharing mode: switch to local-only deferred`));for(let t of e.remediation.split(`
313
+ `),e.stderr&&process.stderr.write(`${e.stderr.trim()}\n`),process.exitCode=1;return}throw e}try{let{previewContent:e}=await import(`./preview-Dvm4NRoB.mjs`),{loadConfig:t}=await import(`./loader-D_kZv5X6.mjs`),{resolveContentDir:n}=await import(`./dist-LI_R8UvH.mjs`),{config:i}=t(r.projectRoot),a=n(i,r.projectRoot);r.preview=e({projectDir:r.projectRoot,contentDir:a})}catch(e){r.previewWarning=e instanceof Error?e.message:String(e)}process.stdout.write(`${Sa(r,r.projectRoot)}\n`),(r.editors.some(e=>e.action===`failed`)||r.mcpAction===`failed`)&&(process.exitCode=1)})}function Ta(e,t){let n=[];switch(e.kind){case`applied`:return n.push(A(`Sharing mode:`)),e.mode===`local-only`?e.action===`added`?n.push(` ${D(`local-only`)} — appended ${e.appended.length} path(s) to ${A(`${t}/.git/info/exclude`)} (per-clone, not committed).`):e.action===`noop`&&e.alreadyPresent.length>0?n.push(` ${D(`local-only`)} — already excluded; nothing to do.`):n.push(` ${D(`local-only`)}`):e.action===`removed`?n.push(` ${D(`shared`)} — removed OK paths from ${A(`${t}/.git/info/exclude`)}; commit the files to share with teammates.`):n.push(` ${D(`shared`)} — OK config will be committed alongside content.`),n;case`refused-tracked`:n.push(k(`Sharing mode: switch to local-only deferred`));for(let t of e.remediation.split(`
314
314
  `))n.push(t.length>0?` ${t}`:``);return n.push(` Re-run ${E(`ok config-sharing unshare`)} after resolving to complete the switch.`),n;case`no-exclude`:if(e.localOnlyRequested)n.push(k(`Sharing mode: --local-only requested but no git repo found — option ignored`)),n.push(` Run ${E(`git init`)} (or open this folder via OK Desktop, which can scaffold a repo) and then ${E(`ok config-sharing unshare`)}.`);else if(e.reason===`no-git`)return[];else n.push(k(`Sharing mode unavailable: ${e.reason}.`));return n}}export{St as A,Je as B,At as C,_t as D,Mt as E,mt as F,U as H,ft as I,gt as L,pt as M,ut as N,vt as O,dt as P,st as R,Pt as S,Nt as T,Te as V,ga as _,ba as a,jt as b,Sa as c,_a as d,ia as f,ma as g,fa as h,da as i,bt as j,G as k,Ta as l,ya as m,la as n,va as o,oa as p,ua as r,Ca as s,ca as t,wa as u,Yi as v,Ft as w,It as x,Mi as y,Ye as z};
315
- //# sourceMappingURL=init-Bd49mCW9.mjs.map
315
+ //# sourceMappingURL=init-cCb4BV-1.mjs.map
@@ -1,4 +1,4 @@
1
- import{Ii as e,Li as t,Oa as n,zi as r}from"./server-lock-BpjJj3OD-DlYx_Xz-.mjs";import{Xi as i,Zi as a,m as o}from"./dist-Dcg4smYg.mjs";import{t as s}from"./constants-PrZJ-CTv.mjs";import{t as c}from"./is-object-Cie0xXKD.mjs";import{existsSync as l,readFileSync as u}from"node:fs";import{resolve as d}from"node:path";import{realpath as f}from"node:fs/promises";async function p(e){let t=d(e);try{return await f(t)}catch(e){if(e.code!==`ENOENT`){let n=e instanceof Error?e.message:String(e);console.warn(`[normalize-cwd] realpath failed for ${t}: ${n}`)}return t}}var m=n();function h(e,t){let n={...e};for(let r of Object.keys(t)){let i=e[r],a=t[r];c(a)&&c(i)?n[r]=h(i,a):a!==void 0&&(n[r]=a)}return n}function g(e){if(!l(e))return{value:null,path:e,source:null,doc:null};let t;try{t=u(e,`utf-8`)}catch(t){return console.warn(`[config] Failed to read ${e}: ${t instanceof Error?t.message:t}`),{value:null,path:e,source:null,doc:null}}let n=(0,m.parseDocument)(t);if(n.errors.length>0)return console.warn(`[config] Failed to parse ${e}: ${n.errors.map(e=>e.message).join(`; `)}`),{value:null,path:e,source:t,doc:null};let r=n.toJSON();return c(r)?{value:r,path:e,source:t,doc:n}:{value:null,path:e,source:t,doc:n}}function _(e,t){return e.map(e=>{let n=e.path.map(e=>typeof e==`symbol`?String(e):e),i={path:n,message:e.message,issueCode:e.code};if(t.doc!==null&&t.source!==null){let e=r({file:t.path,source:t.source,doc:t.doc,path:n});if(e!==void 0)return{...i,source:e}}return i})}function v(n){let r=n??process.cwd(),c=[],l=a(`user`,r),u=i({absPath:l}),f={};u.valid&&u.source!==void 0?(f=h(f,u.value),c.push(l)):u.valid;let p=d(r,`.ok`,s),m=g(p);if(m.value!==null){let n=e({value:m.value,file:m.path,source:m.source,doc:m.doc});if(n.length>0)throw Error(n.map(t).join(`
1
+ import{Ii as e,Li as t,Oa as n,zi as r}from"./server-lock-BpjJj3OD-Cia38KR1.mjs";import{Xi as i,Zi as a,m as o}from"./dist-wZSZMIoi.mjs";import{t as s}from"./constants-CRYjinaK.mjs";import{t as c}from"./is-object-Cie0xXKD.mjs";import{existsSync as l,readFileSync as u}from"node:fs";import{resolve as d}from"node:path";import{realpath as f}from"node:fs/promises";async function p(e){let t=d(e);try{return await f(t)}catch(e){if(e.code!==`ENOENT`){let n=e instanceof Error?e.message:String(e);console.warn(`[normalize-cwd] realpath failed for ${t}: ${n}`)}return t}}var m=n();function h(e,t){let n={...e};for(let r of Object.keys(t)){let i=e[r],a=t[r];c(a)&&c(i)?n[r]=h(i,a):a!==void 0&&(n[r]=a)}return n}function g(e){if(!l(e))return{value:null,path:e,source:null,doc:null};let t;try{t=u(e,`utf-8`)}catch(t){return console.warn(`[config] Failed to read ${e}: ${t instanceof Error?t.message:t}`),{value:null,path:e,source:null,doc:null}}let n=(0,m.parseDocument)(t);if(n.errors.length>0)return console.warn(`[config] Failed to parse ${e}: ${n.errors.map(e=>e.message).join(`; `)}`),{value:null,path:e,source:t,doc:null};let r=n.toJSON();return c(r)?{value:r,path:e,source:t,doc:n}:{value:null,path:e,source:t,doc:n}}function _(e,t){return e.map(e=>{let n=e.path.map(e=>typeof e==`symbol`?String(e):e),i={path:n,message:e.message,issueCode:e.code};if(t.doc!==null&&t.source!==null){let e=r({file:t.path,source:t.source,doc:t.doc,path:n});if(e!==void 0)return{...i,source:e}}return i})}function v(n){let r=n??process.cwd(),c=[],l=a(`user`,r),u=i({absPath:l}),f={};u.valid&&u.source!==void 0?(f=h(f,u.value),c.push(l)):u.valid;let p=d(r,`.ok`,s),m=g(p);if(m.value!==null){let n=e({value:m.value,file:m.path,source:m.source,doc:m.doc});if(n.length>0)throw Error(n.map(t).join(`
2
2
 
3
3
  `));f=h(f,m.value),c.push(p)}let v=o.safeParse(f);if(!v.success){let e={code:`SCHEMA_INVALID`,issues:_(v.error.issues,m)};throw Error(t(e))}return{config:v.data,sources:c}}function y(e){let t=e.cacheMs??1e3,n=e.loadConfigFn??v,r=new Map,i=new Map,a=p(e.startupCwd);return async o=>{let s=await p(o??e.startupCwd),c=Date.now(),l=r.get(s);if(l&&l.expiresAt>c)return l.config;let u=i.get(s);if(u)return await u;let d=(async()=>{if(s===await a)return r.set(s,{config:e.startupConfig,expiresAt:Date.now()+t}),e.startupConfig;let i=n(s).config;return r.set(s,{config:i,expiresAt:Date.now()+t}),i})();i.set(s,d);try{return await d}finally{i.delete(s)}}}export{v as n,y as t};
4
- //# sourceMappingURL=loader-yyLYaVhN.mjs.map
4
+ //# sourceMappingURL=loader-CeZuzoj9.mjs.map
@@ -0,0 +1 @@
1
+ import{n as e}from"./loader-CeZuzoj9.mjs";export{e as loadConfig};
@@ -1,3 +1,3 @@
1
- import{Gt as e}from"./dist-Dcg4smYg.mjs";import"./constants-PrZJ-CTv.mjs";import{existsSync as t,lstatSync as n,readdirSync as r,realpathSync as i,statSync as a}from"node:fs";import{join as o,relative as s}from"node:path";function c(t){let{projectDir:c,contentDir:l,sampleCap:u=5}=t,d=[],f=[];try{n(l)}catch(e){return{totalCount:0,sample:[],contentDir:l,warnings:[`cannot access content directory ${l}: ${e instanceof Error?e.message:String(e)}`]}}let p;try{p=e({projectDir:c,contentDir:l})}catch(e){return{totalCount:0,sample:[],contentDir:l,warnings:[e instanceof Error?e.message:String(e)]}}function m(e){let t;try{t=r(e,{withFileTypes:!0})}catch(t){let n=t instanceof Error?t.message:String(t);d.push(`could not read directory ${s(l,e)||`.`}: ${n}`);return}for(let n of t){let t=o(e,n.name);if(n.isSymbolicLink()){let e;try{e=i(t)}catch(e){let n=e.code;n===`ENOENT`||n===`ELOOP`?d.push(`broken or cyclic symlink: ${s(l,t)}`):d.push(`cannot resolve symlink ${s(l,t)}: ${n??`unknown error`}`);continue}let n;try{n=a(e)}catch{continue}if(n.isDirectory()){let e=s(l,t);if(p.isDirExcluded(e))continue;m(t)}else if(n.isFile()){let e=s(l,t);if(p.isExcluded(e))continue;f.push(e)}}else if(n.isDirectory()){let e=s(l,t);if(p.isDirExcluded(e))continue;m(t)}else if(n.isFile()){let e=s(l,t);if(p.isExcluded(e))continue;f.push(e)}}}return m(l),{totalCount:f.length,sample:f.slice(0,u),contentDir:l,warnings:d}}function l(e,n){let r=[],i=s(n,e.contentDir),a=i===``?`./`:`./${i}`;if(r.push(`Content:`),r.push(` Found ${e.totalCount} markdown files in ${a}`),e.sample.length>0){let t=e.sample.join(`, `),n=e.totalCount>e.sample.length?`, …`:``;r.push(` Sample: ${t}${n}`)}if(e.warnings.length>0)for(let t of e.warnings)r.push(` Warning: ${t}`);return r.push(``),t(o(n,`.ok`,`config.yml`))?(r.push(` To adjust scope, add patterns to .okignore at the project root.`),r.push(` To change the content root, edit .ok/config.yml → content.dir.`)):r.push(" Run `open-knowledge init` to scaffold config + .okignore."),r.push(``),r.push(` Re-check anytime: open-knowledge preview`),r.join(`
1
+ import{Gt as e}from"./dist-wZSZMIoi.mjs";import"./constants-CRYjinaK.mjs";import{existsSync as t,lstatSync as n,readdirSync as r,realpathSync as i,statSync as a}from"node:fs";import{join as o,relative as s}from"node:path";function c(t){let{projectDir:c,contentDir:l,sampleCap:u=5}=t,d=[],f=[];try{n(l)}catch(e){return{totalCount:0,sample:[],contentDir:l,warnings:[`cannot access content directory ${l}: ${e instanceof Error?e.message:String(e)}`]}}let p;try{p=e({projectDir:c,contentDir:l})}catch(e){return{totalCount:0,sample:[],contentDir:l,warnings:[e instanceof Error?e.message:String(e)]}}function m(e){let t;try{t=r(e,{withFileTypes:!0})}catch(t){let n=t instanceof Error?t.message:String(t);d.push(`could not read directory ${s(l,e)||`.`}: ${n}`);return}for(let n of t){let t=o(e,n.name);if(n.isSymbolicLink()){let e;try{e=i(t)}catch(e){let n=e.code;n===`ENOENT`||n===`ELOOP`?d.push(`broken or cyclic symlink: ${s(l,t)}`):d.push(`cannot resolve symlink ${s(l,t)}: ${n??`unknown error`}`);continue}let n;try{n=a(e)}catch{continue}if(n.isDirectory()){let e=s(l,t);if(p.isDirExcluded(e))continue;m(t)}else if(n.isFile()){let e=s(l,t);if(p.isExcluded(e))continue;f.push(e)}}else if(n.isDirectory()){let e=s(l,t);if(p.isDirExcluded(e))continue;m(t)}else if(n.isFile()){let e=s(l,t);if(p.isExcluded(e))continue;f.push(e)}}}return m(l),{totalCount:f.length,sample:f.slice(0,u),contentDir:l,warnings:d}}function l(e,n){let r=[],i=s(n,e.contentDir),a=i===``?`./`:`./${i}`;if(r.push(`Content:`),r.push(` Found ${e.totalCount} markdown files in ${a}`),e.sample.length>0){let t=e.sample.join(`, `),n=e.totalCount>e.sample.length?`, …`:``;r.push(` Sample: ${t}${n}`)}if(e.warnings.length>0)for(let t of e.warnings)r.push(` Warning: ${t}`);return r.push(``),t(o(n,`.ok`,`config.yml`))?(r.push(` To adjust scope, add patterns to .okignore at the project root.`),r.push(` To change the content root, edit .ok/config.yml → content.dir.`)):r.push(" Run `open-knowledge init` to scaffold config + .okignore."),r.push(``),r.push(` Re-check anytime: open-knowledge preview`),r.join(`
2
2
  `)}export{c as n,l as t};
3
- //# sourceMappingURL=preview-DF7SCtlt.mjs.map
3
+ //# sourceMappingURL=preview-0zWEGOpg.mjs.map
@@ -0,0 +1 @@
1
+ import{n as e,t}from"./preview-0zWEGOpg.mjs";export{t as formatPreviewBlock,e as previewContent};
@@ -1,2 +1,2 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ActivityPanelDiffView-InYkbArk.js","./chunk-CFjPhJqf.js","./compiler-runtime-Cs91PcD2.js","./ActivityPanelDiffView-legcy4jI.css"])))=>i.map(i=>d[i]);
2
- import{o as e}from"./chunk-CFjPhJqf.js";import{t}from"./preload-helper-2ej06EnG.js";import{a as n,i as r,o as i,r as a,t as o}from"./compiler-runtime-Cs91PcD2.js";import{at as s,cr as c,n as l,r as u,ur as d,zn as f}from"./DocumentContext-C8n-fc7S.js";import{at as p,o as m,s as h}from"./dist-y6LKqPoG.js";import{t as g,u as _}from"./button-CNAPefQE.js";import{f as v,i as y,m as b,r as x,t as S}from"./agent-presence-CarzuseD.js";import{a as C,c as w,i as T,o as E,s as D,t as O}from"./dialog-DAnNTn2Z.js";import{o as ee}from"./collapsible-T5wuIIwr.js";import{R as k,_ as A,i as j,l as M}from"./prop-types-CDQJyL6r.js";import{n as N}from"./dist-QyEeuecv.js";import{i as te,n as ne,t as re}from"./tooltip-DhvUSgK7.js";var ie=_(`rewind`,[[`path`,{d:`M12 6a2 2 0 0 0-3.414-1.414l-6 6a2 2 0 0 0 0 2.828l6 6A2 2 0 0 0 12 18z`,key:`2a1g8i`}],[`path`,{d:`M22 6a2 2 0 0 0-3.414-1.414l-6 6a2 2 0 0 0 0 2.828l6 6A2 2 0 0 0 22 18z`,key:`rg3s36`}]]),P=o(),F=e(n(),1),ae=500,I=64;async function oe(e){let t=`/api/agent-activity?agentId=${encodeURIComponent(e)}`,n=await fetch(t),r;try{r=await n.json()}catch(e){throw new s(`Could not parse /api/agent-activity response.`,{cause:e,status:n.status})}if(!n.ok){let e=p.safeParse(r);throw e.success?Error(e.data.title):new s(`/api/agent-activity returned a non-RFC-9457 error response.`,{cause:e.error,status:n.status})}let i=m.safeParse(r);if(!i.success)throw new s(`/api/agent-activity returned a body that did not match AgentActivitySuccessSchema.`,{cause:i.error,status:n.status});return i.data}async function se(e,t,n){let r=`/api/agent-burst-diff?agentId=${encodeURIComponent(e)}&docName=${encodeURIComponent(t)}&stackIndex=${n}`,i=await fetch(r),a;try{a=await i.json()}catch(e){throw new s(`Could not parse /api/agent-burst-diff response.`,{cause:e,status:i.status})}if(!i.ok){let e=p.safeParse(a);throw e.success?Error(e.data.title):new s(`/api/agent-burst-diff returned a non-RFC-9457 error response.`,{cause:e.error,status:i.status})}let o=h.safeParse(a);if(!o.success)throw new s(`/api/agent-burst-diff returned a body that did not match AgentBurstDiffSuccessSchema.`,{cause:o.error,status:i.status});return o.data.diff}function ce(e){let t=(0,P.c)(23),{systemProvider:n}=l(),[r,i]=(0,F.useState)(null),[a,o]=(0,F.useState)(`idle`),[s,c]=(0,F.useState)(null),u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=new y(I),t[0]=u):u=t[0];let d=(0,F.useRef)(u),f=(0,F.useRef)(0),p;t[1]===n?p=t[2]:(p=e=>{let t=f.current+=1;o(`loading`),c(null),oe(e).then(r=>{if(f.current!==t)return;let a=ue(n,e);i({...r,writingDocs:a}),o(`ready`)}).catch(e=>{f.current===t&&(c(e instanceof Error?e.message:String(e)),o(`error`))})},t[1]=n,t[2]=p);let m=p,h;t[3]!==e||t[4]!==m?(h=()=>{if(!e){f.current+=1,i(null),o(`idle`),c(null),d.current.clear();return}d.current.clear(),m(e);let t=null,n=A(n=>{n.includes(`session-activity`)&&(t&&clearTimeout(t),t=setTimeout(()=>{t=null,m(e)},ae))});return()=>{t&&clearTimeout(t),n()}},t[3]=e,t[4]=m,t[5]=h):h=t[5];let g;t[6]===e?g=t[7]:(g=[e],t[6]=e,t[7]=g),(0,F.useEffect)(h,g);let _,v;t[8]!==e||t[9]!==n?(_=()=>{if(!e||!n)return;let t=()=>{if(!n.awareness)return;let t=ue(n,e);i(e=>!e||le(e.writingDocs,t)?e:{...e,writingDocs:t})},r=n.awareness;if(!r||typeof r.on!=`function`){t();return}r.on(`update`,t),t();let a=setInterval(t,1e3);return()=>{clearInterval(a),typeof r.off==`function`&&r.off(`update`,t)}},v=[e,n],t[8]=e,t[9]=n,t[10]=_,t[11]=v):(_=t[10],v=t[11]),(0,F.useEffect)(_,v);let b;t[12]===e?b=t[13]:(b=async(t,n)=>{if(!e)return``;let r=`${t}\0${n}`,i=d.current.get(r);if(i!==void 0)return i;let a=await se(e,t,n);return d.current.set(r,a),a},t[12]=e,t[13]=b);let x=b,S;t[14]!==e||t[15]!==m?(S=()=>{e&&m(e)},t[14]=e,t[15]=m,t[16]=S):S=t[16];let C=S,w;return t[17]!==r||t[18]!==s||t[19]!==x||t[20]!==C||t[21]!==a?(w={data:r,status:a,error:s,reload:C,fetchBurstDiff:x},t[17]=r,t[18]=s,t[19]=x,t[20]=C,t[21]=a,t[22]=w):w=t[22],w}function le(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function ue(e,t){let n=new Set;if(!e)return n;let r=e.awareness;if(!S(r))return n;let i=[t,t.startsWith(`agent-`)?t.slice(6):`agent-${t}`];for(let e of r.getStates().values()){let t=e.agentPresence;if(t)for(let e of i){let r=t[e];r&&r.mode===`writing`&&r.currentDoc&&n.add(r.currentDoc)}}return n}var L=i(),de=(0,F.lazy)(async()=>({default:(await t(()=>import(`./ActivityPanelDiffView-InYkbArk.js`),__vite__mapDeps([0,1,2,3]),import.meta.url)).ActivityPanelDiffView}));function fe(e,t){let n=Math.max(0,t-e);if(n<6e4){let e=Math.round(n/1e3);return k._({id:`pbwTg6`,values:{seconds:e}})}if(n<36e5){let e=Math.round(n/6e4);return k._({id:`_rP3HI`,values:{minutes:e}})}return new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function pe(e){let t=(0,P.c)(42),{burst:n,docName:i,fetchBurstDiff:o}=e,{_:s}=r(),[c,l]=(0,F.useState)(!1),[u,f]=(0,F.useState)(null),[p,m]=(0,F.useState)(null),[h,g]=(0,F.useState)(!1),[_,v]=(0,F.useState)(R),y,b;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(y=()=>{let e=setInterval(()=>v(Date.now()),3e4);return()=>clearInterval(e)},b=[],t[0]=y,t[1]=b):(y=t[0],b=t[1]),(0,F.useEffect)(y,b);let x;t[2]!==n.stackIndex||t[3]!==u||t[4]!==i||t[5]!==c||t[6]!==o||t[7]!==h?(x=()=>{let e=!c;l(e),e&&u===null&&!h&&(g(!0),m(null),o(i,n.stackIndex).then(e=>{f(e),g(!1)}).catch(e=>{m(e instanceof Error?e.message:String(e)),g(!1)}))},t[2]=n.stackIndex,t[3]=u,t[4]=i,t[5]=c,t[6]=o,t[7]=h,t[8]=x):x=t[8];let S=x,C=n.stackIndex+1,w;t[9]!==s||t[10]!==C||t[11]!==c?(w=s(c?{id:`-i7ik4`,values:{burstNumber:C}}:{id:`EeRZnZ`,values:{burstNumber:C}}),t[9]=s,t[10]=C,t[11]=c,t[12]=w):w=t[12];let T;t[13]===c?T=t[14]:(T=c?(0,L.jsx)(d,{className:`size-3 shrink-0`,"aria-hidden":`true`}):(0,L.jsx)(ee,{className:`size-3 shrink-0`,"aria-hidden":`true`}),t[13]=c,t[14]=T);let E;t[15]!==n.ts||t[16]!==_?(E=fe(n.ts,_),t[15]=n.ts,t[16]=_,t[17]=E):E=t[17];let D;t[18]===E?D=t[19]:(D=(0,L.jsx)(`span`,{className:`font-mono`,children:E}),t[18]=E,t[19]=D);let O;t[20]===n.additions?O=t[21]:(O=(0,L.jsxs)(`span`,{className:`text-green-600 dark:text-green-400`,children:[`+`,n.additions]}),t[20]=n.additions,t[21]=O);let k;t[22]===n.deletions?k=t[23]:(k=(0,L.jsxs)(`span`,{className:`text-red-600 dark:text-red-400`,children:[`−`,n.deletions]}),t[22]=n.deletions,t[23]=k);let A;t[24]!==O||t[25]!==k?(A=(0,L.jsxs)(`span`,{className:`ml-auto font-mono`,children:[O,` `,k]}),t[24]=O,t[25]=k,t[26]=A):A=t[26];let j;t[27]!==c||t[28]!==A||t[29]!==w||t[30]!==T||t[31]!==D||t[32]!==S?(j=(0,L.jsxs)(`button`,{type:`button`,onClick:S,className:`flex w-full items-center gap-2 px-4 py-1.5 text-xs text-muted-foreground hover:bg-muted/40`,"aria-expanded":c,"aria-label":w,children:[T,D,A]}),t[27]=c,t[28]=A,t[29]=w,t[30]=T,t[31]=D,t[32]=S,t[33]=j):j=t[33];let M;t[34]!==u||t[35]!==c||t[36]!==p||t[37]!==h?(M=c?(0,L.jsx)(`div`,{className:`bg-muted/20`,children:h?(0,L.jsx)(`div`,{className:`px-4 py-2 text-xs text-muted-foreground italic`,children:(0,L.jsx)(a,{id:`38foVZ`})}):p?(0,L.jsx)(`div`,{className:`px-4 py-2 text-xs text-destructive`,children:(0,L.jsx)(a,{id:`pmKdif`,values:{loadError:p}})}):u===null?(0,L.jsx)(`div`,{className:`px-4 py-2 text-xs text-muted-foreground italic`,children:(0,L.jsx)(a,{id:`iNFKkm`})}):(0,L.jsx)(F.Suspense,{fallback:(0,L.jsx)(`div`,{className:`px-4 py-2 text-xs text-muted-foreground italic`,children:(0,L.jsx)(a,{id:`38foVZ`})}),children:(0,L.jsx)(de,{diff:u})})}):null,t[34]=u,t[35]=c,t[36]=p,t[37]=h,t[38]=M):M=t[38];let N;return t[39]!==j||t[40]!==M?(N=(0,L.jsxs)(`div`,{className:`border-t border-border/50`,children:[j,M]}),t[39]=j,t[40]=M,t[41]=N):N=t[41],N}function R(){return Date.now()}function me(e,t){let n=Math.max(0,t-e);if(n<6e4){let e=Math.round(n/1e3);return k._({id:`pbwTg6`,values:{seconds:e}})}if(n<36e5){let e=Math.round(n/6e4);return k._({id:`_rP3HI`,values:{minutes:e}})}let r=Math.round(n/36e5);return k._({id:`nYeBmY`,values:{hours:r}})}function z(e){let t=(0,P.c)(118),{file:n,sessionAlive:i,isWriting:o,onNavigate:s,onUndoLast:c,onUndoAll:l,fetchBurstDiff:u}=e,{_:f}=r(),{docName:p}=n,[m,h]=(0,F.useState)(!1),[_,y]=(0,F.useState)(!1),[b,x]=(0,F.useState)(!1),[S,k]=(0,F.useState)(ge),A,j;if(t[0]===Symbol.for(`react.memo_cache_sentinel`)?(A=()=>{let e=setInterval(()=>k(Date.now()),3e4);return()=>clearInterval(e)},j=[],t[0]=A,t[1]=j):(A=t[0],j=t[1]),(0,F.useEffect)(A,j),n.bursts.length===0)return null;let M=!i||n.bursts.length===0||b,N=n.bursts.length,ae;t[2]!==f||t[3]!==n.bursts.length||t[4]!==i?(ae=i?n.bursts.length===0?f({id:`2fkdnR`}):null:f({id:`NzFvyK`}),t[2]=f,t[3]=n.bursts.length,t[4]=i,t[5]=ae):ae=t[5];let I=ae,oe;t[6]!==M||t[7]!==n.docName||t[8]!==c?(oe=e=>{e.stopPropagation(),!M&&(x(!0),Promise.resolve(c(n.docName)).finally(()=>x(!1)))},t[6]=M,t[7]=n.docName,t[8]=c,t[9]=oe):oe=t[9];let se=oe,ce;t[10]===M?ce=t[11]:(ce=e=>{e.stopPropagation(),!M&&y(!0)},t[10]=M,t[11]=ce);let le=ce,ue;t[12]!==M||t[13]!==n.docName||t[14]!==l?(ue=()=>{y(!1),!M&&(x(!0),Promise.resolve(l(n.docName)).finally(()=>x(!1)))},t[12]=M,t[13]=n.docName,t[14]=l,t[15]=ue):ue=t[15];let de=ue,fe;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(fe=()=>h(he),t[16]=fe):fe=t[16];let R;t[17]!==f||t[18]!==p||t[19]!==m?(R=f(m?{id:`rVgSRB`,values:{docName:p}}:{id:`tW_yvQ`,values:{docName:p}}),t[17]=f,t[18]=p,t[19]=m,t[20]=R):R=t[20];let z;t[21]===m?z=t[22]:(z=m?(0,L.jsx)(d,{className:`size-4`,"aria-hidden":`true`}):(0,L.jsx)(ee,{className:`size-4`,"aria-hidden":`true`}),t[21]=m,t[22]=z);let B;t[23]!==m||t[24]!==R||t[25]!==z?(B=(0,L.jsx)(`button`,{type:`button`,onClick:fe,className:`flex size-5 shrink-0 items-center justify-center rounded hover:bg-muted`,"aria-expanded":m,"aria-label":R,"data-testid":`activity-panel-file-row-carrot`,children:z}),t[23]=m,t[24]=R,t[25]=z,t[26]=B):B=t[26];let V;t[27]!==n.docName||t[28]!==s?(V=()=>s(n.docName),t[27]=n.docName,t[28]=s,t[29]=V):V=t[29];let H;t[30]!==f||t[31]!==p?(H=f({id:`QcpeeE`,values:{docName:p}}),t[30]=f,t[31]=p,t[32]=H):H=t[32];let U;t[33]!==n.docName||t[34]!==V||t[35]!==H?(U=(0,L.jsx)(`button`,{type:`button`,onClick:V,className:`min-w-0 flex-1 truncate text-left text-foreground hover:underline focus-visible:outline-ring`,"aria-label":H,"data-testid":`activity-panel-file-row-filename`,title:n.docName,children:n.docName}),t[33]=n.docName,t[34]=V,t[35]=H,t[36]=U):U=t[36];let W;t[37]!==f||t[38]!==p?(W=f({id:`m4v3XT`,values:{docName:p}}),t[37]=f,t[38]=p,t[39]=W):W=t[39];let _e;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,L.jsx)(v,{className:`size-3.5`,"aria-hidden":`true`}),t[40]=_e):_e=t[40];let G;t[41]!==M||t[42]!==se||t[43]!==W?(G=(0,L.jsx)(te,{asChild:!0,children:(0,L.jsx)(g,{type:`button`,variant:`ghost`,size:`icon`,className:`size-6 shrink-0`,onClick:se,disabled:M,"aria-label":W,"data-testid":`activity-panel-undo-last`,children:_e})}),t[41]=M,t[42]=se,t[43]=W,t[44]=G):G=t[44];let K;t[45]!==f||t[46]!==I?(K=I??f({id:`ArBWJf`}),t[45]=f,t[46]=I,t[47]=K):K=t[47];let q;t[48]===K?q=t[49]:(q=(0,L.jsx)(ne,{side:`bottom`,children:K}),t[48]=K,t[49]=q);let J;t[50]!==G||t[51]!==q?(J=(0,L.jsxs)(re,{children:[G,q]}),t[50]=G,t[51]=q,t[52]=J):J=t[52];let Y;t[53]!==f||t[54]!==p?(Y=f({id:`J2MgzQ`,values:{docName:p}}),t[53]=f,t[54]=p,t[55]=Y):Y=t[55];let ve;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(ve=(0,L.jsx)(ie,{className:`size-3.5`,"aria-hidden":`true`}),t[56]=ve):ve=t[56];let X;t[57]!==M||t[58]!==le||t[59]!==Y?(X=(0,L.jsx)(te,{asChild:!0,children:(0,L.jsx)(g,{type:`button`,variant:`ghost`,size:`icon`,className:`size-6 shrink-0`,onClick:le,disabled:M,"aria-label":Y,"data-testid":`activity-panel-undo-all`,children:ve})}),t[57]=M,t[58]=le,t[59]=Y,t[60]=X):X=t[60];let Z;t[61]!==f||t[62]!==I?(Z=I??f({id:`mNY1G6`}),t[61]=f,t[62]=I,t[63]=Z):Z=t[63];let ye;t[64]===Z?ye=t[65]:(ye=(0,L.jsx)(ne,{side:`bottom`,children:Z}),t[64]=Z,t[65]=ye);let be;t[66]!==X||t[67]!==ye?(be=(0,L.jsxs)(re,{children:[X,ye]}),t[66]=X,t[67]=ye,t[68]=be):be=t[68];let xe;t[69]===n.additionsTotal?xe=t[70]:(xe=(0,L.jsxs)(`span`,{className:`text-green-600 dark:text-green-400`,children:[`+`,n.additionsTotal]}),t[69]=n.additionsTotal,t[70]=xe);let Se;t[71]===n.deletionsTotal?Se=t[72]:(Se=(0,L.jsxs)(`span`,{className:`text-red-600 dark:text-red-400`,children:[`−`,n.deletionsTotal]}),t[71]=n.deletionsTotal,t[72]=Se);let Ce;t[73]!==xe||t[74]!==Se?(Ce=(0,L.jsxs)(`span`,{className:`shrink-0 font-mono text-xs`,children:[xe,` `,Se]}),t[73]=xe,t[74]=Se,t[75]=Ce):Ce=t[75];let we;t[76]!==n.lastTs||t[77]!==S?(we=me(n.lastTs,S),t[76]=n.lastTs,t[77]=S,t[78]=we):we=t[78];let Q;t[79]===we?Q=t[80]:(Q=(0,L.jsx)(`span`,{className:`shrink-0 font-mono text-[11px] text-muted-foreground`,children:we}),t[79]=we,t[80]=Q);let Te;t[81]===o?Te=t[82]:(Te=o?(0,L.jsx)(`span`,{className:`shrink-0 text-[11px] text-primary animate-pulse`,role:`status`,children:(0,L.jsx)(a,{id:`6q0rnH`})}):null,t[81]=o,t[82]=Te);let Ee;t[83]!==B||t[84]!==U||t[85]!==J||t[86]!==be||t[87]!==Ce||t[88]!==Q||t[89]!==Te?(Ee=(0,L.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2 text-sm`,children:[B,U,J,be,Ce,Q,Te]}),t[83]=B,t[84]=U,t[85]=J,t[86]=be,t[87]=Ce,t[88]=Q,t[89]=Te,t[90]=Ee):Ee=t[90];let De;t[91]!==m||t[92]!==u||t[93]!==n.bursts||t[94]!==n.docName?(De=m?(0,L.jsx)(`div`,{children:n.bursts.map(e=>(0,L.jsx)(pe,{burst:e,docName:n.docName,fetchBurstDiff:u},`${n.docName}:${e.stackIndex}`))}):null,t[91]=m,t[92]=u,t[93]=n.bursts,t[94]=n.docName,t[95]=De):De=t[95];let Oe;t[96]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=(0,L.jsx)(w,{children:(0,L.jsx)(a,{id:`SEYWYq`})}),t[96]=Oe):Oe=t[96];let ke;t[97]!==N||t[98]!==p?(ke={docName:p,burstCount:N},t[97]=N,t[98]=p,t[99]=ke):ke=t[99];let Ae;t[100]===Symbol.for(`react.memo_cache_sentinel`)?(Ae={0:(0,L.jsx)(`span`,{className:`font-mono text-foreground`})},t[100]=Ae):Ae=t[100];let je;t[101]===ke?je=t[102]:(je=(0,L.jsxs)(D,{children:[Oe,(0,L.jsx)(C,{children:(0,L.jsx)(a,{id:`ZBYKxv`,values:ke,components:Ae})})]}),t[101]=ke,t[102]=je);let Me;t[103]===Symbol.for(`react.memo_cache_sentinel`)?(Me=()=>y(!1),t[103]=Me):Me=t[103];let Ne;t[104]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=(0,L.jsx)(g,{type:`button`,variant:`outline`,onClick:Me,"data-testid":`activity-panel-undo-all-cancel`,children:(0,L.jsx)(a,{id:`dEgA5A`})}),t[104]=Ne):Ne=t[104];let Pe;t[105]===Symbol.for(`react.memo_cache_sentinel`)?(Pe=(0,L.jsx)(a,{id:`MWrUEd`}),t[105]=Pe):Pe=t[105];let Fe;t[106]===de?Fe=t[107]:(Fe=(0,L.jsxs)(E,{children:[Ne,(0,L.jsx)(g,{type:`button`,variant:`destructive`,onClick:de,"data-testid":`activity-panel-undo-all-confirm`,children:Pe})]}),t[106]=de,t[107]=Fe);let Ie;t[108]!==je||t[109]!==Fe?(Ie=(0,L.jsxs)(T,{className:`sm:max-w-md`,children:[je,Fe]}),t[108]=je,t[109]=Fe,t[110]=Ie):Ie=t[110];let $;t[111]!==_||t[112]!==Ie?($=(0,L.jsx)(O,{open:_,onOpenChange:y,children:Ie}),t[111]=_,t[112]=Ie,t[113]=$):$=t[113];let Le;return t[114]!==Ee||t[115]!==De||t[116]!==$?(Le=(0,L.jsxs)(`div`,{className:`border-b border-border`,"data-testid":`activity-panel-file-row`,children:[Ee,De,$]}),t[114]=Ee,t[115]=De,t[116]=$,t[117]=Le):Le=t[117],Le}function he(e){return!e}function ge(){return Date.now()}async function B(e){let t=await fetch(`/api/agent-undo`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({...e,agentId:e.connectionId})});if(!t.ok)throw Error(`agent-undo failed: HTTP ${t.status}`)}function V(e){return`#/${e.split(`/`).map(e=>encodeURIComponent(e)).join(`/`)}`}function H(e){typeof window>`u`||(window.location.hash=V(e))}function U(){let e=(0,P.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,L.jsx)(f,{className:`mr-2 size-4 animate-spin`,"aria-hidden":`true`}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,L.jsxs)(`div`,{className:`flex h-full items-center justify-center p-6 text-muted-foreground`,role:`status`,"aria-busy":`true`,children:[t,(0,L.jsx)(`span`,{className:`text-sm`,children:(0,L.jsx)(a,{id:`ONPvOb`})})]}),e[1]=n):n=e[1],n}function W(e){let t=(0,P.c)(10),{error:n,onRetry:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,L.jsx)(c,{className:`size-6 text-destructive`,"aria-hidden":`true`}),t[0]=i):i=t[0];let o;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,L.jsx)(`p`,{className:`text-sm font-medium`,children:(0,L.jsx)(a,{id:`DhLHEb`})}),t[1]=o):o=t[1];let s;t[2]===n?s=t[3]:(s=(0,L.jsxs)(`div`,{className:`space-y-1`,children:[o,(0,L.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:n})]}),t[2]=n,t[3]=s);let l;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,L.jsx)(a,{id:`6gRgw8`}),t[4]=l):l=t[4];let u;t[5]===r?u=t[6]:(u=(0,L.jsx)(g,{type:`button`,variant:`outline`,size:`sm`,onClick:r,children:l}),t[5]=r,t[6]=u);let d;return t[7]!==s||t[8]!==u?(d=(0,L.jsxs)(`div`,{className:`flex flex-col items-center gap-3 p-6 text-center`,role:`alert`,"data-testid":`activity-panel-error`,children:[i,s,u]}),t[7]=s,t[8]=u,t[9]=d):d=t[9],d}function _e(){let e=(0,P.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,L.jsx)(`div`,{className:`flex h-full items-center justify-center p-6 text-muted-foreground`,"data-testid":`activity-panel-empty`,children:(0,L.jsx)(`p`,{className:`text-sm italic`,children:(0,L.jsx)(a,{id:`iuTKci`})})}),e[0]=t):t=e[0],t}function G(e){let t=(0,P.c)(12),{onExit:n,showBackButton:i}=e,{_:o}=r(),s;t[0]===o?s=t[1]:(s=o({id:`kYL1lH`}),t[0]=o,t[1]=s);let c;t[2]!==n||t[3]!==i?(c=i?(0,L.jsx)(K,{onClick:n}):null,t[2]=n,t[3]=i,t[4]=c):c=t[4];let l;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,L.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:(0,L.jsx)(a,{id:`kYL1lH`})}),t[5]=l):l=t[5];let u;t[6]===c?u=t[7]:(u=(0,L.jsxs)(`div`,{className:`flex shrink-0 flex-row items-center gap-2 border-b border-border px-3 py-2`,children:[c,l]}),t[6]=c,t[7]=u);let d;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,L.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-6 text-muted-foreground`,children:(0,L.jsx)(`p`,{className:`text-center text-sm italic`,children:(0,L.jsx)(a,{id:`D_WKe_`})})}),t[8]=d):d=t[8];let f;return t[9]!==s||t[10]!==u?(f=(0,L.jsxs)(`section`,{className:`flex h-full min-h-0 flex-col`,"data-testid":`activity-panel-no-agent`,"aria-label":s,children:[u,d]}),t[9]=s,t[10]=u,t[11]=f):f=t[11],f}function K(e){let t=(0,P.c)(9),{onClick:n}=e,{_:i}=r(),o;t[0]===i?o=t[1]:(o=i({id:`ogAuyr`}),t[0]=i,t[1]=o);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,L.jsx)(b,{}),t[2]=s):s=t[2];let c;t[3]!==n||t[4]!==o?(c=(0,L.jsx)(te,{asChild:!0,children:(0,L.jsx)(g,{type:`button`,variant:`ghost`,size:`icon`,className:`size-7 shrink-0`,onClick:n,"aria-label":o,"data-testid":`docpanel-exit-agent-mode`,children:s})}),t[3]=n,t[4]=o,t[5]=c):c=t[5];let l;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,L.jsx)(ne,{side:`bottom`,children:(0,L.jsx)(a,{id:`ogAuyr`})}),t[6]=l):l=t[6];let u;return t[7]===c?u=t[8]:(u=(0,L.jsxs)(re,{children:[c,l]}),t[7]=c,t[8]=u),u}function q(e){let t=(0,P.c)(9),{lastTs:n}=e,[r]=(0,F.useState)(J),i;t[0]!==n||t[1]!==r?(i=n?Y(r-n):null,t[0]=n,t[1]=r,t[2]=i):i=t[2];let o=i,s;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,L.jsx)(`span`,{className:`font-medium`,children:(0,L.jsx)(a,{id:`LCUy_N`})}),t[3]=s):s=t[3];let c;t[4]===o?c=t[5]:(c=o?(0,L.jsxs)(`span`,{children:[` · `,o]}):null,t[4]=o,t[5]=c);let l;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,L.jsx)(`div`,{className:`mt-1 opacity-80`,children:(0,L.jsx)(a,{id:`GK-IRZ`})}),t[6]=l):l=t[6];let u;return t[7]===c?u=t[8]:(u=(0,L.jsxs)(`div`,{className:`border-b border-border bg-muted/40 px-4 py-3 text-xs text-muted-foreground`,"data-testid":`activity-panel-session-ended`,children:[s,c,l]}),t[7]=c,t[8]=u),u}function J(){return Date.now()}function Y(e){let t=Math.max(0,e);if(t<6e4){let e=Math.round(t/1e3);return k._({id:`pbwTg6`,values:{seconds:e}})}if(t<36e5){let e=Math.round(t/6e4);return k._({id:`_rP3HI`,values:{minutes:e}})}let n=Math.round(t/36e5);return k._({id:`nYeBmY`,values:{hours:n}})}function ve(e){let t=(0,P.c)(10),{agent:n,size:r}=e,i=r===void 0?28:r,a;t[0]!==n.color||t[1]!==i?(a={backgroundColor:n.color,width:i,height:i},t[0]=n.color,t[1]=i,t[2]=a):a=t[2];let o=i*.57,s=i*.57,c;t[3]!==n.icon||t[4]!==o||t[5]!==s?(c=(0,L.jsx)(x,{icon:n.icon,width:o,height:s}),t[3]=n.icon,t[4]=o,t[5]=s,t[6]=c):c=t[6];let l;return t[7]!==a||t[8]!==c?(l=(0,L.jsx)(`span`,{className:`inline-flex shrink-0 items-center justify-center rounded-full text-white ring-2 ring-background`,style:a,"aria-hidden":`true`,children:c}),t[7]=a,t[8]=c,t[9]=l):l=t[9],l}function X(e){let t=(0,P.c)(26),{data:n,status:i,error:o,reload:s,fetchBurstDiff:c,onExit:l,onNavigate:u,onUndoLast:d,onUndoAll:f,showBackButton:p}=e,{_:m}=r(),h=n?.files?.[0]?.lastTs??null,g=n?.files?.length??0,_;t[0]===m?_=t[1]:(_=m({id:`kYL1lH`}),t[0]=m,t[1]=_);let v;t[2]!==l||t[3]!==p?(v=p?(0,L.jsx)(K,{onClick:l}):null,t[2]=l,t[3]=p,t[4]=v):v=t[4];let y;t[5]!==n||t[6]!==g||t[7]!==h?(y=n?.agent?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(ve,{agent:n.agent}),(0,L.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,L.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:n.agent.displayName}),(0,L.jsxs)(`p`,{className:`truncate text-xs text-muted-foreground`,children:[n.sessionAlive?(0,L.jsx)(a,{id:`F6pfE9`}):h===null?(0,L.jsx)(a,{id:`PMyJ9C`}):(0,L.jsx)(a,{id:`237hSL`}),n.files.length>0?(0,L.jsxs)(L.Fragment,{children:[` · `,(0,L.jsx)(a,{id:`u3BOHd`,values:{fileCount:g}})]}):null]})]})]}):(0,L.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,L.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:(0,L.jsx)(a,{id:`kYL1lH`})})}),t[5]=n,t[6]=g,t[7]=h,t[8]=y):y=t[8];let b;t[9]!==v||t[10]!==y?(b=(0,L.jsxs)(`div`,{className:`flex flex-row items-center gap-2 border-b border-border px-3 py-2 shrink-0`,children:[v,y]}),t[9]=v,t[10]=y,t[11]=b):b=t[11];let x;t[12]!==n||t[13]!==o||t[14]!==c||t[15]!==h||t[16]!==u||t[17]!==f||t[18]!==d||t[19]!==s||t[20]!==i?(x=(0,L.jsx)(`div`,{className:`flex-1 overflow-y-auto`,"data-testid":`activity-panel-body`,children:i===`loading`&&n===null?(0,L.jsx)(U,{}):i===`error`&&o?(0,L.jsx)(W,{error:o,onRetry:s}):n===null?(0,L.jsx)(_e,{}):(0,L.jsxs)(L.Fragment,{children:[!n.sessionAlive&&h!==null?(0,L.jsx)(q,{lastTs:h}):null,n.files.length===0?(0,L.jsx)(_e,{}):n.files.map(e=>(0,L.jsx)(z,{file:e,sessionAlive:n.sessionAlive,isWriting:n.writingDocs.has(e.docName),onNavigate:u,onUndoLast:d,onUndoAll:f,fetchBurstDiff:c},e.docName))]})}),t[12]=n,t[13]=o,t[14]=c,t[15]=h,t[16]=u,t[17]=f,t[18]=d,t[19]=s,t[20]=i,t[21]=x):x=t[21];let S;return t[22]!==_||t[23]!==b||t[24]!==x?(S=(0,L.jsxs)(`section`,{className:`flex h-full min-h-0 flex-col`,"data-testid":`activity-panel`,"aria-label":_,children:[b,x]}),t[22]=_,t[23]=b,t[24]=x,t[25]=S):S=t[25],S}function Z(e){let t=(0,P.c)(29),n;t[0]===e?n=t[1]:(n=e===void 0?{}:e,t[0]=e,t[1]=n);let{showBackButton:i}=n,a=i===void 0?!0:i,{_:o}=r(),{docPanelAgentId:s,closeActivityPanel:c}=l(),{openTargetTransition:d}=u(),{pageMeta:f}=j(),{data:p,status:m,error:h,reload:g,fetchBurstDiff:_}=ce(s);if(s===null){let e;return t[2]!==c||t[3]!==a?(e=(0,L.jsx)(G,{onExit:c,showBackButton:a}),t[2]=c,t[3]=a,t[4]=e):e=t[4],e}let v;t[5]!==d||t[6]!==f?(v=e=>{d(M({kind:`doc`,target:e,docName:e},f)),H(e)},t[5]=d,t[6]=f,t[7]=v):v=t[7];let y=v,b;t[8]!==o||t[9]!==p||t[10]!==s||t[11]!==g?(b=async e=>{try{await B({connectionId:s,docName:e,scope:`last`,agentName:p?.agent?.displayName}),g()}catch(e){let t=e,n=t instanceof Error?t.message:String(t);N.error(o({id:`EqrC_R`,values:{message:n}})),g()}},t[8]=o,t[9]=p,t[10]=s,t[11]=g,t[12]=b):b=t[12];let x=b,S;t[13]!==o||t[14]!==p||t[15]!==s||t[16]!==g?(S=async e=>{try{await B({connectionId:s,docName:e,scope:`file`,agentName:p?.agent?.displayName}),N.success(o({id:`pRc-Im`,values:{docName:e}})),g()}catch(e){let t=e,n=t instanceof Error?t.message:String(t);N.error(o({id:`7KeV5F`,values:{message:n}})),g()}},t[13]=o,t[14]=p,t[15]=s,t[16]=g,t[17]=S):S=t[17];let C=S,w;return t[18]!==c||t[19]!==p||t[20]!==h||t[21]!==_||t[22]!==y||t[23]!==C||t[24]!==x||t[25]!==g||t[26]!==a||t[27]!==m?(w=(0,L.jsx)(X,{data:p,status:m,error:h,reload:g,fetchBurstDiff:_,onExit:c,onNavigate:y,onUndoLast:x,onUndoAll:C,showBackButton:a}),t[18]=c,t[19]=p,t[20]=h,t[21]=_,t[22]=y,t[23]=C,t[24]=x,t[25]=g,t[26]=a,t[27]=m,t[28]=w):w=t[28],w}export{Z as ActivityModeContent};
2
+ import{o as e}from"./chunk-CFjPhJqf.js";import{t}from"./preload-helper-2ej06EnG.js";import{a as n,i as r,o as i,r as a,t as o}from"./compiler-runtime-Cs91PcD2.js";import{Bn as s,at as c,dr as l,lr as u,n as d,r as f}from"./DocumentContext-BK44vUOF.js";import{at as p,o as m,s as h}from"./dist-CkyAinZx.js";import{t as g,u as _}from"./button-CNAPefQE.js";import{f as v,i as y,m as b,r as x,t as S}from"./agent-presence-CarzuseD.js";import{a as C,c as w,i as T,o as E,s as D,t as O}from"./dialog-CtMCOb1V.js";import{o as ee}from"./collapsible-CiYR1NR5.js";import{R as k,_ as A,i as j,l as M}from"./prop-types-CqTEMXrE.js";import{n as N}from"./dist-rFfpDyC7.js";import{i as te,n as ne,t as re}from"./tooltip-Bp4cM4E8.js";var ie=_(`rewind`,[[`path`,{d:`M12 6a2 2 0 0 0-3.414-1.414l-6 6a2 2 0 0 0 0 2.828l6 6A2 2 0 0 0 12 18z`,key:`2a1g8i`}],[`path`,{d:`M22 6a2 2 0 0 0-3.414-1.414l-6 6a2 2 0 0 0 0 2.828l6 6A2 2 0 0 0 22 18z`,key:`rg3s36`}]]),P=o(),F=e(n(),1),ae=500,I=64;async function oe(e){let t=`/api/agent-activity?agentId=${encodeURIComponent(e)}`,n=await fetch(t),r;try{r=await n.json()}catch(e){throw new c(`Could not parse /api/agent-activity response.`,{cause:e,status:n.status})}if(!n.ok){let e=p.safeParse(r);throw e.success?Error(e.data.title):new c(`/api/agent-activity returned a non-RFC-9457 error response.`,{cause:e.error,status:n.status})}let i=m.safeParse(r);if(!i.success)throw new c(`/api/agent-activity returned a body that did not match AgentActivitySuccessSchema.`,{cause:i.error,status:n.status});return i.data}async function se(e,t,n){let r=`/api/agent-burst-diff?agentId=${encodeURIComponent(e)}&docName=${encodeURIComponent(t)}&stackIndex=${n}`,i=await fetch(r),a;try{a=await i.json()}catch(e){throw new c(`Could not parse /api/agent-burst-diff response.`,{cause:e,status:i.status})}if(!i.ok){let e=p.safeParse(a);throw e.success?Error(e.data.title):new c(`/api/agent-burst-diff returned a non-RFC-9457 error response.`,{cause:e.error,status:i.status})}let o=h.safeParse(a);if(!o.success)throw new c(`/api/agent-burst-diff returned a body that did not match AgentBurstDiffSuccessSchema.`,{cause:o.error,status:i.status});return o.data.diff}function ce(e){let t=(0,P.c)(23),{systemProvider:n}=d(),[r,i]=(0,F.useState)(null),[a,o]=(0,F.useState)(`idle`),[s,c]=(0,F.useState)(null),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=new y(I),t[0]=l):l=t[0];let u=(0,F.useRef)(l),f=(0,F.useRef)(0),p;t[1]===n?p=t[2]:(p=e=>{let t=f.current+=1;o(`loading`),c(null),oe(e).then(r=>{if(f.current!==t)return;let a=ue(n,e);i({...r,writingDocs:a}),o(`ready`)}).catch(e=>{f.current===t&&(c(e instanceof Error?e.message:String(e)),o(`error`))})},t[1]=n,t[2]=p);let m=p,h;t[3]!==e||t[4]!==m?(h=()=>{if(!e){f.current+=1,i(null),o(`idle`),c(null),u.current.clear();return}u.current.clear(),m(e);let t=null,n=A(n=>{n.includes(`session-activity`)&&(t&&clearTimeout(t),t=setTimeout(()=>{t=null,m(e)},ae))});return()=>{t&&clearTimeout(t),n()}},t[3]=e,t[4]=m,t[5]=h):h=t[5];let g;t[6]===e?g=t[7]:(g=[e],t[6]=e,t[7]=g),(0,F.useEffect)(h,g);let _,v;t[8]!==e||t[9]!==n?(_=()=>{if(!e||!n)return;let t=()=>{if(!n.awareness)return;let t=ue(n,e);i(e=>!e||le(e.writingDocs,t)?e:{...e,writingDocs:t})},r=n.awareness;if(!r||typeof r.on!=`function`){t();return}r.on(`update`,t),t();let a=setInterval(t,1e3);return()=>{clearInterval(a),typeof r.off==`function`&&r.off(`update`,t)}},v=[e,n],t[8]=e,t[9]=n,t[10]=_,t[11]=v):(_=t[10],v=t[11]),(0,F.useEffect)(_,v);let b;t[12]===e?b=t[13]:(b=async(t,n)=>{if(!e)return``;let r=`${t}\0${n}`,i=u.current.get(r);if(i!==void 0)return i;let a=await se(e,t,n);return u.current.set(r,a),a},t[12]=e,t[13]=b);let x=b,S;t[14]!==e||t[15]!==m?(S=()=>{e&&m(e)},t[14]=e,t[15]=m,t[16]=S):S=t[16];let C=S,w;return t[17]!==r||t[18]!==s||t[19]!==x||t[20]!==C||t[21]!==a?(w={data:r,status:a,error:s,reload:C,fetchBurstDiff:x},t[17]=r,t[18]=s,t[19]=x,t[20]=C,t[21]=a,t[22]=w):w=t[22],w}function le(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function ue(e,t){let n=new Set;if(!e)return n;let r=e.awareness;if(!S(r))return n;let i=[t,t.startsWith(`agent-`)?t.slice(6):`agent-${t}`];for(let e of r.getStates().values()){let t=e.agentPresence;if(t)for(let e of i){let r=t[e];r&&r.mode===`writing`&&r.currentDoc&&n.add(r.currentDoc)}}return n}var L=i(),de=(0,F.lazy)(async()=>({default:(await t(()=>import(`./ActivityPanelDiffView-InYkbArk.js`),__vite__mapDeps([0,1,2,3]),import.meta.url)).ActivityPanelDiffView}));function fe(e,t){let n=Math.max(0,t-e);if(n<6e4){let e=Math.round(n/1e3);return k._({id:`pbwTg6`,values:{seconds:e}})}if(n<36e5){let e=Math.round(n/6e4);return k._({id:`_rP3HI`,values:{minutes:e}})}return new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function pe(e){let t=(0,P.c)(42),{burst:n,docName:i,fetchBurstDiff:o}=e,{_:s}=r(),[c,u]=(0,F.useState)(!1),[d,f]=(0,F.useState)(null),[p,m]=(0,F.useState)(null),[h,g]=(0,F.useState)(!1),[_,v]=(0,F.useState)(R),y,b;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(y=()=>{let e=setInterval(()=>v(Date.now()),3e4);return()=>clearInterval(e)},b=[],t[0]=y,t[1]=b):(y=t[0],b=t[1]),(0,F.useEffect)(y,b);let x;t[2]!==n.stackIndex||t[3]!==d||t[4]!==i||t[5]!==c||t[6]!==o||t[7]!==h?(x=()=>{let e=!c;u(e),e&&d===null&&!h&&(g(!0),m(null),o(i,n.stackIndex).then(e=>{f(e),g(!1)}).catch(e=>{m(e instanceof Error?e.message:String(e)),g(!1)}))},t[2]=n.stackIndex,t[3]=d,t[4]=i,t[5]=c,t[6]=o,t[7]=h,t[8]=x):x=t[8];let S=x,C=n.stackIndex+1,w;t[9]!==s||t[10]!==C||t[11]!==c?(w=s(c?{id:`-i7ik4`,values:{burstNumber:C}}:{id:`EeRZnZ`,values:{burstNumber:C}}),t[9]=s,t[10]=C,t[11]=c,t[12]=w):w=t[12];let T;t[13]===c?T=t[14]:(T=c?(0,L.jsx)(l,{className:`size-3 shrink-0`,"aria-hidden":`true`}):(0,L.jsx)(ee,{className:`size-3 shrink-0`,"aria-hidden":`true`}),t[13]=c,t[14]=T);let E;t[15]!==n.ts||t[16]!==_?(E=fe(n.ts,_),t[15]=n.ts,t[16]=_,t[17]=E):E=t[17];let D;t[18]===E?D=t[19]:(D=(0,L.jsx)(`span`,{className:`font-mono`,children:E}),t[18]=E,t[19]=D);let O;t[20]===n.additions?O=t[21]:(O=(0,L.jsxs)(`span`,{className:`text-green-600 dark:text-green-400`,children:[`+`,n.additions]}),t[20]=n.additions,t[21]=O);let k;t[22]===n.deletions?k=t[23]:(k=(0,L.jsxs)(`span`,{className:`text-red-600 dark:text-red-400`,children:[`−`,n.deletions]}),t[22]=n.deletions,t[23]=k);let A;t[24]!==O||t[25]!==k?(A=(0,L.jsxs)(`span`,{className:`ml-auto font-mono`,children:[O,` `,k]}),t[24]=O,t[25]=k,t[26]=A):A=t[26];let j;t[27]!==c||t[28]!==A||t[29]!==w||t[30]!==T||t[31]!==D||t[32]!==S?(j=(0,L.jsxs)(`button`,{type:`button`,onClick:S,className:`flex w-full items-center gap-2 px-4 py-1.5 text-xs text-muted-foreground hover:bg-muted/40`,"aria-expanded":c,"aria-label":w,children:[T,D,A]}),t[27]=c,t[28]=A,t[29]=w,t[30]=T,t[31]=D,t[32]=S,t[33]=j):j=t[33];let M;t[34]!==d||t[35]!==c||t[36]!==p||t[37]!==h?(M=c?(0,L.jsx)(`div`,{className:`bg-muted/20`,children:h?(0,L.jsx)(`div`,{className:`px-4 py-2 text-xs text-muted-foreground italic`,children:(0,L.jsx)(a,{id:`38foVZ`})}):p?(0,L.jsx)(`div`,{className:`px-4 py-2 text-xs text-destructive`,children:(0,L.jsx)(a,{id:`pmKdif`,values:{loadError:p}})}):d===null?(0,L.jsx)(`div`,{className:`px-4 py-2 text-xs text-muted-foreground italic`,children:(0,L.jsx)(a,{id:`iNFKkm`})}):(0,L.jsx)(F.Suspense,{fallback:(0,L.jsx)(`div`,{className:`px-4 py-2 text-xs text-muted-foreground italic`,children:(0,L.jsx)(a,{id:`38foVZ`})}),children:(0,L.jsx)(de,{diff:d})})}):null,t[34]=d,t[35]=c,t[36]=p,t[37]=h,t[38]=M):M=t[38];let N;return t[39]!==j||t[40]!==M?(N=(0,L.jsxs)(`div`,{className:`border-t border-border/50`,children:[j,M]}),t[39]=j,t[40]=M,t[41]=N):N=t[41],N}function R(){return Date.now()}function me(e,t){let n=Math.max(0,t-e);if(n<6e4){let e=Math.round(n/1e3);return k._({id:`pbwTg6`,values:{seconds:e}})}if(n<36e5){let e=Math.round(n/6e4);return k._({id:`_rP3HI`,values:{minutes:e}})}let r=Math.round(n/36e5);return k._({id:`nYeBmY`,values:{hours:r}})}function z(e){let t=(0,P.c)(118),{file:n,sessionAlive:i,isWriting:o,onNavigate:s,onUndoLast:c,onUndoAll:u,fetchBurstDiff:d}=e,{_:f}=r(),{docName:p}=n,[m,h]=(0,F.useState)(!1),[_,y]=(0,F.useState)(!1),[b,x]=(0,F.useState)(!1),[S,k]=(0,F.useState)(ge),A,j;if(t[0]===Symbol.for(`react.memo_cache_sentinel`)?(A=()=>{let e=setInterval(()=>k(Date.now()),3e4);return()=>clearInterval(e)},j=[],t[0]=A,t[1]=j):(A=t[0],j=t[1]),(0,F.useEffect)(A,j),n.bursts.length===0)return null;let M=!i||n.bursts.length===0||b,N=n.bursts.length,ae;t[2]!==f||t[3]!==n.bursts.length||t[4]!==i?(ae=i?n.bursts.length===0?f({id:`2fkdnR`}):null:f({id:`NzFvyK`}),t[2]=f,t[3]=n.bursts.length,t[4]=i,t[5]=ae):ae=t[5];let I=ae,oe;t[6]!==M||t[7]!==n.docName||t[8]!==c?(oe=e=>{e.stopPropagation(),!M&&(x(!0),Promise.resolve(c(n.docName)).finally(()=>x(!1)))},t[6]=M,t[7]=n.docName,t[8]=c,t[9]=oe):oe=t[9];let se=oe,ce;t[10]===M?ce=t[11]:(ce=e=>{e.stopPropagation(),!M&&y(!0)},t[10]=M,t[11]=ce);let le=ce,ue;t[12]!==M||t[13]!==n.docName||t[14]!==u?(ue=()=>{y(!1),!M&&(x(!0),Promise.resolve(u(n.docName)).finally(()=>x(!1)))},t[12]=M,t[13]=n.docName,t[14]=u,t[15]=ue):ue=t[15];let de=ue,fe;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(fe=()=>h(he),t[16]=fe):fe=t[16];let R;t[17]!==f||t[18]!==p||t[19]!==m?(R=f(m?{id:`rVgSRB`,values:{docName:p}}:{id:`tW_yvQ`,values:{docName:p}}),t[17]=f,t[18]=p,t[19]=m,t[20]=R):R=t[20];let z;t[21]===m?z=t[22]:(z=m?(0,L.jsx)(l,{className:`size-4`,"aria-hidden":`true`}):(0,L.jsx)(ee,{className:`size-4`,"aria-hidden":`true`}),t[21]=m,t[22]=z);let B;t[23]!==m||t[24]!==R||t[25]!==z?(B=(0,L.jsx)(`button`,{type:`button`,onClick:fe,className:`flex size-5 shrink-0 items-center justify-center rounded hover:bg-muted`,"aria-expanded":m,"aria-label":R,"data-testid":`activity-panel-file-row-carrot`,children:z}),t[23]=m,t[24]=R,t[25]=z,t[26]=B):B=t[26];let V;t[27]!==n.docName||t[28]!==s?(V=()=>s(n.docName),t[27]=n.docName,t[28]=s,t[29]=V):V=t[29];let H;t[30]!==f||t[31]!==p?(H=f({id:`QcpeeE`,values:{docName:p}}),t[30]=f,t[31]=p,t[32]=H):H=t[32];let U;t[33]!==n.docName||t[34]!==V||t[35]!==H?(U=(0,L.jsx)(`button`,{type:`button`,onClick:V,className:`min-w-0 flex-1 truncate text-left text-foreground hover:underline focus-visible:outline-ring`,"aria-label":H,"data-testid":`activity-panel-file-row-filename`,title:n.docName,children:n.docName}),t[33]=n.docName,t[34]=V,t[35]=H,t[36]=U):U=t[36];let W;t[37]!==f||t[38]!==p?(W=f({id:`m4v3XT`,values:{docName:p}}),t[37]=f,t[38]=p,t[39]=W):W=t[39];let _e;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,L.jsx)(v,{className:`size-3.5`,"aria-hidden":`true`}),t[40]=_e):_e=t[40];let G;t[41]!==M||t[42]!==se||t[43]!==W?(G=(0,L.jsx)(te,{asChild:!0,children:(0,L.jsx)(g,{type:`button`,variant:`ghost`,size:`icon`,className:`size-6 shrink-0`,onClick:se,disabled:M,"aria-label":W,"data-testid":`activity-panel-undo-last`,children:_e})}),t[41]=M,t[42]=se,t[43]=W,t[44]=G):G=t[44];let K;t[45]!==f||t[46]!==I?(K=I??f({id:`ArBWJf`}),t[45]=f,t[46]=I,t[47]=K):K=t[47];let q;t[48]===K?q=t[49]:(q=(0,L.jsx)(ne,{side:`bottom`,children:K}),t[48]=K,t[49]=q);let J;t[50]!==G||t[51]!==q?(J=(0,L.jsxs)(re,{children:[G,q]}),t[50]=G,t[51]=q,t[52]=J):J=t[52];let Y;t[53]!==f||t[54]!==p?(Y=f({id:`J2MgzQ`,values:{docName:p}}),t[53]=f,t[54]=p,t[55]=Y):Y=t[55];let ve;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(ve=(0,L.jsx)(ie,{className:`size-3.5`,"aria-hidden":`true`}),t[56]=ve):ve=t[56];let X;t[57]!==M||t[58]!==le||t[59]!==Y?(X=(0,L.jsx)(te,{asChild:!0,children:(0,L.jsx)(g,{type:`button`,variant:`ghost`,size:`icon`,className:`size-6 shrink-0`,onClick:le,disabled:M,"aria-label":Y,"data-testid":`activity-panel-undo-all`,children:ve})}),t[57]=M,t[58]=le,t[59]=Y,t[60]=X):X=t[60];let Z;t[61]!==f||t[62]!==I?(Z=I??f({id:`mNY1G6`}),t[61]=f,t[62]=I,t[63]=Z):Z=t[63];let ye;t[64]===Z?ye=t[65]:(ye=(0,L.jsx)(ne,{side:`bottom`,children:Z}),t[64]=Z,t[65]=ye);let be;t[66]!==X||t[67]!==ye?(be=(0,L.jsxs)(re,{children:[X,ye]}),t[66]=X,t[67]=ye,t[68]=be):be=t[68];let xe;t[69]===n.additionsTotal?xe=t[70]:(xe=(0,L.jsxs)(`span`,{className:`text-green-600 dark:text-green-400`,children:[`+`,n.additionsTotal]}),t[69]=n.additionsTotal,t[70]=xe);let Se;t[71]===n.deletionsTotal?Se=t[72]:(Se=(0,L.jsxs)(`span`,{className:`text-red-600 dark:text-red-400`,children:[`−`,n.deletionsTotal]}),t[71]=n.deletionsTotal,t[72]=Se);let Ce;t[73]!==xe||t[74]!==Se?(Ce=(0,L.jsxs)(`span`,{className:`shrink-0 font-mono text-xs`,children:[xe,` `,Se]}),t[73]=xe,t[74]=Se,t[75]=Ce):Ce=t[75];let we;t[76]!==n.lastTs||t[77]!==S?(we=me(n.lastTs,S),t[76]=n.lastTs,t[77]=S,t[78]=we):we=t[78];let Q;t[79]===we?Q=t[80]:(Q=(0,L.jsx)(`span`,{className:`shrink-0 font-mono text-[11px] text-muted-foreground`,children:we}),t[79]=we,t[80]=Q);let Te;t[81]===o?Te=t[82]:(Te=o?(0,L.jsx)(`span`,{className:`shrink-0 text-[11px] text-primary animate-pulse`,role:`status`,children:(0,L.jsx)(a,{id:`6q0rnH`})}):null,t[81]=o,t[82]=Te);let Ee;t[83]!==B||t[84]!==U||t[85]!==J||t[86]!==be||t[87]!==Ce||t[88]!==Q||t[89]!==Te?(Ee=(0,L.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2 text-sm`,children:[B,U,J,be,Ce,Q,Te]}),t[83]=B,t[84]=U,t[85]=J,t[86]=be,t[87]=Ce,t[88]=Q,t[89]=Te,t[90]=Ee):Ee=t[90];let De;t[91]!==m||t[92]!==d||t[93]!==n.bursts||t[94]!==n.docName?(De=m?(0,L.jsx)(`div`,{children:n.bursts.map(e=>(0,L.jsx)(pe,{burst:e,docName:n.docName,fetchBurstDiff:d},`${n.docName}:${e.stackIndex}`))}):null,t[91]=m,t[92]=d,t[93]=n.bursts,t[94]=n.docName,t[95]=De):De=t[95];let Oe;t[96]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=(0,L.jsx)(w,{children:(0,L.jsx)(a,{id:`SEYWYq`})}),t[96]=Oe):Oe=t[96];let ke;t[97]!==N||t[98]!==p?(ke={docName:p,burstCount:N},t[97]=N,t[98]=p,t[99]=ke):ke=t[99];let Ae;t[100]===Symbol.for(`react.memo_cache_sentinel`)?(Ae={0:(0,L.jsx)(`span`,{className:`font-mono text-foreground`})},t[100]=Ae):Ae=t[100];let je;t[101]===ke?je=t[102]:(je=(0,L.jsxs)(D,{children:[Oe,(0,L.jsx)(C,{children:(0,L.jsx)(a,{id:`ZBYKxv`,values:ke,components:Ae})})]}),t[101]=ke,t[102]=je);let Me;t[103]===Symbol.for(`react.memo_cache_sentinel`)?(Me=()=>y(!1),t[103]=Me):Me=t[103];let Ne;t[104]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=(0,L.jsx)(g,{type:`button`,variant:`outline`,onClick:Me,"data-testid":`activity-panel-undo-all-cancel`,children:(0,L.jsx)(a,{id:`dEgA5A`})}),t[104]=Ne):Ne=t[104];let Pe;t[105]===Symbol.for(`react.memo_cache_sentinel`)?(Pe=(0,L.jsx)(a,{id:`MWrUEd`}),t[105]=Pe):Pe=t[105];let Fe;t[106]===de?Fe=t[107]:(Fe=(0,L.jsxs)(E,{children:[Ne,(0,L.jsx)(g,{type:`button`,variant:`destructive`,onClick:de,"data-testid":`activity-panel-undo-all-confirm`,children:Pe})]}),t[106]=de,t[107]=Fe);let Ie;t[108]!==je||t[109]!==Fe?(Ie=(0,L.jsxs)(T,{className:`sm:max-w-md`,children:[je,Fe]}),t[108]=je,t[109]=Fe,t[110]=Ie):Ie=t[110];let $;t[111]!==_||t[112]!==Ie?($=(0,L.jsx)(O,{open:_,onOpenChange:y,children:Ie}),t[111]=_,t[112]=Ie,t[113]=$):$=t[113];let Le;return t[114]!==Ee||t[115]!==De||t[116]!==$?(Le=(0,L.jsxs)(`div`,{className:`border-b border-border`,"data-testid":`activity-panel-file-row`,children:[Ee,De,$]}),t[114]=Ee,t[115]=De,t[116]=$,t[117]=Le):Le=t[117],Le}function he(e){return!e}function ge(){return Date.now()}async function B(e){let t=await fetch(`/api/agent-undo`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({...e,agentId:e.connectionId})});if(!t.ok)throw Error(`agent-undo failed: HTTP ${t.status}`)}function V(e){return`#/${e.split(`/`).map(e=>encodeURIComponent(e)).join(`/`)}`}function H(e){typeof window>`u`||(window.location.hash=V(e))}function U(){let e=(0,P.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,L.jsx)(s,{className:`mr-2 size-4 animate-spin`,"aria-hidden":`true`}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,L.jsxs)(`div`,{className:`flex h-full items-center justify-center p-6 text-muted-foreground`,role:`status`,"aria-busy":`true`,children:[t,(0,L.jsx)(`span`,{className:`text-sm`,children:(0,L.jsx)(a,{id:`ONPvOb`})})]}),e[1]=n):n=e[1],n}function W(e){let t=(0,P.c)(10),{error:n,onRetry:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,L.jsx)(u,{className:`size-6 text-destructive`,"aria-hidden":`true`}),t[0]=i):i=t[0];let o;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,L.jsx)(`p`,{className:`text-sm font-medium`,children:(0,L.jsx)(a,{id:`DhLHEb`})}),t[1]=o):o=t[1];let s;t[2]===n?s=t[3]:(s=(0,L.jsxs)(`div`,{className:`space-y-1`,children:[o,(0,L.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:n})]}),t[2]=n,t[3]=s);let c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,L.jsx)(a,{id:`6gRgw8`}),t[4]=c):c=t[4];let l;t[5]===r?l=t[6]:(l=(0,L.jsx)(g,{type:`button`,variant:`outline`,size:`sm`,onClick:r,children:c}),t[5]=r,t[6]=l);let d;return t[7]!==s||t[8]!==l?(d=(0,L.jsxs)(`div`,{className:`flex flex-col items-center gap-3 p-6 text-center`,role:`alert`,"data-testid":`activity-panel-error`,children:[i,s,l]}),t[7]=s,t[8]=l,t[9]=d):d=t[9],d}function _e(){let e=(0,P.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,L.jsx)(`div`,{className:`flex h-full items-center justify-center p-6 text-muted-foreground`,"data-testid":`activity-panel-empty`,children:(0,L.jsx)(`p`,{className:`text-sm italic`,children:(0,L.jsx)(a,{id:`iuTKci`})})}),e[0]=t):t=e[0],t}function G(e){let t=(0,P.c)(12),{onExit:n,showBackButton:i}=e,{_:o}=r(),s;t[0]===o?s=t[1]:(s=o({id:`kYL1lH`}),t[0]=o,t[1]=s);let c;t[2]!==n||t[3]!==i?(c=i?(0,L.jsx)(K,{onClick:n}):null,t[2]=n,t[3]=i,t[4]=c):c=t[4];let l;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,L.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:(0,L.jsx)(a,{id:`kYL1lH`})}),t[5]=l):l=t[5];let u;t[6]===c?u=t[7]:(u=(0,L.jsxs)(`div`,{className:`flex shrink-0 flex-row items-center gap-2 border-b border-border px-3 py-2`,children:[c,l]}),t[6]=c,t[7]=u);let d;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,L.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-6 text-muted-foreground`,children:(0,L.jsx)(`p`,{className:`text-center text-sm italic`,children:(0,L.jsx)(a,{id:`D_WKe_`})})}),t[8]=d):d=t[8];let f;return t[9]!==s||t[10]!==u?(f=(0,L.jsxs)(`section`,{className:`flex h-full min-h-0 flex-col`,"data-testid":`activity-panel-no-agent`,"aria-label":s,children:[u,d]}),t[9]=s,t[10]=u,t[11]=f):f=t[11],f}function K(e){let t=(0,P.c)(9),{onClick:n}=e,{_:i}=r(),o;t[0]===i?o=t[1]:(o=i({id:`ogAuyr`}),t[0]=i,t[1]=o);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,L.jsx)(b,{}),t[2]=s):s=t[2];let c;t[3]!==n||t[4]!==o?(c=(0,L.jsx)(te,{asChild:!0,children:(0,L.jsx)(g,{type:`button`,variant:`ghost`,size:`icon`,className:`size-7 shrink-0`,onClick:n,"aria-label":o,"data-testid":`docpanel-exit-agent-mode`,children:s})}),t[3]=n,t[4]=o,t[5]=c):c=t[5];let l;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,L.jsx)(ne,{side:`bottom`,children:(0,L.jsx)(a,{id:`ogAuyr`})}),t[6]=l):l=t[6];let u;return t[7]===c?u=t[8]:(u=(0,L.jsxs)(re,{children:[c,l]}),t[7]=c,t[8]=u),u}function q(e){let t=(0,P.c)(9),{lastTs:n}=e,[r]=(0,F.useState)(J),i;t[0]!==n||t[1]!==r?(i=n?Y(r-n):null,t[0]=n,t[1]=r,t[2]=i):i=t[2];let o=i,s;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,L.jsx)(`span`,{className:`font-medium`,children:(0,L.jsx)(a,{id:`LCUy_N`})}),t[3]=s):s=t[3];let c;t[4]===o?c=t[5]:(c=o?(0,L.jsxs)(`span`,{children:[` · `,o]}):null,t[4]=o,t[5]=c);let l;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,L.jsx)(`div`,{className:`mt-1 opacity-80`,children:(0,L.jsx)(a,{id:`GK-IRZ`})}),t[6]=l):l=t[6];let u;return t[7]===c?u=t[8]:(u=(0,L.jsxs)(`div`,{className:`border-b border-border bg-muted/40 px-4 py-3 text-xs text-muted-foreground`,"data-testid":`activity-panel-session-ended`,children:[s,c,l]}),t[7]=c,t[8]=u),u}function J(){return Date.now()}function Y(e){let t=Math.max(0,e);if(t<6e4){let e=Math.round(t/1e3);return k._({id:`pbwTg6`,values:{seconds:e}})}if(t<36e5){let e=Math.round(t/6e4);return k._({id:`_rP3HI`,values:{minutes:e}})}let n=Math.round(t/36e5);return k._({id:`nYeBmY`,values:{hours:n}})}function ve(e){let t=(0,P.c)(10),{agent:n,size:r}=e,i=r===void 0?28:r,a;t[0]!==n.color||t[1]!==i?(a={backgroundColor:n.color,width:i,height:i},t[0]=n.color,t[1]=i,t[2]=a):a=t[2];let o=i*.57,s=i*.57,c;t[3]!==n.icon||t[4]!==o||t[5]!==s?(c=(0,L.jsx)(x,{icon:n.icon,width:o,height:s}),t[3]=n.icon,t[4]=o,t[5]=s,t[6]=c):c=t[6];let l;return t[7]!==a||t[8]!==c?(l=(0,L.jsx)(`span`,{className:`inline-flex shrink-0 items-center justify-center rounded-full text-white ring-2 ring-background`,style:a,"aria-hidden":`true`,children:c}),t[7]=a,t[8]=c,t[9]=l):l=t[9],l}function X(e){let t=(0,P.c)(26),{data:n,status:i,error:o,reload:s,fetchBurstDiff:c,onExit:l,onNavigate:u,onUndoLast:d,onUndoAll:f,showBackButton:p}=e,{_:m}=r(),h=n?.files?.[0]?.lastTs??null,g=n?.files?.length??0,_;t[0]===m?_=t[1]:(_=m({id:`kYL1lH`}),t[0]=m,t[1]=_);let v;t[2]!==l||t[3]!==p?(v=p?(0,L.jsx)(K,{onClick:l}):null,t[2]=l,t[3]=p,t[4]=v):v=t[4];let y;t[5]!==n||t[6]!==g||t[7]!==h?(y=n?.agent?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(ve,{agent:n.agent}),(0,L.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,L.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:n.agent.displayName}),(0,L.jsxs)(`p`,{className:`truncate text-xs text-muted-foreground`,children:[n.sessionAlive?(0,L.jsx)(a,{id:`F6pfE9`}):h===null?(0,L.jsx)(a,{id:`PMyJ9C`}):(0,L.jsx)(a,{id:`237hSL`}),n.files.length>0?(0,L.jsxs)(L.Fragment,{children:[` · `,(0,L.jsx)(a,{id:`u3BOHd`,values:{fileCount:g}})]}):null]})]})]}):(0,L.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,L.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:(0,L.jsx)(a,{id:`kYL1lH`})})}),t[5]=n,t[6]=g,t[7]=h,t[8]=y):y=t[8];let b;t[9]!==v||t[10]!==y?(b=(0,L.jsxs)(`div`,{className:`flex flex-row items-center gap-2 border-b border-border px-3 py-2 shrink-0`,children:[v,y]}),t[9]=v,t[10]=y,t[11]=b):b=t[11];let x;t[12]!==n||t[13]!==o||t[14]!==c||t[15]!==h||t[16]!==u||t[17]!==f||t[18]!==d||t[19]!==s||t[20]!==i?(x=(0,L.jsx)(`div`,{className:`flex-1 overflow-y-auto`,"data-testid":`activity-panel-body`,children:i===`loading`&&n===null?(0,L.jsx)(U,{}):i===`error`&&o?(0,L.jsx)(W,{error:o,onRetry:s}):n===null?(0,L.jsx)(_e,{}):(0,L.jsxs)(L.Fragment,{children:[!n.sessionAlive&&h!==null?(0,L.jsx)(q,{lastTs:h}):null,n.files.length===0?(0,L.jsx)(_e,{}):n.files.map(e=>(0,L.jsx)(z,{file:e,sessionAlive:n.sessionAlive,isWriting:n.writingDocs.has(e.docName),onNavigate:u,onUndoLast:d,onUndoAll:f,fetchBurstDiff:c},e.docName))]})}),t[12]=n,t[13]=o,t[14]=c,t[15]=h,t[16]=u,t[17]=f,t[18]=d,t[19]=s,t[20]=i,t[21]=x):x=t[21];let S;return t[22]!==_||t[23]!==b||t[24]!==x?(S=(0,L.jsxs)(`section`,{className:`flex h-full min-h-0 flex-col`,"data-testid":`activity-panel`,"aria-label":_,children:[b,x]}),t[22]=_,t[23]=b,t[24]=x,t[25]=S):S=t[25],S}function Z(e){let t=(0,P.c)(29),n;t[0]===e?n=t[1]:(n=e===void 0?{}:e,t[0]=e,t[1]=n);let{showBackButton:i}=n,a=i===void 0?!0:i,{_:o}=r(),{docPanelAgentId:s,closeActivityPanel:c}=d(),{openTargetTransition:l}=f(),{pageMeta:u}=j(),{data:p,status:m,error:h,reload:g,fetchBurstDiff:_}=ce(s);if(s===null){let e;return t[2]!==c||t[3]!==a?(e=(0,L.jsx)(G,{onExit:c,showBackButton:a}),t[2]=c,t[3]=a,t[4]=e):e=t[4],e}let v;t[5]!==l||t[6]!==u?(v=e=>{l(M({kind:`doc`,target:e,docName:e},u)),H(e)},t[5]=l,t[6]=u,t[7]=v):v=t[7];let y=v,b;t[8]!==o||t[9]!==p||t[10]!==s||t[11]!==g?(b=async e=>{try{await B({connectionId:s,docName:e,scope:`last`,agentName:p?.agent?.displayName}),g()}catch(e){let t=e,n=t instanceof Error?t.message:String(t);N.error(o({id:`EqrC_R`,values:{message:n}})),g()}},t[8]=o,t[9]=p,t[10]=s,t[11]=g,t[12]=b):b=t[12];let x=b,S;t[13]!==o||t[14]!==p||t[15]!==s||t[16]!==g?(S=async e=>{try{await B({connectionId:s,docName:e,scope:`file`,agentName:p?.agent?.displayName}),N.success(o({id:`pRc-Im`,values:{docName:e}})),g()}catch(e){let t=e,n=t instanceof Error?t.message:String(t);N.error(o({id:`7KeV5F`,values:{message:n}})),g()}},t[13]=o,t[14]=p,t[15]=s,t[16]=g,t[17]=S):S=t[17];let C=S,w;return t[18]!==c||t[19]!==p||t[20]!==h||t[21]!==_||t[22]!==y||t[23]!==C||t[24]!==x||t[25]!==g||t[26]!==a||t[27]!==m?(w=(0,L.jsx)(X,{data:p,status:m,error:h,reload:g,fetchBurstDiff:_,onExit:c,onNavigate:y,onUndoLast:x,onUndoAll:C,showBackButton:a}),t[18]=c,t[19]=p,t[20]=h,t[21]=_,t[22]=y,t[23]=C,t[24]=x,t[25]=g,t[26]=a,t[27]=m,t[28]=w):w=t[28],w}export{Z as ActivityModeContent};
@@ -1,2 +1,2 @@
1
- import{o as e}from"./chunk-CFjPhJqf.js";import{a as t,i as n,o as r,r as i,t as a}from"./compiler-runtime-Cs91PcD2.js";import{t as o}from"./button-CNAPefQE.js";import{a as s,c,i as l,n as u,o as d,s as f,t as p}from"./dialog-DAnNTn2Z.js";import{i as m,n as ee,o as te,r as ne,t as re}from"./collapsible-T5wuIIwr.js";import{n as h}from"./dist-QyEeuecv.js";import{t as g}from"./checkbox-xiDPPQX2.js";import{t as ie}from"./textarea-BuWgZ9oe.js";import{i as _,n as ae,r as oe,t as se}from"./project-paths-BocrcwYE.js";var ce=a(),v=e(t(),1),y=r(),le=750,ue={root:{id:`ZWolSV`},home:{id:`GgQgML`},"home-documents":{id:`HRU-eL`},"home-desktop":{id:`mYLRjR`},"home-downloads":{id:`wlwXUk`},"volumes-mount":{id:`AMyJts`},"drive-root":{id:`M3ytY_`}},b={error:e=>h.error(e)};function x(e){let t=(0,ce.c)(9),n;t[0]===e?n=t[1]:(n=e===void 0?{}:e,t[0]=e,t[1]=n);let{store:r,toast:i,payload:a}=n,o=r===void 0?_:r,s=i===void 0?b:i,c;t[2]!==a||t[3]!==o?(c=a??o.getSnapshot(),t[2]=a,t[3]=o,t[4]=c):c=t[4];let l=c;if(!l)return null;let u;return t[5]!==l||t[6]!==o||t[7]!==s?(u=(0,y.jsx)(de,{payload:l,store:o,toast:s}),t[5]=l,t[6]=o,t[7]=s,t[8]=u):u=t[8],u}function de(e){let t=(0,ce.c)(125),{payload:r,store:a,toast:h}=e,{_}=n(),b=(0,v.useId)(),[x,de]=(0,v.useState)(r.defaultContentDir),[S,he]=(0,v.useState)(``),ge;t[0]===r.editorOptions?ge=t[1]:(ge=()=>new Set(r.editorOptions.map(pe)),t[0]=r.editorOptions,t[1]=ge);let[C,_e]=(0,v.useState)(ge),[w,ve]=(0,v.useState)(`shared`),[ye,be]=(0,v.useState)(null),[T,xe]=(0,v.useState)(!1),[E,Se]=(0,v.useState)(null),[Ce,we]=(0,v.useState)(!1),Te,Ee;t[2]!==_||t[3]!==x?(Te=()=>{if(!se(x)){be(null);return}let e=!1,t=setTimeout(()=>{let t=window.okDesktop;t&&t.onboarding.probeContent({contentDir:x}).then(t=>{e||be(t)}).catch(t=>{e||be({ok:!1,error:t instanceof Error?t.message:_({id:`snrVQ7`})})})},le);return()=>{e=!0,clearTimeout(t)}},Ee=[x,_],t[2]=_,t[3]=x,t[4]=Te,t[5]=Ee):(Te=t[4],Ee=t[5]),(0,v.useEffect)(Te,Ee);let De;t[6]===x?De=t[7]:(De=se(x),t[6]=x,t[7]=De);let D=De,O=T||!D,Oe=Ce||!D,ke=r.projectDir,Ae;t[8]!==r.pickedPath||t[9]!==r.projectDir?(Ae=ae(r.projectDir,r.pickedPath)??r.pickedPath,t[8]=r.pickedPath,t[9]=r.projectDir,t[10]=Ae):Ae=t[10];let je=Ae,Me;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(Me=function(e){_e(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},t[11]=Me):Me=t[11];let Ne=Me,Pe;t[12]!==_||t[13]!==r.projectDir?(Pe=async function(){let e=window.okDesktop;if(!e)return;let t;try{t=await e.dialog.openFolder({defaultPath:r.projectDir})}catch(e){let t=e;Se(t instanceof Error?t.message:_({id:`P-ye9o`}));return}if(t===null)return;let n=ae(r.projectDir,t);if(n===null){Se(_({id:`UTZ97u`}));return}Se(null),de(n)},t[12]=_,t[13]=r.projectDir,t[14]=Pe):Pe=t[14];let Fe=Pe,Ie;t[15]!==S||t[16]!==x||t[17]!==C||t[18]!==w||t[19]!==a||t[20]!==h?(Ie=async function(){xe(!0);let e=await a.confirm({initGit:!0,contentDir:x,additionalIgnores:S,editorIds:Array.from(C),sharing:w});e.ok||(h.error(e.error),xe(!1))},t[15]=S,t[16]=x,t[17]=C,t[18]=w,t[19]=a,t[20]=h,t[21]=Ie):Ie=t[21];let Le=Ie,Re;t[22]!==Le||t[23]!==O?(Re=function(e){e.preventDefault(),!O&&Le()},t[22]=Le,t[23]=O,t[24]=Re):Re=t[24];let ze=Re,Be;t[25]!==a||t[26]!==h?(Be=async function(){xe(!0);let e=await a.cancel();e.ok||(h.error(e.error),xe(!1))},t[25]=a,t[26]=h,t[27]=Be):Be=t[27];let k=Be,Ve;t[28]!==T||t[29]!==k?(Ve=function(e){!e&&!T&&k()},t[28]=T,t[29]=k,t[30]=Ve):Ve=t[30];let He=Ve,A;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,y.jsx)(c,{children:(0,y.jsx)(i,{id:`cEx1UT`})}),t[31]=A):A=t[31];let Ue;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(Ue=(0,y.jsxs)(f,{children:[A,(0,y.jsx)(s,{children:(0,y.jsx)(i,{id:`ygbd_U`,components:{0:(0,y.jsx)(`code`,{})}})})]}),t[32]=Ue):Ue=t[32];let j;t[33]!==r.gitRootPromoted||t[34]!==je||t[35]!==ke?(j=r.gitRootPromoted?(0,y.jsx)(`p`,{className:`text-1sm text-muted-foreground`,children:(0,y.jsx)(i,{id:`zXZ0sB`,values:{projectDir:ke,pickedRelative:je},components:{0:(0,y.jsx)(`code`,{}),1:(0,y.jsx)(`code`,{}),2:(0,y.jsx)(`code`,{}),3:(0,y.jsx)(`code`,{}),4:(0,y.jsx)(`code`,{})}})}):null,t[33]=r.gitRootPromoted,t[34]=je,t[35]=ke,t[36]=j):j=t[36];let M;t[37]!==_||t[38]!==r.warnings?(M=r.warnings.length>0?(0,y.jsx)(`div`,{role:`alert`,className:`rounded-md border border-amber-300 bg-amber-50 px-3 py-2 text-sm text-amber-900 dark:border-amber-700 dark:bg-amber-950 dark:text-amber-200`,children:r.warnings.map(e=>(0,y.jsx)(`p`,{className:`mb-1 last:mb-0`,children:_(ue[e.kind])},e.kind))}):null,t[37]=_,t[38]=r.warnings,t[39]=M):M=t[39];let N;t[40]!==D||t[41]!==ye?(N=D?(0,y.jsx)(me,{probe:ye}):null,t[40]=D,t[41]=ye,t[42]=N):N=t[42];let P;t[43]!==T||t[44]!==b||t[45]!==w?(P=(0,y.jsx)(oe,{idPrefix:b,testIdPrefix:`consent-sharing`,value:w,onValueChange:ve,disabled:T}),t[43]=T,t[44]=b,t[45]=w,t[46]=P):P=t[46];let We;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(We=(0,y.jsxs)(ne,{className:`group flex w-full items-center justify-between gap-2 px-3 py-2 text-sm font-medium hover:bg-muted/50`,"data-testid":`consent-advanced-trigger`,children:[(0,y.jsx)(i,{id:`VNgKZz`}),(0,y.jsx)(te,{className:`size-4 transition-transform group-data-[state=open]:rotate-90 motion-reduce:transition-none`,"aria-hidden":!0})]}),t[47]=We):We=t[47];let Ge;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(Ge=(0,y.jsx)(`label`,{htmlFor:`consent-content-dir`,className:`text-sm font-medium`,children:(0,y.jsx)(i,{id:`ll2yNl`})}),t[48]=Ge):Ge=t[48];let Ke;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(Ke=e=>{de(e.target.value),Se(null)},t[49]=Ke):Ke=t[49];let qe=!D,Je=E===null?D?void 0:`consent-content-dir-error`:`consent-content-dir-browse-error`,F;t[50]!==T||t[51]!==x||t[52]!==qe||t[53]!==Je?(F=(0,y.jsx)(m,{id:`consent-content-dir`,value:x,onChange:Ke,disabled:T,"aria-invalid":qe,"aria-describedby":Je,"data-testid":`consent-content-dir`,className:`flex-1`}),t[50]=T,t[51]=x,t[52]=qe,t[53]=Je,t[54]=F):F=t[54];let I;t[55]===Fe?I=t[56]:(I=()=>void Fe(),t[55]=Fe,t[56]=I);let Ye;t[57]===Symbol.for(`react.memo_cache_sentinel`)?(Ye=(0,y.jsx)(i,{id:`O2UpM1`}),t[57]=Ye):Ye=t[57];let L;t[58]!==T||t[59]!==I?(L=(0,y.jsx)(o,{type:`button`,variant:`outline`,disabled:T,onClick:I,"data-testid":`consent-content-dir-browse`,children:Ye}),t[58]=T,t[59]=I,t[60]=L):L=t[60];let R;t[61]!==F||t[62]!==L?(R=(0,y.jsxs)(`div`,{className:`flex items-stretch gap-2`,children:[F,L]}),t[61]=F,t[62]=L,t[63]=R):R=t[63];let z;t[64]!==E||t[65]!==D?(z=E===null?D?null:(0,y.jsx)(`p`,{id:`consent-content-dir-error`,className:`text-1sm text-destructive`,"data-testid":`consent-content-dir-error`,children:(0,y.jsx)(i,{id:`U5Spo9`})}):(0,y.jsx)(`p`,{id:`consent-content-dir-browse-error`,className:`text-1sm text-destructive`,"data-testid":`consent-content-dir-browse-error`,children:E}),t[64]=E,t[65]=D,t[66]=z):z=t[66];let B;t[67]!==R||t[68]!==z?(B=(0,y.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[Ge,R,z]}),t[67]=R,t[68]=z,t[69]=B):B=t[69];let Xe;t[70]===Symbol.for(`react.memo_cache_sentinel`)?(Xe=(0,y.jsx)(`label`,{htmlFor:`consent-additional-ignores`,className:`text-sm font-medium`,children:(0,y.jsx)(i,{id:`3zyg_A`})}),t[70]=Xe):Xe=t[70];let Ze;t[71]===Symbol.for(`react.memo_cache_sentinel`)?(Ze=e=>he(e.target.value),t[71]=Ze):Ze=t[71];let V;t[72]!==S||t[73]!==T?(V=(0,y.jsx)(ie,{id:`consent-additional-ignores`,value:S,onChange:Ze,disabled:T,placeholder:`tmp/
1
+ import{o as e}from"./chunk-CFjPhJqf.js";import{a as t,i as n,o as r,r as i,t as a}from"./compiler-runtime-Cs91PcD2.js";import{t as o}from"./button-CNAPefQE.js";import{a as s,c,i as l,n as u,o as d,s as f,t as p}from"./dialog-CtMCOb1V.js";import{i as m,n as ee,o as te,r as ne,t as re}from"./collapsible-CiYR1NR5.js";import{n as h}from"./dist-rFfpDyC7.js";import{t as g}from"./checkbox-LNtTTZgr.js";import{t as ie}from"./textarea-BeqA3EKD.js";import{i as _,n as ae,r as oe,t as se}from"./project-paths-By95zyI0.js";var ce=a(),v=e(t(),1),y=r(),le=750,ue={root:{id:`ZWolSV`},home:{id:`GgQgML`},"home-documents":{id:`HRU-eL`},"home-desktop":{id:`mYLRjR`},"home-downloads":{id:`wlwXUk`},"volumes-mount":{id:`AMyJts`},"drive-root":{id:`M3ytY_`}},b={error:e=>h.error(e)};function x(e){let t=(0,ce.c)(9),n;t[0]===e?n=t[1]:(n=e===void 0?{}:e,t[0]=e,t[1]=n);let{store:r,toast:i,payload:a}=n,o=r===void 0?_:r,s=i===void 0?b:i,c;t[2]!==a||t[3]!==o?(c=a??o.getSnapshot(),t[2]=a,t[3]=o,t[4]=c):c=t[4];let l=c;if(!l)return null;let u;return t[5]!==l||t[6]!==o||t[7]!==s?(u=(0,y.jsx)(de,{payload:l,store:o,toast:s}),t[5]=l,t[6]=o,t[7]=s,t[8]=u):u=t[8],u}function de(e){let t=(0,ce.c)(125),{payload:r,store:a,toast:h}=e,{_}=n(),b=(0,v.useId)(),[x,de]=(0,v.useState)(r.defaultContentDir),[S,he]=(0,v.useState)(``),ge;t[0]===r.editorOptions?ge=t[1]:(ge=()=>new Set(r.editorOptions.map(pe)),t[0]=r.editorOptions,t[1]=ge);let[C,_e]=(0,v.useState)(ge),[w,ve]=(0,v.useState)(`shared`),[ye,be]=(0,v.useState)(null),[T,xe]=(0,v.useState)(!1),[E,Se]=(0,v.useState)(null),[Ce,we]=(0,v.useState)(!1),Te,Ee;t[2]!==_||t[3]!==x?(Te=()=>{if(!se(x)){be(null);return}let e=!1,t=setTimeout(()=>{let t=window.okDesktop;t&&t.onboarding.probeContent({contentDir:x}).then(t=>{e||be(t)}).catch(t=>{e||be({ok:!1,error:t instanceof Error?t.message:_({id:`snrVQ7`})})})},le);return()=>{e=!0,clearTimeout(t)}},Ee=[x,_],t[2]=_,t[3]=x,t[4]=Te,t[5]=Ee):(Te=t[4],Ee=t[5]),(0,v.useEffect)(Te,Ee);let De;t[6]===x?De=t[7]:(De=se(x),t[6]=x,t[7]=De);let D=De,O=T||!D,Oe=Ce||!D,ke=r.projectDir,Ae;t[8]!==r.pickedPath||t[9]!==r.projectDir?(Ae=ae(r.projectDir,r.pickedPath)??r.pickedPath,t[8]=r.pickedPath,t[9]=r.projectDir,t[10]=Ae):Ae=t[10];let je=Ae,Me;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(Me=function(e){_e(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},t[11]=Me):Me=t[11];let Ne=Me,Pe;t[12]!==_||t[13]!==r.projectDir?(Pe=async function(){let e=window.okDesktop;if(!e)return;let t;try{t=await e.dialog.openFolder({defaultPath:r.projectDir})}catch(e){let t=e;Se(t instanceof Error?t.message:_({id:`P-ye9o`}));return}if(t===null)return;let n=ae(r.projectDir,t);if(n===null){Se(_({id:`UTZ97u`}));return}Se(null),de(n)},t[12]=_,t[13]=r.projectDir,t[14]=Pe):Pe=t[14];let Fe=Pe,Ie;t[15]!==S||t[16]!==x||t[17]!==C||t[18]!==w||t[19]!==a||t[20]!==h?(Ie=async function(){xe(!0);let e=await a.confirm({initGit:!0,contentDir:x,additionalIgnores:S,editorIds:Array.from(C),sharing:w});e.ok||(h.error(e.error),xe(!1))},t[15]=S,t[16]=x,t[17]=C,t[18]=w,t[19]=a,t[20]=h,t[21]=Ie):Ie=t[21];let Le=Ie,Re;t[22]!==Le||t[23]!==O?(Re=function(e){e.preventDefault(),!O&&Le()},t[22]=Le,t[23]=O,t[24]=Re):Re=t[24];let ze=Re,Be;t[25]!==a||t[26]!==h?(Be=async function(){xe(!0);let e=await a.cancel();e.ok||(h.error(e.error),xe(!1))},t[25]=a,t[26]=h,t[27]=Be):Be=t[27];let k=Be,Ve;t[28]!==T||t[29]!==k?(Ve=function(e){!e&&!T&&k()},t[28]=T,t[29]=k,t[30]=Ve):Ve=t[30];let He=Ve,A;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,y.jsx)(c,{children:(0,y.jsx)(i,{id:`cEx1UT`})}),t[31]=A):A=t[31];let Ue;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(Ue=(0,y.jsxs)(f,{children:[A,(0,y.jsx)(s,{children:(0,y.jsx)(i,{id:`ygbd_U`,components:{0:(0,y.jsx)(`code`,{})}})})]}),t[32]=Ue):Ue=t[32];let j;t[33]!==r.gitRootPromoted||t[34]!==je||t[35]!==ke?(j=r.gitRootPromoted?(0,y.jsx)(`p`,{className:`text-1sm text-muted-foreground`,children:(0,y.jsx)(i,{id:`zXZ0sB`,values:{projectDir:ke,pickedRelative:je},components:{0:(0,y.jsx)(`code`,{}),1:(0,y.jsx)(`code`,{}),2:(0,y.jsx)(`code`,{}),3:(0,y.jsx)(`code`,{}),4:(0,y.jsx)(`code`,{})}})}):null,t[33]=r.gitRootPromoted,t[34]=je,t[35]=ke,t[36]=j):j=t[36];let M;t[37]!==_||t[38]!==r.warnings?(M=r.warnings.length>0?(0,y.jsx)(`div`,{role:`alert`,className:`rounded-md border border-amber-300 bg-amber-50 px-3 py-2 text-sm text-amber-900 dark:border-amber-700 dark:bg-amber-950 dark:text-amber-200`,children:r.warnings.map(e=>(0,y.jsx)(`p`,{className:`mb-1 last:mb-0`,children:_(ue[e.kind])},e.kind))}):null,t[37]=_,t[38]=r.warnings,t[39]=M):M=t[39];let N;t[40]!==D||t[41]!==ye?(N=D?(0,y.jsx)(me,{probe:ye}):null,t[40]=D,t[41]=ye,t[42]=N):N=t[42];let P;t[43]!==T||t[44]!==b||t[45]!==w?(P=(0,y.jsx)(oe,{idPrefix:b,testIdPrefix:`consent-sharing`,value:w,onValueChange:ve,disabled:T}),t[43]=T,t[44]=b,t[45]=w,t[46]=P):P=t[46];let We;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(We=(0,y.jsxs)(ne,{className:`group flex w-full items-center justify-between gap-2 px-3 py-2 text-sm font-medium hover:bg-muted/50`,"data-testid":`consent-advanced-trigger`,children:[(0,y.jsx)(i,{id:`VNgKZz`}),(0,y.jsx)(te,{className:`size-4 transition-transform group-data-[state=open]:rotate-90 motion-reduce:transition-none`,"aria-hidden":!0})]}),t[47]=We):We=t[47];let Ge;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(Ge=(0,y.jsx)(`label`,{htmlFor:`consent-content-dir`,className:`text-sm font-medium`,children:(0,y.jsx)(i,{id:`ll2yNl`})}),t[48]=Ge):Ge=t[48];let Ke;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(Ke=e=>{de(e.target.value),Se(null)},t[49]=Ke):Ke=t[49];let qe=!D,Je=E===null?D?void 0:`consent-content-dir-error`:`consent-content-dir-browse-error`,F;t[50]!==T||t[51]!==x||t[52]!==qe||t[53]!==Je?(F=(0,y.jsx)(m,{id:`consent-content-dir`,value:x,onChange:Ke,disabled:T,"aria-invalid":qe,"aria-describedby":Je,"data-testid":`consent-content-dir`,className:`flex-1`}),t[50]=T,t[51]=x,t[52]=qe,t[53]=Je,t[54]=F):F=t[54];let I;t[55]===Fe?I=t[56]:(I=()=>void Fe(),t[55]=Fe,t[56]=I);let Ye;t[57]===Symbol.for(`react.memo_cache_sentinel`)?(Ye=(0,y.jsx)(i,{id:`O2UpM1`}),t[57]=Ye):Ye=t[57];let L;t[58]!==T||t[59]!==I?(L=(0,y.jsx)(o,{type:`button`,variant:`outline`,disabled:T,onClick:I,"data-testid":`consent-content-dir-browse`,children:Ye}),t[58]=T,t[59]=I,t[60]=L):L=t[60];let R;t[61]!==F||t[62]!==L?(R=(0,y.jsxs)(`div`,{className:`flex items-stretch gap-2`,children:[F,L]}),t[61]=F,t[62]=L,t[63]=R):R=t[63];let z;t[64]!==E||t[65]!==D?(z=E===null?D?null:(0,y.jsx)(`p`,{id:`consent-content-dir-error`,className:`text-1sm text-destructive`,"data-testid":`consent-content-dir-error`,children:(0,y.jsx)(i,{id:`U5Spo9`})}):(0,y.jsx)(`p`,{id:`consent-content-dir-browse-error`,className:`text-1sm text-destructive`,"data-testid":`consent-content-dir-browse-error`,children:E}),t[64]=E,t[65]=D,t[66]=z):z=t[66];let B;t[67]!==R||t[68]!==z?(B=(0,y.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[Ge,R,z]}),t[67]=R,t[68]=z,t[69]=B):B=t[69];let Xe;t[70]===Symbol.for(`react.memo_cache_sentinel`)?(Xe=(0,y.jsx)(`label`,{htmlFor:`consent-additional-ignores`,className:`text-sm font-medium`,children:(0,y.jsx)(i,{id:`3zyg_A`})}),t[70]=Xe):Xe=t[70];let Ze;t[71]===Symbol.for(`react.memo_cache_sentinel`)?(Ze=e=>he(e.target.value),t[71]=Ze):Ze=t[71];let V;t[72]!==S||t[73]!==T?(V=(0,y.jsx)(ie,{id:`consent-additional-ignores`,value:S,onChange:Ze,disabled:T,placeholder:`tmp/
2
2
  *.draft.md`,rows:3,"data-testid":`consent-additional-ignores`}),t[72]=S,t[73]=T,t[74]=V):V=t[74];let Qe;t[75]===Symbol.for(`react.memo_cache_sentinel`)?(Qe=(0,y.jsx)(`p`,{className:`text-1sm text-muted-foreground`,children:(0,y.jsx)(i,{id:`aE2_XM`,components:{0:(0,y.jsx)(`code`,{})}})}),t[75]=Qe):Qe=t[75];let H;t[76]===V?H=t[77]:(H=(0,y.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[Xe,V,Qe]}),t[76]=V,t[77]=H);let $e;t[78]===Symbol.for(`react.memo_cache_sentinel`)?($e=(0,y.jsx)(`legend`,{className:`text-sm font-medium`,children:(0,y.jsx)(i,{id:`0YEbfk`})}),t[78]=$e):$e=t[78];let et;t[79]===Symbol.for(`react.memo_cache_sentinel`)?(et=(0,y.jsx)(`p`,{className:`text-1sm text-muted-foreground`,children:(0,y.jsx)(i,{id:`eSu2Xn`,components:{0:(0,y.jsx)(`code`,{})}})}),t[79]=et):et=t[79];let U;if(t[80]!==T||t[81]!==C||t[82]!==r.editorOptions){let e;t[84]!==T||t[85]!==C?(e=e=>{let t=`consent-editor-${e.id}-cb`;return(0,y.jsxs)(`label`,{htmlFor:t,className:`flex items-center gap-2 text-sm`,children:[(0,y.jsx)(g,{id:t,checked:C.has(e.id),onCheckedChange:()=>Ne(e.id),disabled:T,"data-testid":`consent-editor-${e.id}`}),(0,y.jsx)(`span`,{children:e.label}),(0,y.jsx)(`span`,{className:`text-xs text-muted-foreground`,"data-testid":`consent-editor-${e.id}-scope`,children:e.hasProjectConfig?(0,y.jsx)(i,{id:`cKjLuT`}):(0,y.jsx)(i,{id:`nYKerc`})})]},e.id)},t[84]=T,t[85]=C,t[86]=e):e=t[86],U=r.editorOptions.map(e),t[80]=T,t[81]=C,t[82]=r.editorOptions,t[83]=U}else U=t[83];let W;t[87]===U?W=t[88]:(W=(0,y.jsxs)(`fieldset`,{className:`flex flex-col space-y-2 pb-2`,children:[$e,et,U]}),t[87]=U,t[88]=W);let G;t[89]!==B||t[90]!==H||t[91]!==W?(G=(0,y.jsxs)(ee,{className:`space-y-6 border-t border-border px-3 py-4`,children:[B,H,W]}),t[89]=B,t[90]=H,t[91]=W,t[92]=G):G=t[92];let K;t[93]!==Oe||t[94]!==G?(K=(0,y.jsxs)(re,{open:Oe,onOpenChange:we,className:`rounded-md border border-border`,"data-testid":`consent-advanced`,children:[We,G]}),t[93]=Oe,t[94]=G,t[95]=K):K=t[95];let q;t[96]!==b||t[97]!==ze||t[98]!==N||t[99]!==P||t[100]!==K?(q=(0,y.jsxs)(`form`,{id:b,onSubmit:ze,"data-testid":`consent-form`,className:`space-y-6`,children:[N,P,K]}),t[96]=b,t[97]=ze,t[98]=N,t[99]=P,t[100]=K,t[101]=q):q=t[101];let J;t[102]!==j||t[103]!==M||t[104]!==q?(J=(0,y.jsxs)(u,{className:`space-y-6`,children:[j,M,q]}),t[102]=j,t[103]=M,t[104]=q,t[105]=J):J=t[105];let Y;t[106]===k?Y=t[107]:(Y=()=>void k(),t[106]=k,t[107]=Y);let tt;t[108]===Symbol.for(`react.memo_cache_sentinel`)?(tt=(0,y.jsx)(i,{id:`dEgA5A`}),t[108]=tt):tt=t[108];let X;t[109]!==T||t[110]!==Y?(X=(0,y.jsx)(o,{type:`button`,variant:`outline`,className:`font-mono uppercase`,onClick:Y,disabled:T,"data-testid":`consent-cancel`,children:tt}),t[109]=T,t[110]=Y,t[111]=X):X=t[111];let nt;t[112]===Symbol.for(`react.memo_cache_sentinel`)?(nt=(0,y.jsx)(i,{id:`RDjuBN`}),t[112]=nt):nt=t[112];let Z;t[113]!==b||t[114]!==O?(Z=(0,y.jsx)(o,{type:`submit`,form:b,disabled:O,"data-testid":`consent-start`,children:nt}),t[113]=b,t[114]=O,t[115]=Z):Z=t[115];let Q;t[116]!==X||t[117]!==Z?(Q=(0,y.jsxs)(d,{children:[X,Z]}),t[116]=X,t[117]=Z,t[118]=Q):Q=t[118];let $;t[119]!==J||t[120]!==Q?($=(0,y.jsxs)(l,{className:`sm:max-w-lg`,onOpenAutoFocus:fe,children:[Ue,J,Q]}),t[119]=J,t[120]=Q,t[121]=$):$=t[121];let rt;return t[122]!==He||t[123]!==$?(rt=(0,y.jsx)(p,{open:!0,onOpenChange:He,children:$}),t[122]=He,t[123]=$,t[124]=rt):rt=t[124],rt}function fe(e){e.preventDefault(),e.currentTarget.querySelector(`[role="radio"]`)?.focus()}function pe(e){return e.id}function me(e){let t=(0,ce.c)(24),{probe:r}=e,{_:a}=n();if(r===null){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,y.jsx)(`p`,{className:`text-1sm text-muted-foreground`,"data-testid":`consent-preview`,children:(0,y.jsx)(i,{id:`DiFKSL`})}),t[0]=e):e=t[0],e}if(!r.ok){let e=r.error,n;return t[1]===e?n=t[2]:(n=(0,y.jsx)(`p`,{className:`text-1sm text-muted-foreground`,"data-testid":`consent-preview`,children:(0,y.jsx)(i,{id:`9fvog2`,values:{errorDetail:e}})}),t[1]=e,t[2]=n),n}let o=r.truncated?`≥ 50,000`:String(r.count),s;t[3]!==a||t[4]!==o?(s=a({id:`MV-Dkb`,values:{countDisplay:o}}),t[3]=a,t[4]=o,t[5]=s):s=t[5];let c=s;if(r.sample.length===0){let e;return t[6]===c?e=t[7]:(e=(0,y.jsx)(`p`,{className:`text-1sm text-muted-foreground`,"data-testid":`consent-preview`,children:c}),t[6]=c,t[7]=e),e}let l=r.truncated?null:r.count-r.sample.length,u;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,y.jsx)(te,{className:`size-3 transition-transform motion-reduce:transition-none`,"aria-hidden":!0}),t[8]=u):u=t[8];let d;t[9]===c?d=t[10]:(d=(0,y.jsxs)(ne,{className:`flex items-center gap-1 text-1sm text-muted-foreground hover:text-foreground [&[data-state=open]>svg]:rotate-90`,children:[u,(0,y.jsx)(`span`,{children:c})]}),t[9]=c,t[10]=d);let f;t[11]===r.sample?f=t[12]:(f=r.sample.map(S),t[11]=r.sample,t[12]=f);let p;t[13]===f?p=t[14]:(p=(0,y.jsx)(`ul`,{className:`space-y-1.5 font-mono`,children:f}),t[13]=f,t[14]=p);let m;t[15]!==r.truncated||t[16]!==l?(m=r.truncated||l!==null&&l>0?(0,y.jsx)(`p`,{className:`mt-1 italic`,children:r.truncated?(0,y.jsx)(i,{id:`5wV2qQ`}):(0,y.jsx)(i,{id:`nNYV3Y`,values:{remaining:l}})}):null,t[15]=r.truncated,t[16]=l,t[17]=m):m=t[17];let h;t[18]!==p||t[19]!==m?(h=(0,y.jsxs)(ee,{className:`pt-1 pl-4 text-1sm text-muted-foreground`,children:[p,m]}),t[18]=p,t[19]=m,t[20]=h):h=t[20];let g;return t[21]!==d||t[22]!==h?(g=(0,y.jsxs)(re,{"data-testid":`consent-preview`,children:[d,h]}),t[21]=d,t[22]=h,t[23]=g):g=t[23],g}function S(e){return(0,y.jsx)(`li`,{children:e},e)}export{x as default};