@inkeep/open-knowledge 0.65.0-beta.1 → 0.65.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 (136) hide show
  1. package/dist/{acp-harness-probe-6O1iSYIR.mjs → acp-harness-probe-DQQnlizp.mjs} +2 -2
  2. package/dist/assets/skills/packs/okf/SKILL.md +2 -1
  3. package/dist/cli.mjs +6 -6
  4. package/dist/constants-WlQ6Ul94.mjs +2 -0
  5. package/dist/git-handle-CUMkcH0Q.mjs +1 -0
  6. package/dist/{git-handle-tXqNDNbG.mjs → git-handle-CeLf_80_.mjs} +2 -2
  7. package/dist/index.mjs +149 -149
  8. package/dist/{init-BJVLqPEk.mjs → init-BSohnsOd.mjs} +3 -3
  9. package/dist/init-DjRxGcOV.mjs +1 -0
  10. package/dist/{launch-json-removal-C7vezYJn.mjs → launch-json-removal-cA-XEwIM.mjs} +2 -2
  11. package/dist/{loader-C4nhWSIa.mjs → loader-BSWlIhHW.mjs} +2 -2
  12. package/dist/loader-DOqrWZZ1.mjs +1 -0
  13. package/dist/md-manager-DrTOG_TR.mjs +2 -0
  14. package/dist/{open-browser-CxqP3TDJ.mjs → open-browser-DScjpc4A.mjs} +2 -2
  15. package/dist/parse-worker.mjs +1 -1
  16. package/dist/{preview-BZwSz2kH.mjs → preview-BSBsz04I.mjs} +2 -2
  17. package/dist/preview-BU6qghZM.mjs +1 -0
  18. package/dist/public/assets/ActivityModeContent-iVCQqweq.js +1 -0
  19. package/dist/public/assets/{AddPropertiesButton-BUwqaT5p.js → AddPropertiesButton-CPf02Fwa.js} +1 -1
  20. package/dist/public/assets/{AgentDiffPane-BUtJ3PVG.js → AgentDiffPane-BtpGOC45.js} +1 -1
  21. package/dist/public/assets/{AgentThreadClientBinder-1lFfm0IN.js → AgentThreadClientBinder-byV-mbnY.js} +1 -1
  22. package/dist/public/assets/{BugReportHistory-jSGSgPau.js → BugReportHistory-Mvnt4SEp.js} +1 -1
  23. package/dist/public/assets/{BugReportHistoryDialog-fz9oCk7_.js → BugReportHistoryDialog-DcWVOW9N.js} +1 -1
  24. package/dist/public/assets/{CodeMirrorPropInput-UX9dc3lK.js → CodeMirrorPropInput-B6CoPdiS.js} +1 -1
  25. package/dist/public/assets/{ConsentDialogBody-owDDRjs1.js → ConsentDialogBody-0hoJ_ijU.js} +1 -1
  26. package/dist/public/assets/{DocumentContext-rwQWKRwZ.js → DocumentContext-cm1ZiCIR.js} +2 -2
  27. package/dist/public/assets/{EditorModeToggle-Ca5ZwX6h.js → EditorModeToggle-CgD37GNE.js} +1 -1
  28. package/dist/public/assets/{EnableSyncConfirmDialog-DzdCcHho.js → EnableSyncConfirmDialog-DFj2_7qp.js} +1 -1
  29. package/dist/public/assets/{ExcalidrawDocEditor-SaZwdFgG.js → ExcalidrawDocEditor-Du-VDkG1.js} +1 -1
  30. package/dist/public/assets/FeedbackForm-DUIxFfzS.js +1 -0
  31. package/dist/public/assets/{GraphPanel-B_ODpcQR.js → GraphPanel-BV1qD1M6.js} +1 -1
  32. package/dist/public/assets/{ImportSkillDialog-Bx_ZWuER.js → ImportSkillDialog-D3CIOCxg.js} +1 -1
  33. package/dist/public/assets/{LintConfigEditor-BSHD88gy.js → LintConfigEditor-BgNu1pk8.js} +1 -1
  34. package/dist/public/assets/{ManagedArtifactProperties-BgdX1sgG.js → ManagedArtifactProperties-B8EqUoZ3.js} +1 -1
  35. package/dist/public/assets/ManagedArtifactProperties-BPguuakJ.js +1 -0
  36. package/dist/public/assets/{MermaidDocEditor-B4OuFFRH.js → MermaidDocEditor-DX11737F.js} +1 -1
  37. package/dist/public/assets/PropertyDisplayRow-DFgojvKc.js +2 -0
  38. package/dist/public/assets/{ReportBugDialogBody-U3FbBtM2.js → ReportBugDialogBody-rfqM32yk.js} +1 -1
  39. package/dist/public/assets/{ReportBugMenuTrigger-CGkkALKR.js → ReportBugMenuTrigger-MbnqF2SK.js} +2 -2
  40. package/dist/public/assets/{SchemaConfigEditor-CFOJQbAI.js → SchemaConfigEditor-D2sSopqD.js} +1 -1
  41. package/dist/public/assets/{SessionsHost-Df2f1sfx.js → SessionsHost-CL1ekzh8.js} +2 -2
  42. package/dist/public/assets/{SettingsDialogBody-D4mpzMAr.js → SettingsDialogBody-CcLAF7VK.js} +1 -1
  43. package/dist/public/assets/{ShareBranchSwitchDialog-B_ybMKWR.js → ShareBranchSwitchDialog-BO0uIFs7.js} +1 -1
  44. package/dist/public/assets/{ShareReceiveDialog-D8IcYMqn.js → ShareReceiveDialog-CskBIDXp.js} +1 -1
  45. package/dist/public/assets/{ShareReceiveMissDialog-eZXVNMEa.js → ShareReceiveMissDialog-DbZQyqUj.js} +1 -1
  46. package/dist/public/assets/{SkillCostValue-CtuMRUcB.js → SkillCostValue-CNJ4MgeB.js} +1 -1
  47. package/dist/public/assets/{SkillEditBanner-CgahuR4V.js → SkillEditBanner-DACxakQd.js} +1 -1
  48. package/dist/public/assets/{SkillInstallMenu-t_UwNdxn.js → SkillInstallMenu-DsV7Zg_N.js} +1 -1
  49. package/dist/public/assets/{SkillOriginInline-caW0di8-.js → SkillOriginInline-Dy2zQZrT.js} +1 -1
  50. package/dist/public/assets/{SkillToolbarControls-BQSRblTW.js → SkillToolbarControls-CK1hDwSR.js} +1 -1
  51. package/dist/public/assets/{SlidesToolbarControls-DmkIlVkT.js → SlidesToolbarControls-DauhKnHa.js} +1 -1
  52. package/dist/public/assets/{SourceEditor-DSD8q5gQ.js → SourceEditor-BAFCEDOW.js} +1 -1
  53. package/dist/public/assets/{TerminalPanel-3sFIDMyj.js → TerminalPanel-BCS-RzlD.js} +1 -1
  54. package/dist/public/assets/{TerminalWindowApp-kA8FxYDa.js → TerminalWindowApp-Pr86JmqX.js} +1 -1
  55. package/dist/public/assets/{TextDocEditor-31V7aZDr.js → TextDocEditor-CuXA3fG7.js} +1 -1
  56. package/dist/public/assets/{ThreadView-BXcveKKj.js → ThreadView-D7sS5GXu.js} +9 -9
  57. package/dist/public/assets/{TimelineDiffPane-ZXlxZPTz.js → TimelineDiffPane-C4-v6VKa.js} +1 -1
  58. package/dist/public/assets/{agent-diff-store-Cpo8SCiH.js → agent-diff-store-BD87nz3F.js} +1 -1
  59. package/dist/public/assets/{auth-state-cache-sqbJYZts.js → auth-state-cache-BmBuSpVr.js} +1 -1
  60. package/dist/public/assets/{bug-report-send-manager--d3jxz25.js → bug-report-send-manager-CWBwJLhw.js} +1 -1
  61. package/dist/public/assets/{client-version-CXjYjiUZ.js → client-version-D2q-P0iF.js} +1 -1
  62. package/dist/public/assets/{comment-chips-DAhAsZ8A.js → comment-chips-DsXikPkv.js} +1 -1
  63. package/dist/public/assets/{config-provider-D8nQpnDa.js → config-provider-CTJraL6m.js} +1 -1
  64. package/dist/public/assets/{dist-B5qwv8-p.js → dist-7elyeD1s.js} +195 -195
  65. package/dist/public/assets/doc-paths-D_8UvPYx.js +1 -0
  66. package/dist/public/assets/{documents-events-BS3zz_ja.js → documents-events--JsHluy4.js} +1 -1
  67. package/dist/public/assets/{file-tree-adapter-CxsCZrWb.js → file-tree-adapter-DNXscpMG.js} +1 -1
  68. package/dist/public/assets/{file-tree-utils-BunIXRa7.js → file-tree-utils-BjUMUlWv.js} +1 -1
  69. package/dist/public/assets/{folder-config-api-BZVpNPGc.js → folder-config-api-D4_ApcVY.js} +1 -1
  70. package/dist/public/assets/i18n-BZGgf8Qd.js +1 -0
  71. package/dist/public/assets/{index-D8LrmUIw.js → index-BE2TsSEM.js} +7 -7
  72. package/dist/public/assets/{launcher-selection-BBUas603.js → launcher-selection-DGh5-Pqt.js} +1 -1
  73. package/dist/public/assets/{lint-config-client-BVZllbYJ.js → lint-config-client-RAMPJ8G7.js} +1 -1
  74. package/dist/public/assets/{markdownlint-rule-browser-OBj8w6AO.js → markdownlint-rule-browser-DitAECCM.js} +1 -1
  75. package/dist/public/assets/{page-list-cache-B3bvGAO5.js → page-list-cache-prUKRtRa.js} +1 -1
  76. package/dist/public/assets/{pending-receive-nav-store-Cfa5notj.js → pending-receive-nav-store-DC3PrSPg.js} +1 -1
  77. package/dist/public/assets/{progress-CGKEmqEm.js → progress-BEXaBNIb.js} +1 -1
  78. package/dist/public/assets/{project-paths-C69jkmMe.js → project-paths-D9vcEZSb.js} +1 -1
  79. package/dist/public/assets/{prop-types-B41RJtGt.js → prop-types-BOXmr7Q9.js} +1 -1
  80. package/dist/public/assets/{receive-store-D7nvngvO.js → receive-store-DMcyiDfj.js} +1 -1
  81. package/dist/public/assets/{selection-context-zaeIFGZP.js → selection-context-CLtjNgSV.js} +1 -1
  82. package/dist/public/assets/{skill-scope-BVNk6qeO.js → skill-scope-CVSSymVB.js} +1 -1
  83. package/dist/public/assets/{skills-api-Cq8_IlLq.js → skills-api-DHpABbiE.js} +1 -1
  84. package/dist/public/assets/{src-G5zdelKj.js → src-Dq3nd0Lx.js} +1 -1
  85. package/dist/public/assets/{startup-marks-jv6Qs2uF.js → startup-marks-lmLF_OO-.js} +1 -1
  86. package/dist/public/assets/{tag-pill-input-88p34I7w.js → tag-pill-input-DHmb-7zU.js} +1 -1
  87. package/dist/public/assets/{target-navigation-intent-BxOTP9s7.js → target-navigation-intent-zJ017p9i.js} +1 -1
  88. package/dist/public/assets/{telemetry-startup-CKd1LVjo.js → telemetry-startup-DI_JMeyZ.js} +1 -1
  89. package/dist/public/assets/{terminal-cli-display-DB9HP8Kz.js → terminal-cli-display-2og2-PQg.js} +1 -1
  90. package/dist/public/assets/{typing-burst-detector-D7MT9xAL.js → typing-burst-detector-EBpBvXLS.js} +1 -1
  91. package/dist/public/assets/{uninstall-CqsvXVvr.js → uninstall-Cs7fpSSM.js} +1 -1
  92. package/dist/public/assets/{use-activity-panel-Cwiaxn7-.js → use-activity-panel-BP6cVXAM.js} +1 -1
  93. package/dist/public/assets/{use-apply-config-color-theme-BnIQOGE2.js → use-apply-config-color-theme-DdXME66g.js} +1 -1
  94. package/dist/public/assets/{use-collab-url-BonPNl3w.js → use-collab-url-Bw-ux1e9.js} +1 -1
  95. package/dist/public/assets/{use-live-xterm-theme-BkFdBq13.js → use-live-xterm-theme-cynTCBxO.js} +1 -1
  96. package/dist/public/assets/{use-open-skill-B5CQCTU9.js → use-open-skill-C2S8Ju9E.js} +1 -1
  97. package/dist/public/assets/{use-settings-route-K9deeZD-.js → use-settings-route-DHPJ3RaJ.js} +1 -1
  98. package/dist/public/assets/{use-skill-origin-BFlhRLbw.js → use-skill-origin-CH9FS4YO.js} +1 -1
  99. package/dist/public/assets/{use-skills-DFfNPUrm.js → use-skills-D56xe4F0.js} +1 -1
  100. package/dist/public/assets/{use-terminal-enabled-Dn6oVKSs.js → use-terminal-enabled-DTa27VwS.js} +1 -1
  101. package/dist/public/assets/{use-timeline-entry-diff-Dy-DyEiC.js → use-timeline-entry-diff-7MYmjURO.js} +1 -1
  102. package/dist/public/assets/{use-workspace-BA9aicCx.js → use-workspace-BiK7U2Dp.js} +1 -1
  103. package/dist/public/index.html +47 -47
  104. package/dist/public/uninstall.html +3 -3
  105. package/dist/{repair-launch-json-DUTqYxFF.mjs → repair-launch-json-CNEyG1iy.mjs} +2 -2
  106. package/dist/{repair-mcp-configs-xEpY6E7V.mjs → repair-mcp-configs-B0AIoQsw.mjs} +2 -2
  107. package/dist/repair-skills-BArwmDoi.mjs +1 -0
  108. package/dist/{repair-skills-CnlSJ7Cv.mjs → repair-skills-DkqRt0jh.mjs} +2 -2
  109. package/dist/{resolve-project-root-H2LH3evF.mjs → resolve-project-root-DZ8FUmWA.mjs} +2 -2
  110. package/dist/server-lock-Bdq8J23F.mjs +1 -0
  111. package/dist/{server-lock-pONFRxy9.mjs → server-lock-DE-aYwut.mjs} +2 -2
  112. package/dist/{skill-teardown-h8wjTE5-.mjs → skill-teardown-n1roKgm3.mjs} +2 -2
  113. package/dist/{src-ywNiPY0Z.mjs → src-BIzvFai3.mjs} +2 -2
  114. package/dist/{src-wzwdHnH1.mjs → src-Ct2lVbOu.mjs} +117 -117
  115. package/dist/{src-8rHUz2eY.mjs → src-DHmPa1LN.mjs} +1 -1
  116. package/dist/{src-1Rp1Dq8a.mjs → src-DeoDqJay.mjs} +4 -4
  117. package/dist/src-PgKZrUu6.mjs +1 -0
  118. package/dist/{start-DKaGdrt1.mjs → start-D8mbQnet.mjs} +3 -3
  119. package/dist/start-tsYshIKA.mjs +1 -0
  120. package/package.json +4 -4
  121. package/dist/constants-YeHiomno.mjs +0 -2
  122. package/dist/git-handle-CqlG0S4W.mjs +0 -1
  123. package/dist/init-yJjl6861.mjs +0 -1
  124. package/dist/loader-BGxw7stI.mjs +0 -1
  125. package/dist/md-manager-Bu71zQPt.mjs +0 -2
  126. package/dist/preview-SYaXc23U.mjs +0 -1
  127. package/dist/public/assets/ActivityModeContent-DotCr2H_.js +0 -1
  128. package/dist/public/assets/FeedbackForm-DJqGpa9l.js +0 -1
  129. package/dist/public/assets/ManagedArtifactProperties-B0O5eYlt.js +0 -1
  130. package/dist/public/assets/PropertyDisplayRow-Bl0tZ1a5.js +0 -2
  131. package/dist/public/assets/doc-paths-mRmnn5mL.js +0 -1
  132. package/dist/public/assets/i18n-BwxzDzCF.js +0 -1
  133. package/dist/repair-skills-Ddx30mOx.mjs +0 -1
  134. package/dist/server-lock-JctV7pHU.mjs +0 -1
  135. package/dist/src-xpcCGBI8.mjs +0 -1
  136. package/dist/start-ZBZQC08F.mjs +0 -1
@@ -0,0 +1 @@
1
+ import"./src-Ct2lVbOu.mjs";import"./resolve-project-root-DZ8FUmWA.mjs";import"./src-BIzvFai3.mjs";import"./acp-harness-probe-DQQnlizp.mjs";import"./init-BSohnsOd.mjs";import{n as e}from"./loader-BSWlIhHW.mjs";import"./skill-teardown-n1roKgm3.mjs";import"./preview-BSBsz04I.mjs";import"./mcp-migrate-event-9DFnNzHa.mjs";export{e as loadConfig};
@@ -1,5 +1,5 @@
1
- import{L as e}from"./sleep-DyLEGHvt.mjs";import{Ac as t,Sc as n,Tc as r,jc as i,kc as a}from"./src-wzwdHnH1.mjs";import{Ir as o,ei as s,s as c,t as l}from"./src-1Rp1Dq8a.mjs";import{A as u,L as d}from"./fs-traced-C5oeVBiQ.mjs";import{r as f}from"./server-lock-pONFRxy9.mjs";import{C as p,S as m,x as h}from"./resolve-project-root-H2LH3evF.mjs";import{c as g,f as _,g as v,l as y,n as b,o as x,p as S,r as C,s as w,t as T}from"./acp-harness-probe-6O1iSYIR.mjs";import{y as E}from"./init-BJVLqPEk.mjs";import{n as D}from"./constants-YeHiomno.mjs";import{spawn as O}from"node:child_process";import{basename as k,dirname as A,resolve as j}from"node:path";import{existsSync as M,realpathSync as N}from"node:fs";import{tmpdir as P}from"node:os";import{rm as F}from"node:fs/promises";import{setTimeout as I}from"node:timers/promises";function L(e,t){return e.bind?.[0]??t.HOST??`127.0.0.1`}function R(e){if(e===`server`)return e;throw new m(`--only must be 'server'`)}function z(e=M){let t=import.meta.dirname??new URL(`.`,import.meta.url).pathname;return[j(t,`public`),j(t,`../../app/dist`),j(t,`../../../app/dist`)].find(t=>e(t))}function B(e){if(e.explicitDir!==void 0)return{dir:e.explicitDir,missingBundle:!1};if(e.only===`server`)return{dir:void 0,missingBundle:!1};let t=e.findBundledDir();return{dir:t,missingBundle:t===void 0}}function V(t){if(t===`off`)return`off`;if(!e.test(t))throw new m(`--idle-shutdown must be 'off' or a duration like 90s, 30m, 2h`);return t}function H(e){return e===`localhost`||e===`::1`||e===`[::1]`||e.startsWith(`127.`)}function U(e){return!e.flagBindSet&&!e.okBindSet&&e.hostEnvSet&&e.fileBindCount>1}function W(e){return!e.openBrowser||e.ephemeral||e.only===`server`||!e.servesUi?!1:(e.explicitOn||H(e.host))&&e.isTTY}function ee(e,t){let n;try{n=new URL(t)}catch{throw new m(`${e} is not a valid URL: ${t}`)}if(n.protocol!==`http:`&&n.protocol!==`https:`)throw new m(`${e} must be an http(s) origin (got: ${t})`);return t}function G(e){return ee(`--external-url`,e)}function K(e){let t=k(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var q=class extends Error{cwd;constructor(e){super("This directory isn't set up yet. Run `ok init` first, then `ok start` again."),this.name=`OkDirMissingError`,this.cwd=e}},J=class extends Error{projectDir;constructor(e){super(`--project-dir must be a throwaway ${l}* directory under the OS temp dir. Refusing to write ephemeral session state into ${e}. Omit --project-dir to let ok start create (and clean up) its own.`),this.name=`EphemeralProjectDirNotThrowawayError`,this.projectDir=e}};function Y(e,t={}){let n=t.tmpdirFn??P,r=t.realpathFn??N,i=e=>{try{return r(e)}catch(t){return t.code===`ENOENT`?j(e):null}},a=j(e),o;try{o=r(a)}catch(e){if(e.code===`ENOENT`){let e=i(A(a));o=e===null?null:j(e,k(a))}else o=null}if(o===null)return!1;let s=i(n());return s===null?!1:A(o)===s&&k(o).startsWith(`ok-ephemeral-`)}function X(e,t,n=e=>F(e,{recursive:!0,force:!0})){return async()=>{try{await e()}finally{if(Y(t))try{await n(t)}catch(e){process.stderr.write(`[start] ephemeral temp dir reap failed for ${t}: ${e instanceof Error?e.message:String(e)}\n`)}else process.stderr.write(`[start] leaving ${t} in place: only ${l}* dirs under the OS temp dir are removed on ephemeral teardown\n`)}}}function Z(e,t={}){let n=t.exit??(e=>process.exit(e)),r=t.getActiveHandles??(()=>{let e=process._getActiveHandles;return e?e.call(process):null});return async()=>{let i=!1;try{await e()}catch(e){i=!0,t.log?.error({err:e},`idle-shutdown: destroy failed — exiting anyway`)}finally{let e=null;try{let t=r();if(t!==null){e={};for(let n of t){let t=n?.constructor?.name??`unknown`;e[t]=(e[t]??0)+1}}}catch{e=null}t.log?.info({event:`idle-shutdown-exit`,exitCode:+!!i,openHandles:e??{},handlesAvailable:e!==null},`idle-shutdown: teardown finished — exiting process`),n(+!!i)}}}async function Q(e){let{config:t,cwd:n,host:r}=e,i=e.skipAutoInit??!1,a=e.idleThresholdMs===void 0?18e5:e.idleThresholdMs,{existsSync:l,mkdirSync:u}=await import(`node:fs`),{basename:d,dirname:f,resolve:p}=await import(`node:path`),{bootServer:m,createEphemeralProjectDir:h,getLogger:g,resolveContentDir:y,resolveLockDir:x,seedEphemeralProjectDir:w,waitForServerLockDrain:D}=await import(`./src-8rHUz2eY.mjs`),O=e.log??g(`start`),k=e.singleFile!==void 0,A=k?c(e.singleFile).canonicalFilePath:void 0,j=A?f(A):void 0,M=A?d(A):void 0,N,P=!1;if(j!==void 0)if(e.projectDir!==void 0){if(N=e.projectDir,!Y(N))throw new J(N);l(p(N,`.ok`,`config.yml`))||w(N,j)}else N=h(j),P=!0;let I=async()=>{if(!(!P||N===void 0)){if(!Y(N)){O.warn({ephemeralProjectDir:N},`[start] refusing to reap self-provisioned ephemeral dir: no longer resolves to an ok-ephemeral-* temp dir`);return}try{await F(N,{recursive:!0,force:!0})}catch(e){O.warn({err:e,ephemeralProjectDir:N},`[start] failed to reap self-provisioned ephemeral temp dir`)}}},L=N;if(!k){if(!i&&!o(n))throw new q(n);let t=process.env.OK_RECLAIM_DISABLE??null,r=e=>{let t=typeof e.event==`string`?e.event:``;(t.endsWith(`-failed`)||t.endsWith(`-error`)||t.endsWith(`-missing`))&&O.warn({event:e},`[start] reclaim sweep reported a problem`)};try{(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-xEpY6E7V.mjs`)).repairMcpConfigs)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){O.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-DUTqYxFF.mjs`)).repairLaunchJson)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){O.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}try{await(e.repairSkillsFn??(await import(`./repair-skills-Ddx30mOx.mjs`)).repairSkills)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){O.warn({err:e},`[start] skill repair sweep failed; continuing`)}}let R=j??y(t,n);!k&&!l(R)&&(u(R,{recursive:!0}),O.info({contentDir:R},`Created content directory`));let z=v(),B=s(),V;try{{let e=x(N??n),t=Date.now(),r=await D(e);r!==`no-drain`&&O.info({event:`start-waited-for-draining-predecessor`,outcome:r,waitedMs:Date.now()-t,drainLockDir:e},r===`released`?`[start] predecessor server finished draining — proceeding`:`[start] predecessor server still draining after wait — proceeding to collide`)}V=await m({config:t,contentDir:R,projectDir:N??n,contentRoot:k?void 0:t.content.dir,port:e.port,host:r,quiet:!1,detectGh:_,detectGhAccounts:S,tokenStore:z,embeddingsKeyStore:B,mcpTomlEditor:E(),...k?{ephemeral:!0,singleDocRelPath:M,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],probeHarnessManagedMcpEntry:(e,t)=>T(e,t),probePiAcpBridge:e=>C(e),ensurePiAcpBridge:e=>b(e),idleShutdownMs:a,...e.serverRuntime===void 0?{}:{serverRuntime:e.serverRuntime},...e.bind===void 0?{}:{bind:e.bind},skipAutoInit:!0,idleShutdownHandler:t=>{let n=t;return Z(L===void 0?n:X(n,L),{log:O,exit:e.idleExit})},log:O,...e.serveContentAssets===void 0?{}:{serveContentAssets:e.serveContentAssets},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{}})}catch(e){throw await I(),e}let H=V.destroy,U=P?async()=>{try{await H()}finally{await I()}}:H;return{httpServer:V.httpServer,destroy:U,lockDir:V.lockDir,contentDir:R,port:V.port,ready:V.ready,degraded:V.degraded}}function $(e,t,n=()=>d({absPath:u(`user`,process.cwd()),sideline:!1,warn:()=>{}}).value){return t===void 0?e:n()}function te(e){if(e===`browser`||e===`app`)return e;throw new m(`--mode must be 'browser' or 'app'`)}function ne(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function re(e){let t=[`Stopping OpenKnowledge…`,`Saving pending changes and releasing the server lock — this can take a few seconds.`];return e===`SIGINT`&&t.push(`Press Ctrl+C again to force quit.`),t}async function ie(e,o){let s=$(e,o.singleFile),c=ne(process.env);c!==null&&(process.env.OK_CONSOLE_LEVEL=c);let{renderBanner:l}=await import(`./banner-B14xalho.mjs`),{accent:u,dim:d,error:f,warning:p}=await import(`./colors-CpP5E4wV.mjs`),m=process.cwd();process.title=K(m);let h;try{h=i(process.env)}catch(e){throw e instanceof a&&(console.error(f(e.message)),process.exit(78)),e}for(let e of h.diagnostics)console.warn(p(`[config] ${e.message}`));let g=t(s,h.layer),_=h.overrides.some(e=>e.envVar===`OK_BIND`),v=o.bind!==void 0&&o.bind.length>0?o.bind:void 0,y=process.env.HOST,b=y!==void 0&&y.trim()!==``?y:void 0,x=r(g),S=v??(_||b===void 0?[...x.bind]:[b]);U({flagBindSet:v!==void 0,okBindSet:_,hostEnvSet:b!==void 0,fileBindCount:x.bind.length})&&console.warn(p(`[config] HOST=${b} overrides server.bind — dropping the file-configured addresses (${x.bind.join(`, `)}). Use OK_BIND with a space-separated list to keep multiple binds.`));let C=S[0]??`127.0.0.1`,w=S,T=o.externalUrl,E=r(t(g,{server:{bind:w,...T===void 0?{}:{externalUrl:T}}}));if(E.allowExternal&&(!E.loopbackOnly||E.externalUrl)){let e=E.externalUrl??E.bind.join(`, `);console.warn(p([``,`⚠ EXTERNAL ACCESS ENABLED (server.allowExternal) — no server-side authentication.`,` This server is reachable beyond this machine (${e}). Anyone who can`,` reach it has FULL control of this knowledge base — sync, publishing, GitHub`,` credentials, and local operations (clone, sign-in, repo spawn).`,` Restrict who can reach it at the edge: a Tailscale ACL, a reverse proxy with`,` auth (Cloudflare Access, oauth2-proxy), or a firewall.`,``].join(`
2
- `)))}let O=o.port===void 0?void 0:Number(o.port),k=h.overrides.find(e=>e.envVar===`PORT`)?.value,A=O??k??s.server?.port,j=B({explicitDir:o.reactShellDistDir,only:o.only,findBundledDir:z}),M=j.dir;j.missingBundle&&console.warn(`bundled web UI not found — serving /api and /mcp only. Reinstall @inkeep/open-knowledge, or build packages/app in a source checkout.`);let N;try{N=await Q({config:s,cwd:m,host:C,port:A,bind:w,...o.serveContentAssets===void 0?{}:{serveContentAssets:o.serveContentAssets},...M?{reactShellDistDir:M}:{},idleThresholdMs:n(o.idleShutdown??E.idleShutdown),serverRuntime:E,...o.singleFile?{singleFile:o.singleFile}:{},...o.projectDir?{projectDir:o.projectDir}:{}})}catch(e){e instanceof q&&(console.error(f(e.message)),process.exit(1)),e instanceof J&&(console.error(f(e.message)),process.exit(1));let t=await import(`./src-8rHUz2eY.mjs`);if((e instanceof t.GitNotAvailableError||e instanceof t.GitTooOldError)&&process.exit(78),e instanceof t.ExposureConsentError&&(console.error(f(e.message)),process.exit(78)),(e instanceof t.SingleFileNotFoundError||e instanceof t.SingleFileNotAFileError||e instanceof t.SingleFileNotMarkdownError)&&(console.error(f(e.message)),process.exit(1)),e instanceof t.MissingOkConfigError&&(console.error(f(e.message)),process.exit(1)),se(e,t)){let e=t.resolveLockDir(m),n=null;try{n=await ae({readServerLock:()=>t.readServerLock(e),now:Date.now,sleep:e=>I(e),timeoutMs:3e3,pollIntervalMs:50})}catch(e){process.stderr.write(`[start] spawn-or-reuse: lock poll failed (${e instanceof Error?e.message:String(e)}) — falling back to the collision message\n`)}if(n!==null){let[e,...t]=oe(n);console.log(u(e));for(let e of t)console.log(d(e));process.exit(0)}}let n=ce(e,m,t);n!==null&&(console.error(f(n)),process.exit(1)),console.error(`${f(`Failed to start:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exit(1)}let P=!1,F=async e=>{if(P)return;P=!0;let[t,...n]=re(e);console.log(u(`\n${t}`));for(let e of n)console.log(d(` ${e}`));try{await N.destroy(`external-signal`)}catch(e){console.error(`${f(`destroy() failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exitCode=1}process.exit(process.exitCode??0)};process.once(`SIGINT`,()=>{F(`SIGINT`)}),process.once(`SIGTERM`,()=>{F(`SIGTERM`)});let L=`http://${C.includes(`:`)&&!C.startsWith(`[`)?`[${C}]`:C}:${N.port}`,R=C===`0.0.0.0`||C===`::`?`http://0.0.0.0:${N.port}`:void 0,V=L;console.log(l({name:`open-knowledge`,version:D,localUrl:V,networkUrl:R,nextSteps:[`Open the Editor URL in your browser to start editing.`]}));let H={"shadow-repo":`Version history and branch-switch safety unavailable`,"file-watcher":`External file changes will not sync to the editor`,"head-watcher":`Git branch switches may cause document inconsistency`};N.ready.then(async()=>{if(N.degraded.length>0){console.log();for(let e of N.degraded){let t=H[e]??`${e} (check server logs for details)`;console.warn(` ${p(`⚠`)} ${p(e)}: ${d(t)}`)}console.log()}if(W({openBrowser:o.openBrowser!==!1&&E.openBrowser,explicitOn:o.openBrowser!==!1&&g.server?.openBrowser===!0,host:C,isTTY:process.stdout.isTTY===!0,ephemeral:o.singleFile!==void 0,only:o.only,servesUi:M!==void 0})){let{openBrowser:e}=await import(`./open-browser-CxqP3TDJ.mjs`);e(V)}}).catch(e=>{console.error(` ${f(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})}async function ae(e){let t=e.now()+e.timeoutMs,n=e.readServerLock();for(;n!==null&&n.draining!==!0&&n.port<=0&&e.now()<t;)await e.sleep(e.pollIntervalMs),n=e.readServerLock();return n===null||n.draining===!0||n.port<=0?null:f(n)&&n.url!==void 0?{url:n.url,kind:n.kind,pid:n.pid,servesUi:!0}:{url:n.url??`http://127.0.0.1:${n.port}`,kind:n.kind,pid:n.pid,servesUi:!1}}function oe(e){return[`${e.kind===`mcp-spawned`?`An MCP-spawned OpenKnowledge server is already running on this project`:`OpenKnowledge is already running on this project`} (pid ${e.pid}).`,` ${e.url}`,"Leaving it running — run `ok stop` first if you want a fresh server."]}function se(e,t){let n=t.ServerLockCollisionError;return n!==void 0&&e instanceof n}function ce(e,t,n){let r=n.ServerLockCollisionError;if(r===void 0||!(e instanceof r))return null;try{let e=n.readServerLock(n.resolveLockDir(t));return e&&e.kind===`mcp-spawned`?"An MCP-spawned server holds this lock; it should release on idle-shutdown (~30 min). Or run `ok stop`.":"OpenKnowledge server is already running on this project — check `ok status` or `ok stop`."}catch{return null}}function le(e){return new h(`start`).description(`Start the OpenKnowledge server (UI + API + MCP + collab on one port)`).option(`-p, --port <port>`,`Server port`,void 0).option(`--bind <address>`,`Bind address (repeatable; default 127.0.0.1 — loopback only)`,(e,t)=>[...t??[],e]).option(`--no-open-browser`,`Do not open the browser after start (interactive loopback starts open it by default)`).option(`--only <module>`,`Serve one module: 'server' (API + MCP only, no shell or browser)`,R).option(`--idle-shutdown <duration>`,`Shut the server down after this long with no connected clients ('off', or a duration like 90s, 30m, 2h; default 30m)`,V).option(`--mode <mode>`,`Force dispatch mode: 'browser' or 'app'`,te).option(`--serve-content-assets`,`Serve content assets from this server (now the default; kept for compatibility)`).option(`--react-shell-dist-dir <path>`,`Serve React shell from <path>`).addOption(new p(`--single-file <path>`,`No-project ephemeral single-file mode: scope the server to one markdown file (git + MCP off)`).hideHelp()).addOption(new p(`--project-dir <dir>`,`Throwaway project root for --single-file (where ephemeral .ok/ state lives)`).hideHelp()).option(`--external-url <url>`,`Canonical external origin clients dial (sets server.externalUrl for this run) — its host joins the Host/Origin allowlists (CORS + external-Host admission). External exposure additionally requires consent (OK_ALLOW_EXTERNAL=1 or server.allowExternal).`,G).action(async t=>{let n=e();if(t.only===`server`&&t.reactShellDistDir!==void 0&&(process.stderr.write(`error: option '--only server' cannot be combined with '--react-shell-dist-dir'
1
+ import{L as e}from"./sleep-DyLEGHvt.mjs";import{Ac as t,Sc as n,Tc as r,jc as i,kc as a}from"./src-Ct2lVbOu.mjs";import{Ir as o,ei as s,s as c,t as l}from"./src-DeoDqJay.mjs";import{A as u,L as d}from"./fs-traced-C5oeVBiQ.mjs";import{r as f}from"./server-lock-DE-aYwut.mjs";import{C as p,S as m,x as h}from"./resolve-project-root-DZ8FUmWA.mjs";import{c as g,f as _,g as v,l as y,n as b,o as x,p as S,r as C,s as w,t as T}from"./acp-harness-probe-DQQnlizp.mjs";import{y as E}from"./init-BSohnsOd.mjs";import{n as D}from"./constants-WlQ6Ul94.mjs";import{spawn as O}from"node:child_process";import{basename as k,dirname as A,resolve as j}from"node:path";import{existsSync as M,realpathSync as N}from"node:fs";import{tmpdir as P}from"node:os";import{rm as F}from"node:fs/promises";import{setTimeout as I}from"node:timers/promises";function L(e,t){return e.bind?.[0]??t.HOST??`127.0.0.1`}function R(e){if(e===`server`)return e;throw new m(`--only must be 'server'`)}function z(e=M){let t=import.meta.dirname??new URL(`.`,import.meta.url).pathname;return[j(t,`public`),j(t,`../../app/dist`),j(t,`../../../app/dist`)].find(t=>e(t))}function B(e){if(e.explicitDir!==void 0)return{dir:e.explicitDir,missingBundle:!1};if(e.only===`server`)return{dir:void 0,missingBundle:!1};let t=e.findBundledDir();return{dir:t,missingBundle:t===void 0}}function V(t){if(t===`off`)return`off`;if(!e.test(t))throw new m(`--idle-shutdown must be 'off' or a duration like 90s, 30m, 2h`);return t}function H(e){return e===`localhost`||e===`::1`||e===`[::1]`||e.startsWith(`127.`)}function U(e){return!e.flagBindSet&&!e.okBindSet&&e.hostEnvSet&&e.fileBindCount>1}function W(e){return!e.openBrowser||e.ephemeral||e.only===`server`||!e.servesUi?!1:(e.explicitOn||H(e.host))&&e.isTTY}function ee(e,t){let n;try{n=new URL(t)}catch{throw new m(`${e} is not a valid URL: ${t}`)}if(n.protocol!==`http:`&&n.protocol!==`https:`)throw new m(`${e} must be an http(s) origin (got: ${t})`);return t}function G(e){return ee(`--external-url`,e)}function K(e){let t=k(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var q=class extends Error{cwd;constructor(e){super("This directory isn't set up yet. Run `ok init` first, then `ok start` again."),this.name=`OkDirMissingError`,this.cwd=e}},J=class extends Error{projectDir;constructor(e){super(`--project-dir must be a throwaway ${l}* directory under the OS temp dir. Refusing to write ephemeral session state into ${e}. Omit --project-dir to let ok start create (and clean up) its own.`),this.name=`EphemeralProjectDirNotThrowawayError`,this.projectDir=e}};function Y(e,t={}){let n=t.tmpdirFn??P,r=t.realpathFn??N,i=e=>{try{return r(e)}catch(t){return t.code===`ENOENT`?j(e):null}},a=j(e),o;try{o=r(a)}catch(e){if(e.code===`ENOENT`){let e=i(A(a));o=e===null?null:j(e,k(a))}else o=null}if(o===null)return!1;let s=i(n());return s===null?!1:A(o)===s&&k(o).startsWith(`ok-ephemeral-`)}function X(e,t,n=e=>F(e,{recursive:!0,force:!0})){return async()=>{try{await e()}finally{if(Y(t))try{await n(t)}catch(e){process.stderr.write(`[start] ephemeral temp dir reap failed for ${t}: ${e instanceof Error?e.message:String(e)}\n`)}else process.stderr.write(`[start] leaving ${t} in place: only ${l}* dirs under the OS temp dir are removed on ephemeral teardown\n`)}}}function Z(e,t={}){let n=t.exit??(e=>process.exit(e)),r=t.getActiveHandles??(()=>{let e=process._getActiveHandles;return e?e.call(process):null});return async()=>{let i=!1;try{await e()}catch(e){i=!0,t.log?.error({err:e},`idle-shutdown: destroy failed — exiting anyway`)}finally{let e=null;try{let t=r();if(t!==null){e={};for(let n of t){let t=n?.constructor?.name??`unknown`;e[t]=(e[t]??0)+1}}}catch{e=null}t.log?.info({event:`idle-shutdown-exit`,exitCode:+!!i,openHandles:e??{},handlesAvailable:e!==null},`idle-shutdown: teardown finished — exiting process`),n(+!!i)}}}async function Q(e){let{config:t,cwd:n,host:r}=e,i=e.skipAutoInit??!1,a=e.idleThresholdMs===void 0?18e5:e.idleThresholdMs,{existsSync:l,mkdirSync:u}=await import(`node:fs`),{basename:d,dirname:f,resolve:p}=await import(`node:path`),{bootServer:m,createEphemeralProjectDir:h,getLogger:g,resolveContentDir:y,resolveLockDir:x,seedEphemeralProjectDir:w,waitForServerLockDrain:D}=await import(`./src-DHmPa1LN.mjs`),O=e.log??g(`start`),k=e.singleFile!==void 0,A=k?c(e.singleFile).canonicalFilePath:void 0,j=A?f(A):void 0,M=A?d(A):void 0,N,P=!1;if(j!==void 0)if(e.projectDir!==void 0){if(N=e.projectDir,!Y(N))throw new J(N);l(p(N,`.ok`,`config.yml`))||w(N,j)}else N=h(j),P=!0;let I=async()=>{if(!(!P||N===void 0)){if(!Y(N)){O.warn({ephemeralProjectDir:N},`[start] refusing to reap self-provisioned ephemeral dir: no longer resolves to an ok-ephemeral-* temp dir`);return}try{await F(N,{recursive:!0,force:!0})}catch(e){O.warn({err:e,ephemeralProjectDir:N},`[start] failed to reap self-provisioned ephemeral temp dir`)}}},L=N;if(!k){if(!i&&!o(n))throw new q(n);let t=process.env.OK_RECLAIM_DISABLE??null,r=e=>{let t=typeof e.event==`string`?e.event:``;(t.endsWith(`-failed`)||t.endsWith(`-error`)||t.endsWith(`-missing`))&&O.warn({event:e},`[start] reclaim sweep reported a problem`)};try{(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-B0AIoQsw.mjs`)).repairMcpConfigs)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){O.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-CNEyG1iy.mjs`)).repairLaunchJson)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){O.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}try{await(e.repairSkillsFn??(await import(`./repair-skills-BArwmDoi.mjs`)).repairSkills)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){O.warn({err:e},`[start] skill repair sweep failed; continuing`)}}let R=j??y(t,n);!k&&!l(R)&&(u(R,{recursive:!0}),O.info({contentDir:R},`Created content directory`));let z=v(),B=s(),V;try{{let e=x(N??n),t=Date.now(),r=await D(e);r!==`no-drain`&&O.info({event:`start-waited-for-draining-predecessor`,outcome:r,waitedMs:Date.now()-t,drainLockDir:e},r===`released`?`[start] predecessor server finished draining — proceeding`:`[start] predecessor server still draining after wait — proceeding to collide`)}V=await m({config:t,contentDir:R,projectDir:N??n,contentRoot:k?void 0:t.content.dir,port:e.port,host:r,quiet:!1,detectGh:_,detectGhAccounts:S,tokenStore:z,embeddingsKeyStore:B,mcpTomlEditor:E(),...k?{ephemeral:!0,singleDocRelPath:M,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],probeHarnessManagedMcpEntry:(e,t)=>T(e,t),probePiAcpBridge:e=>C(e),ensurePiAcpBridge:e=>b(e),idleShutdownMs:a,...e.serverRuntime===void 0?{}:{serverRuntime:e.serverRuntime},...e.bind===void 0?{}:{bind:e.bind},skipAutoInit:!0,idleShutdownHandler:t=>{let n=t;return Z(L===void 0?n:X(n,L),{log:O,exit:e.idleExit})},log:O,...e.serveContentAssets===void 0?{}:{serveContentAssets:e.serveContentAssets},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{}})}catch(e){throw await I(),e}let H=V.destroy,U=P?async()=>{try{await H()}finally{await I()}}:H;return{httpServer:V.httpServer,destroy:U,lockDir:V.lockDir,contentDir:R,port:V.port,ready:V.ready,degraded:V.degraded}}function $(e,t,n=()=>d({absPath:u(`user`,process.cwd()),sideline:!1,warn:()=>{}}).value){return t===void 0?e:n()}function te(e){if(e===`browser`||e===`app`)return e;throw new m(`--mode must be 'browser' or 'app'`)}function ne(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function re(e){let t=[`Stopping OpenKnowledge…`,`Saving pending changes and releasing the server lock — this can take a few seconds.`];return e===`SIGINT`&&t.push(`Press Ctrl+C again to force quit.`),t}async function ie(e,o){let s=$(e,o.singleFile),c=ne(process.env);c!==null&&(process.env.OK_CONSOLE_LEVEL=c);let{renderBanner:l}=await import(`./banner-B14xalho.mjs`),{accent:u,dim:d,error:f,warning:p}=await import(`./colors-CpP5E4wV.mjs`),m=process.cwd();process.title=K(m);let h;try{h=i(process.env)}catch(e){throw e instanceof a&&(console.error(f(e.message)),process.exit(78)),e}for(let e of h.diagnostics)console.warn(p(`[config] ${e.message}`));let g=t(s,h.layer),_=h.overrides.some(e=>e.envVar===`OK_BIND`),v=o.bind!==void 0&&o.bind.length>0?o.bind:void 0,y=process.env.HOST,b=y!==void 0&&y.trim()!==``?y:void 0,x=r(g),S=v??(_||b===void 0?[...x.bind]:[b]);U({flagBindSet:v!==void 0,okBindSet:_,hostEnvSet:b!==void 0,fileBindCount:x.bind.length})&&console.warn(p(`[config] HOST=${b} overrides server.bind — dropping the file-configured addresses (${x.bind.join(`, `)}). Use OK_BIND with a space-separated list to keep multiple binds.`));let C=S[0]??`127.0.0.1`,w=S,T=o.externalUrl,E=r(t(g,{server:{bind:w,...T===void 0?{}:{externalUrl:T}}}));if(E.allowExternal&&(!E.loopbackOnly||E.externalUrl)){let e=E.externalUrl??E.bind.join(`, `);console.warn(p([``,`⚠ EXTERNAL ACCESS ENABLED (server.allowExternal) — no server-side authentication.`,` This server is reachable beyond this machine (${e}). Anyone who can`,` reach it has FULL control of this knowledge base — sync, publishing, GitHub`,` credentials, and local operations (clone, sign-in, repo spawn).`,` Restrict who can reach it at the edge: a Tailscale ACL, a reverse proxy with`,` auth (Cloudflare Access, oauth2-proxy), or a firewall.`,``].join(`
2
+ `)))}let O=o.port===void 0?void 0:Number(o.port),k=h.overrides.find(e=>e.envVar===`PORT`)?.value,A=O??k??s.server?.port,j=B({explicitDir:o.reactShellDistDir,only:o.only,findBundledDir:z}),M=j.dir;j.missingBundle&&console.warn(`bundled web UI not found — serving /api and /mcp only. Reinstall @inkeep/open-knowledge, or build packages/app in a source checkout.`);let N;try{N=await Q({config:s,cwd:m,host:C,port:A,bind:w,...o.serveContentAssets===void 0?{}:{serveContentAssets:o.serveContentAssets},...M?{reactShellDistDir:M}:{},idleThresholdMs:n(o.idleShutdown??E.idleShutdown),serverRuntime:E,...o.singleFile?{singleFile:o.singleFile}:{},...o.projectDir?{projectDir:o.projectDir}:{}})}catch(e){e instanceof q&&(console.error(f(e.message)),process.exit(1)),e instanceof J&&(console.error(f(e.message)),process.exit(1));let t=await import(`./src-DHmPa1LN.mjs`);if((e instanceof t.GitNotAvailableError||e instanceof t.GitTooOldError)&&process.exit(78),e instanceof t.ExposureConsentError&&(console.error(f(e.message)),process.exit(78)),(e instanceof t.SingleFileNotFoundError||e instanceof t.SingleFileNotAFileError||e instanceof t.SingleFileNotMarkdownError)&&(console.error(f(e.message)),process.exit(1)),e instanceof t.MissingOkConfigError&&(console.error(f(e.message)),process.exit(1)),se(e,t)){let e=t.resolveLockDir(m),n=null;try{n=await ae({readServerLock:()=>t.readServerLock(e),now:Date.now,sleep:e=>I(e),timeoutMs:3e3,pollIntervalMs:50})}catch(e){process.stderr.write(`[start] spawn-or-reuse: lock poll failed (${e instanceof Error?e.message:String(e)}) — falling back to the collision message\n`)}if(n!==null){let[e,...t]=oe(n);console.log(u(e));for(let e of t)console.log(d(e));process.exit(0)}}let n=ce(e,m,t);n!==null&&(console.error(f(n)),process.exit(1)),console.error(`${f(`Failed to start:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exit(1)}let P=!1,F=async e=>{if(P)return;P=!0;let[t,...n]=re(e);console.log(u(`\n${t}`));for(let e of n)console.log(d(` ${e}`));try{await N.destroy(`external-signal`)}catch(e){console.error(`${f(`destroy() failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exitCode=1}process.exit(process.exitCode??0)};process.once(`SIGINT`,()=>{F(`SIGINT`)}),process.once(`SIGTERM`,()=>{F(`SIGTERM`)});let L=`http://${C.includes(`:`)&&!C.startsWith(`[`)?`[${C}]`:C}:${N.port}`,R=C===`0.0.0.0`||C===`::`?`http://0.0.0.0:${N.port}`:void 0,V=L;console.log(l({name:`open-knowledge`,version:D,localUrl:V,networkUrl:R,nextSteps:[`Open the Editor URL in your browser to start editing.`]}));let H={"shadow-repo":`Version history and branch-switch safety unavailable`,"file-watcher":`External file changes will not sync to the editor`,"head-watcher":`Git branch switches may cause document inconsistency`};N.ready.then(async()=>{if(N.degraded.length>0){console.log();for(let e of N.degraded){let t=H[e]??`${e} (check server logs for details)`;console.warn(` ${p(`⚠`)} ${p(e)}: ${d(t)}`)}console.log()}if(W({openBrowser:o.openBrowser!==!1&&E.openBrowser,explicitOn:o.openBrowser!==!1&&g.server?.openBrowser===!0,host:C,isTTY:process.stdout.isTTY===!0,ephemeral:o.singleFile!==void 0,only:o.only,servesUi:M!==void 0})){let{openBrowser:e}=await import(`./open-browser-DScjpc4A.mjs`);e(V)}}).catch(e=>{console.error(` ${f(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})}async function ae(e){let t=e.now()+e.timeoutMs,n=e.readServerLock();for(;n!==null&&n.draining!==!0&&n.port<=0&&e.now()<t;)await e.sleep(e.pollIntervalMs),n=e.readServerLock();return n===null||n.draining===!0||n.port<=0?null:f(n)&&n.url!==void 0?{url:n.url,kind:n.kind,pid:n.pid,servesUi:!0}:{url:n.url??`http://127.0.0.1:${n.port}`,kind:n.kind,pid:n.pid,servesUi:!1}}function oe(e){return[`${e.kind===`mcp-spawned`?`An MCP-spawned OpenKnowledge server is already running on this project`:`OpenKnowledge is already running on this project`} (pid ${e.pid}).`,` ${e.url}`,"Leaving it running — run `ok stop` first if you want a fresh server."]}function se(e,t){let n=t.ServerLockCollisionError;return n!==void 0&&e instanceof n}function ce(e,t,n){let r=n.ServerLockCollisionError;if(r===void 0||!(e instanceof r))return null;try{let e=n.readServerLock(n.resolveLockDir(t));return e&&e.kind===`mcp-spawned`?"An MCP-spawned server holds this lock; it should release on idle-shutdown (~30 min). Or run `ok stop`.":"OpenKnowledge server is already running on this project — check `ok status` or `ok stop`."}catch{return null}}function le(e){return new h(`start`).description(`Start the OpenKnowledge server (UI + API + MCP + collab on one port)`).option(`-p, --port <port>`,`Server port`,void 0).option(`--bind <address>`,`Bind address (repeatable; default 127.0.0.1 — loopback only)`,(e,t)=>[...t??[],e]).option(`--no-open-browser`,`Do not open the browser after start (interactive loopback starts open it by default)`).option(`--only <module>`,`Serve one module: 'server' (API + MCP only, no shell or browser)`,R).option(`--idle-shutdown <duration>`,`Shut the server down after this long with no connected clients ('off', or a duration like 90s, 30m, 2h; default 30m)`,V).option(`--mode <mode>`,`Force dispatch mode: 'browser' or 'app'`,te).option(`--serve-content-assets`,`Serve content assets from this server (now the default; kept for compatibility)`).option(`--react-shell-dist-dir <path>`,`Serve React shell from <path>`).addOption(new p(`--single-file <path>`,`No-project ephemeral single-file mode: scope the server to one markdown file (git + MCP off)`).hideHelp()).addOption(new p(`--project-dir <dir>`,`Throwaway project root for --single-file (where ephemeral .ok/ state lives)`).hideHelp()).option(`--external-url <url>`,`Canonical external origin clients dial (sets server.externalUrl for this run) — its host joins the Host/Origin allowlists (CORS + external-Host admission). External exposure additionally requires consent (OK_ALLOW_EXTERNAL=1 or server.allowExternal).`,G).action(async t=>{let n=e();if(t.only===`server`&&t.reactShellDistDir!==void 0&&(process.stderr.write(`error: option '--only server' cannot be combined with '--react-shell-dist-dir'
3
3
  `),process.exit(2)),t.projectDir!==void 0&&t.singleFile===void 0&&(process.stderr.write(`error: option '--project-dir' requires '--single-file'
4
4
  `),process.exit(2)),t.mode===`app`){let e=[];if(t.port!==void 0&&e.push(`--port`),t.bind!==void 0&&e.push(`--bind`),t.only!==void 0&&e.push(`--only`),t.idleShutdown!==void 0&&e.push(`--idle-shutdown`),t.openBrowser===!1&&e.push(`--no-open-browser`),t.externalUrl!==void 0&&e.push(`--external-url`),e.length>0){let t=process.env.OK_LOG_LEVEL??`info`;(t===`debug`||t===`trace`)&&console.error(`--mode=app: ignoring ${e.join(`, `)}`)}let n=w(x());if(n.available){g({spawn:O},n);return}console.error(y(n.reason)),process.exit(1)}await ie(n,t)})}export{ce as C,le as S,Z as T,ne as _,oe as a,W as b,Y as c,V as d,R as f,$ as g,ae as h,K as i,se as l,L as m,q as n,re as o,z as p,Q as r,H as s,J as t,G as u,B as v,X as w,U as x,ie as y};
5
- //# sourceMappingURL=start-DKaGdrt1.mjs.map
5
+ //# sourceMappingURL=start-D8mbQnet.mjs.map
@@ -0,0 +1 @@
1
+ import{S as e,m as t,p as n,r}from"./start-D8mbQnet.mjs";export{r as bootStartServer,n as resolveBundledReactShellDir,t as resolveHost,e as startCommand};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inkeep/open-knowledge",
3
- "version": "0.65.0-beta.1",
3
+ "version": "0.65.0-beta.3",
4
4
  "description": "Local-first, agent-friendly Markdown knowledge base with a cross-platform CLI and web editor",
5
5
  "keywords": [
6
6
  "knowledge-base",
@@ -71,10 +71,10 @@
71
71
  "ajv-formats": "^3.0.1",
72
72
  "tsdown": "^0.21.7",
73
73
  "typescript": "^5.9.3",
74
- "@inkeep/open-knowledge-app": "0.65.0-beta.1",
74
+ "@inkeep/open-knowledge-core": "0.65.0-beta.3",
75
+ "@inkeep/open-knowledge-app": "0.65.0-beta.3",
75
76
  "@inkeep/open-knowledge-native-config": "0.0.0",
76
- "@inkeep/open-knowledge-core": "0.65.0-beta.1",
77
- "@inkeep/open-knowledge-server": "0.65.0-beta.1"
77
+ "@inkeep/open-knowledge-server": "0.65.0-beta.3"
78
78
  },
79
79
  "scripts": {
80
80
  "build:cli": "rm -rf dist && tsdown",
@@ -1,2 +0,0 @@
1
- import"./src-wzwdHnH1.mjs";var e=`0.65.0-beta.1`;const t=`config.yml`,n=e;export{n,t};
2
- //# sourceMappingURL=constants-YeHiomno.mjs.map
@@ -1 +0,0 @@
1
- import{i as e}from"./git-handle-tXqNDNbG.mjs";export{e as createGitInstance};
@@ -1 +0,0 @@
1
- import"./src-1Rp1Dq8a.mjs";import{g as e}from"./init-BJVLqPEk.mjs";export{e as runInit};
@@ -1 +0,0 @@
1
- import{n as e}from"./loader-C4nhWSIa.mjs";export{e as loadConfig};
@@ -1,2 +0,0 @@
1
- import{fs as e,ss as t,vo as n}from"./src-wzwdHnH1.mjs";const r=new n({extensions:t,deriveStructuralFreshness:!0}),i=e(t);export{i as n,r as t};
2
- //# sourceMappingURL=md-manager-Bu71zQPt.mjs.map
@@ -1 +0,0 @@
1
- import{n as e,t}from"./preview-BZwSz2kH.mjs";export{t as formatPreviewBlock,e as previewContent};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-CYidjpOJ.js";import{t}from"./jsx-runtime-BUgB2tll.js";import{a as n,i as r}from"./DocumentContext-rwQWKRwZ.js";import{t as i}from"./react-f2sANaYj.js";import{n as a,r as o}from"./dist-Nvb76hAm.js";import{t as s}from"./compiler-runtime-BfE3aGVn.js";import{t as c}from"./button-Cym3gapE.js";import{i as l,n as u,t as d}from"./tooltip-DttaCTqz.js";import{a as f,c as p,i as m,o as h,s as g,t as _}from"./dialog-CTNat3T_.js";import{n as v}from"./dist-CJhtNlOm2.js";import{t as y}from"./dist-Cr4-nBVI.js";import{u as b}from"./Mermaid-B4Oa2diB.js";import{t as x}from"./circle-alert-b-E0_BIP.js";import{i as S}from"./prop-types-B41RJtGt.js";import{t as C}from"./spinner-t7GahFcQ.js";import{t as w}from"./undo-2-XcI_wHcs.js";import{d as T}from"./page-list-cache-B3bvGAO5.js";import{a as E,i as D,n as O,o as k,t as A}from"./agent-diff-store-Cpo8SCiH.js";import{t as j}from"./timeline-diff-store-ym5Oz1UF.js";import{n as M}from"./use-activity-panel-Cwiaxn7-.js";var N=s(),P=e(i(),1),F=t();function I(e,t){let n=Math.max(0,t-e);if(n<6e4){let e=Math.round(n/1e3);return y._({id:`pbwTg6`,values:{seconds:e}})}if(n<36e5){let e=Math.round(n/6e4);return y._({id:`_rP3HI`,values:{minutes:e}})}return new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function ee(e){let t=(0,N.c)(86),{burst:n,docName:r,editCount:i,sessionAlive:s,inFlight:v,onOpenDiff:y,onRestore:b}=e,{_:x}=o(),[S,T]=(0,P.useState)(te),D,O;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(D=()=>{let e=setInterval(()=>T(Date.now()),3e4);return()=>clearInterval(e)},O=[],t[0]=D,t[1]=O):(D=t[0],O=t[1]),(0,P.useEffect)(D,O);let[k,A]=(0,P.useState)(!1),j=E(),M=n.stackIndex+1,ee=j?.docName===r&&j.keptCount===M,L=i-M,ne=!s||v||L<=0,re;t[2]!==L||t[3]!==b?(re=function(){A(!1),b(L)},t[2]=L,t[3]=b,t[4]=re):re=t[4];let ie=re,R;t[5]!==n||t[6]!==y?(R=()=>y(n),t[5]=n,t[6]=y,t[7]=R):R=t[7];let z;t[8]!==x||t[9]!==M||t[10]!==r?(z=x({id:`Z79bnE`,values:{burstNumber:M,docName:r}}),t[8]=x,t[9]=M,t[10]=r,t[11]=z):z=t[11];let ae=ee?`bg-muted`:`hover:bg-muted/40`,oe;t[12]===ae?oe=t[13]:(oe=[`flex min-w-0 flex-1 items-center gap-2 px-4 py-1.5 text-xs text-muted-foreground transition-colors`,ae],t[12]=ae,t[13]=oe);let se=oe.join(` `),B;t[14]!==n.ts||t[15]!==S?(B=I(n.ts,S),t[14]=n.ts,t[15]=S,t[16]=B):B=t[16];let V;t[17]===B?V=t[18]:(V=(0,F.jsx)(`span`,{className:`font-mono`,children:B}),t[17]=B,t[18]=V);let H;t[19]===n.additions?H=t[20]:(H=(0,F.jsxs)(`span`,{className:`text-green-600 dark:text-green-400`,children:[`+`,n.additions]}),t[19]=n.additions,t[20]=H);let U;t[21]===n.deletions?U=t[22]:(U=(0,F.jsxs)(`span`,{className:`text-red-600 dark:text-red-400`,children:[`−`,n.deletions]}),t[21]=n.deletions,t[22]=U);let W;t[23]!==H||t[24]!==U?(W=(0,F.jsxs)(`span`,{className:`ml-auto font-mono`,children:[H,` `,U]}),t[23]=H,t[24]=U,t[25]=W):W=t[25];let G;t[26]!==ee||t[27]!==V||t[28]!==W||t[29]!==R||t[30]!==z||t[31]!==se?(G=(0,F.jsxs)(`button`,{type:`button`,onClick:R,"aria-pressed":ee,"aria-label":z,"data-testid":`activity-panel-burst-open`,className:se,children:[V,W]}),t[26]=ee,t[27]=V,t[28]=W,t[29]=R,t[30]=z,t[31]=se,t[32]=G):G=t[32];let ce;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,F.jsx)(`span`,{"aria-hidden":`true`,className:`mx-1.5 h-3 w-px shrink-0 bg-border`}),t[33]=ce):ce=t[33];let K;t[34]!==x||t[35]!==M||t[36]!==r?(K=x({id:`Zhe80e`,values:{burstNumber:M,docName:r}}),t[34]=x,t[35]=M,t[36]=r,t[37]=K):K=t[37];let le;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(le=()=>A(!0),t[38]=le):le=t[38];let q;t[39]===v?q=t[40]:(q=v?(0,F.jsx)(C,{className:`size-3`,"aria-hidden":`true`}):(0,F.jsx)(w,{className:`size-3`,"aria-hidden":`true`}),t[39]=v,t[40]=q);let J;t[41]!==ne||t[42]!==K||t[43]!==q?(J=(0,F.jsx)(l,{asChild:!0,children:(0,F.jsx)(c,{type:`button`,variant:`ghost`,size:`icon`,className:`size-6 shrink-0 text-muted-foreground hover:text-destructive`,"data-testid":`activity-panel-burst-restore`,"aria-label":K,disabled:ne,onClick:le,children:q})}),t[41]=ne,t[42]=K,t[43]=q,t[44]=J):J=t[44];let Y;t[45]!==x||t[46]!==L||t[47]!==s?(Y=x(s?L>0?{id:`SOPwPh`}:{id:`62bOuM`}:{id:`NzFvyK`}),t[45]=x,t[46]=L,t[47]=s,t[48]=Y):Y=t[48];let X;t[49]===Y?X=t[50]:(X=(0,F.jsx)(u,{side:`left`,children:Y}),t[49]=Y,t[50]=X);let Z;t[51]!==J||t[52]!==X?(Z=(0,F.jsxs)(d,{children:[J,X]}),t[51]=J,t[52]=X,t[53]=Z):Z=t[53];let Q;t[54]!==G||t[55]!==Z?(Q=(0,F.jsxs)(`div`,{className:`flex items-center border-t border-border/50 pr-3`,children:[G,ce,Z]}),t[54]=G,t[55]=Z,t[56]=Q):Q=t[56];let ue;t[57]===v?ue=t[58]:(ue=e=>{!e&&!v?A(!1):e&&A(!0)},t[57]=v,t[58]=ue);let de;t[59]===x?de=t[60]:(de=x({id:`a4FRQv`}),t[59]=x,t[60]=de);let fe;t[61]===de?fe=t[62]:(fe=(0,F.jsx)(p,{children:de}),t[61]=de,t[62]=fe);let pe;t[63]===L?pe=t[64]:(pe=(0,F.jsx)(f,{children:(0,F.jsx)(a,{id:`LKIPzv`,values:{laterEdits:L}})}),t[63]=L,t[64]=pe);let $;t[65]!==fe||t[66]!==pe?($=(0,F.jsxs)(g,{children:[fe,pe]}),t[65]=fe,t[66]=pe,t[67]=$):$=t[67];let me;t[68]===Symbol.for(`react.memo_cache_sentinel`)?(me=(0,F.jsx)(c,{variant:`outline`,"data-testid":`activity-panel-burst-restore-cancel`,onClick:()=>A(!1),children:(0,F.jsx)(a,{id:`dEgA5A`})}),t[68]=me):me=t[68];let he;t[69]===v?he=t[70]:(he=v?(0,F.jsx)(C,{className:`mr-2 size-4`,"aria-hidden":`true`}):null,t[69]=v,t[70]=he);let ge;t[71]===Symbol.for(`react.memo_cache_sentinel`)?(ge=(0,F.jsx)(a,{id:`9uI_rE`}),t[71]=ge):ge=t[71];let _e;t[72]!==ie||t[73]!==v||t[74]!==he?(_e=(0,F.jsxs)(h,{children:[me,(0,F.jsxs)(c,{variant:`destructive`,"data-testid":`activity-panel-burst-restore-confirm`,disabled:v,onClick:ie,children:[he,ge]})]}),t[72]=ie,t[73]=v,t[74]=he,t[75]=_e):_e=t[75];let ve;t[76]!==$||t[77]!==_e?(ve=(0,F.jsxs)(m,{children:[$,_e]}),t[76]=$,t[77]=_e,t[78]=ve):ve=t[78];let ye;t[79]!==k||t[80]!==ue||t[81]!==ve?(ye=(0,F.jsx)(_,{open:k,onOpenChange:ue,children:ve}),t[79]=k,t[80]=ue,t[81]=ve,t[82]=ye):ye=t[82];let be;return t[83]!==Q||t[84]!==ye?(be=(0,F.jsxs)(F.Fragment,{children:[Q,ye]}),t[83]=Q,t[84]=ye,t[85]=be):be=t[85],be}function te(){return Date.now()}function L(e,t){let n=Math.max(0,t-e);if(n<6e4){let e=Math.round(n/1e3);return y._({id:`pbwTg6`,values:{seconds:e}})}if(n<36e5){let e=Math.round(n/6e4);return y._({id:`_rP3HI`,values:{minutes:e}})}let r=Math.round(n/36e5);return y._({id:`nYeBmY`,values:{hours:r}})}function ne(e){let t=(0,N.c)(56),{file:n,sessionAlive:r,isWriting:i,onNavigate:s,onUndoDrop:c,onSetVersion:l}=e,{_:u}=o(),{docName:d}=n,[f,p]=(0,P.useState)(!1),[m,h]=(0,P.useState)(re),g,_;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>{let e=setInterval(()=>h(Date.now()),3e4);return()=>clearInterval(e)},_=[],t[0]=g,t[1]=_):(g=t[0],_=t[1]),(0,P.useEffect)(g,_);let v=n.bursts.length,y;t[2]!==n.docName||t[3]!==c||t[4]!==r||t[5]!==f?(y=e=>{e<=0||!r||f||(p(!0),Promise.resolve(c(n.docName,e)).finally(()=>{p(!1),A()}))},t[2]=n.docName,t[3]=c,t[4]=r,t[5]=f,t[6]=y):y=t[6];let b=y;if(n.bursts.length===0)return null;let x;t[7]!==n.docName||t[8]!==s?(x=()=>s(n.docName),t[7]=n.docName,t[8]=s,t[9]=x):x=t[9];let S;t[10]!==u||t[11]!==d?(S=u({id:`QcpeeE`,values:{docName:d}}),t[10]=u,t[11]=d,t[12]=S):S=t[12];let C;t[13]!==n.docName||t[14]!==x||t[15]!==S?(C=(0,F.jsx)(`button`,{type:`button`,onClick:x,className:`min-w-0 flex-1 truncate text-left text-foreground hover:underline focus-visible:outline-ring`,"aria-label":S,"data-testid":`activity-panel-file-row-filename`,title:n.docName,children:n.docName}),t[13]=n.docName,t[14]=x,t[15]=S,t[16]=C):C=t[16];let w;t[17]===n.additionsTotal?w=t[18]:(w=(0,F.jsxs)(`span`,{className:`text-green-600 dark:text-green-400`,children:[`+`,n.additionsTotal]}),t[17]=n.additionsTotal,t[18]=w);let T;t[19]===n.deletionsTotal?T=t[20]:(T=(0,F.jsxs)(`span`,{className:`text-red-600 dark:text-red-400`,children:[`−`,n.deletionsTotal]}),t[19]=n.deletionsTotal,t[20]=T);let E;t[21]!==w||t[22]!==T?(E=(0,F.jsxs)(`span`,{className:`shrink-0 font-mono text-xs`,children:[w,` `,T]}),t[21]=w,t[22]=T,t[23]=E):E=t[23];let D;t[24]!==n.lastTs||t[25]!==m?(D=L(n.lastTs,m),t[24]=n.lastTs,t[25]=m,t[26]=D):D=t[26];let O;t[27]===D?O=t[28]:(O=(0,F.jsx)(`span`,{className:`shrink-0 font-mono text-[11px] text-muted-foreground`,children:D}),t[27]=D,t[28]=O);let k;t[29]===i?k=t[30]:(k=i?(0,F.jsx)(`span`,{className:`shrink-0 text-[11px] text-primary animate-pulse`,role:`status`,children:(0,F.jsx)(a,{id:`6q0rnH`})}):null,t[29]=i,t[30]=k);let j;t[31]!==O||t[32]!==k||t[33]!==C||t[34]!==E?(j=(0,F.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2 text-sm`,children:[C,E,O,k]}),t[31]=O,t[32]=k,t[33]=C,t[34]=E,t[35]=j):j=t[35];let M;if(t[36]!==b||t[37]!==v||t[38]!==n.bursts||t[39]!==n.docName||t[40]!==l||t[41]!==r||t[42]!==f){let e;t[44]!==b||t[45]!==v||t[46]!==n.docName||t[47]!==l||t[48]!==r||t[49]!==f?(e=e=>(0,F.jsx)(ee,{burst:e,docName:n.docName,editCount:v,sessionAlive:r,inFlight:f,onOpenDiff:e=>l(e.stackIndex+1),onRestore:b},`${n.docName}:${e.stackIndex}`),t[44]=b,t[45]=v,t[46]=n.docName,t[47]=l,t[48]=r,t[49]=f,t[50]=e):e=t[50],M=n.bursts.map(e),t[36]=b,t[37]=v,t[38]=n.bursts,t[39]=n.docName,t[40]=l,t[41]=r,t[42]=f,t[43]=M}else M=t[43];let I;t[51]===M?I=t[52]:(I=(0,F.jsx)(`div`,{children:M}),t[51]=M,t[52]=I);let te;return t[53]!==j||t[54]!==I?(te=(0,F.jsxs)(`div`,{className:`border-b border-border`,"data-testid":`activity-panel-file-row`,children:[j,I]}),t[53]=j,t[54]=I,t[55]=te):te=t[55],te}function re(){return Date.now()}async function ie(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 R(e){return`#/${e.split(`/`).map(e=>encodeURIComponent(e)).join(`/`)}`}function z(e){typeof window>`u`||(window.location.hash=R(e))}function ae(){let e=(0,N.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,F.jsx)(C,{className:`mr-2 size-4`,"aria-hidden":`true`}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,F.jsxs)(`div`,{className:`flex h-full items-center justify-center p-6 text-muted-foreground`,role:`status`,"aria-busy":`true`,children:[t,(0,F.jsx)(`span`,{className:`text-sm`,children:(0,F.jsx)(a,{id:`ONPvOb`})})]}),e[1]=n):n=e[1],n}function oe(e){let t=(0,N.c)(10),{error:n,onRetry:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,F.jsx)(x,{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,F.jsx)(`p`,{className:`text-sm font-medium`,children:(0,F.jsx)(a,{id:`DhLHEb`})}),t[1]=o):o=t[1];let s;t[2]===n?s=t[3]:(s=(0,F.jsxs)(`div`,{className:`space-y-1`,children:[o,(0,F.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,F.jsx)(a,{id:`6gRgw8`}),t[4]=l):l=t[4];let u;t[5]===r?u=t[6]:(u=(0,F.jsx)(c,{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,F.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 se(){let e=(0,N.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,F.jsx)(`div`,{className:`flex h-full items-center justify-center p-6 text-muted-foreground`,"data-testid":`activity-panel-empty`,children:(0,F.jsx)(`p`,{className:`text-sm italic`,children:(0,F.jsx)(a,{id:`iuTKci`})})}),e[0]=t):t=e[0],t}function B(e){let t=(0,N.c)(12),{onExit:n,showBackButton:r}=e,{_:i}=o(),s;t[0]===i?s=t[1]:(s=i({id:`kYL1lH`}),t[0]=i,t[1]=s);let c;t[2]!==n||t[3]!==r?(c=r?(0,F.jsx)(V,{onClick:n}):null,t[2]=n,t[3]=r,t[4]=c):c=t[4];let l;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,F.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:(0,F.jsx)(a,{id:`kYL1lH`})}),t[5]=l):l=t[5];let u;t[6]===c?u=t[7]:(u=(0,F.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,F.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-6 text-muted-foreground`,children:(0,F.jsx)(`p`,{className:`text-center text-sm italic`,children:(0,F.jsx)(a,{id:`D_WKe_`})})}),t[8]=d):d=t[8];let f;return t[9]!==s||t[10]!==u?(f=(0,F.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 V(e){let t=(0,N.c)(9),{onClick:n}=e,{_:r}=o(),i;t[0]===r?i=t[1]:(i=r({id:`ogAuyr`}),t[0]=r,t[1]=i);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,F.jsx)(b,{}),t[2]=s):s=t[2];let f;t[3]!==n||t[4]!==i?(f=(0,F.jsx)(l,{asChild:!0,children:(0,F.jsx)(c,{type:`button`,variant:`ghost`,size:`icon`,className:`size-7 shrink-0`,onClick:n,"aria-label":i,"data-testid":`docpanel-exit-agent-mode`,children:s})}),t[3]=n,t[4]=i,t[5]=f):f=t[5];let p;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,F.jsx)(u,{side:`bottom`,children:(0,F.jsx)(a,{id:`ogAuyr`})}),t[6]=p):p=t[6];let m;return t[7]===f?m=t[8]:(m=(0,F.jsxs)(d,{children:[f,p]}),t[7]=f,t[8]=m),m}function H(e){let t=(0,N.c)(9),{lastTs:n}=e,[r]=(0,P.useState)(U),i;t[0]!==n||t[1]!==r?(i=n?W(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,F.jsx)(`span`,{className:`font-medium`,children:(0,F.jsx)(a,{id:`LCUy_N`})}),t[3]=s):s=t[3];let c;t[4]===o?c=t[5]:(c=o?(0,F.jsxs)(`span`,{children:[` · `,o]}):null,t[4]=o,t[5]=c);let l;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,F.jsx)(`div`,{className:`mt-1 opacity-80`,children:(0,F.jsx)(a,{id:`GK-IRZ`})}),t[6]=l):l=t[6];let u;return t[7]===c?u=t[8]:(u=(0,F.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 U(){return Date.now()}function W(e){let t=Math.max(0,e);if(t<6e4){let e=Math.round(t/1e3);return y._({id:`pbwTg6`,values:{seconds:e}})}if(t<36e5){let e=Math.round(t/6e4);return y._({id:`_rP3HI`,values:{minutes:e}})}let n=Math.round(t/36e5);return y._({id:`nYeBmY`,values:{hours:n}})}function G(e){let t=(0,N.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,F.jsx)(k,{icon:n.icon,width:o,height:s}),t[3]=n.icon,t[4]=o,t[5]=s,t[6]=c):c=t[6];let l;return t[7]!==a||t[8]!==c?(l=(0,F.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 ce(e){let t=(0,N.c)(25),{data:n,status:r,error:i,reload:s,onExit:c,onNavigate:l,onUndoDrop:u,onSetVersion:d,showBackButton:f}=e,{_:p}=o(),m=n?.files?.[0]?.lastTs??null,h=n?.files?.length??0,g;t[0]===p?g=t[1]:(g=p({id:`kYL1lH`}),t[0]=p,t[1]=g);let _;t[2]!==c||t[3]!==f?(_=f?(0,F.jsx)(V,{onClick:c}):null,t[2]=c,t[3]=f,t[4]=_):_=t[4];let v;t[5]!==n||t[6]!==h||t[7]!==m?(v=n?.agent?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(G,{agent:n.agent}),(0,F.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,F.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:n.agent.displayName}),(0,F.jsxs)(`p`,{className:`truncate text-xs text-muted-foreground`,children:[n.sessionAlive?(0,F.jsx)(a,{id:`F6pfE9`}):m===null?(0,F.jsx)(a,{id:`PMyJ9C`}):(0,F.jsx)(a,{id:`237hSL`}),n.files.length>0?(0,F.jsxs)(F.Fragment,{children:[` · `,(0,F.jsx)(a,{id:`u3BOHd`,values:{fileCount:h}})]}):null]})]})]}):(0,F.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,F.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:(0,F.jsx)(a,{id:`kYL1lH`})})}),t[5]=n,t[6]=h,t[7]=m,t[8]=v):v=t[8];let y;t[9]!==_||t[10]!==v?(y=(0,F.jsxs)(`div`,{className:`flex flex-row items-center gap-2 border-b border-border px-3 py-2 shrink-0`,children:[_,v]}),t[9]=_,t[10]=v,t[11]=y):y=t[11];let b;t[12]!==n||t[13]!==i||t[14]!==m||t[15]!==l||t[16]!==d||t[17]!==u||t[18]!==s||t[19]!==r?(b=(0,F.jsx)(`div`,{className:`flex-1 overflow-y-auto`,"data-testid":`activity-panel-body`,children:r===`loading`&&n===null?(0,F.jsx)(ae,{}):r===`error`&&i?(0,F.jsx)(oe,{error:i,onRetry:s}):n===null?(0,F.jsx)(se,{}):(0,F.jsxs)(F.Fragment,{children:[!n.sessionAlive&&m!==null?(0,F.jsx)(H,{lastTs:m}):null,n.files.length===0?(0,F.jsx)(se,{}):n.files.map(e=>(0,F.jsx)(ne,{file:e,sessionAlive:n.sessionAlive,isWriting:n.writingDocs.has(e.docName),onNavigate:l,onUndoDrop:u,onSetVersion:t=>d(e,t)},e.docName))]})}),t[12]=n,t[13]=i,t[14]=m,t[15]=l,t[16]=d,t[17]=u,t[18]=s,t[19]=r,t[20]=b):b=t[20];let x;return t[21]!==g||t[22]!==y||t[23]!==b?(x=(0,F.jsxs)(`section`,{className:`flex h-full min-h-0 flex-col`,"data-testid":`activity-panel`,"aria-label":g,children:[y,b]}),t[21]=g,t[22]=y,t[23]=b,t[24]=x):x=t[24],x}function K(e){let t=(0,N.c)(30),i;t[0]===e?i=t[1]:(i=e===void 0?{}:e,t[0]=e,t[1]=i);let{showBackButton:a}=i,s=a===void 0?!0:a,{_:c}=o(),{docPanelAgentId:l,closeActivityPanel:u}=r(),{openTargetTransition:d}=n(),{pageMeta:f}=S(),{data:p,status:m,error:h,reload:g}=M(l),_,y;if(t[2]!==p||t[3]!==l?(_=()=>{if(!(!p||l===null))for(let e of p.files)D(l,e.docName,e.bursts.length)},y=[p,l],t[2]=p,t[3]=l,t[4]=_,t[5]=y):(_=t[4],y=t[5]),(0,P.useEffect)(_,y),l===null){let e;return t[6]!==u||t[7]!==s?(e=(0,F.jsx)(B,{onExit:u,showBackButton:s}),t[6]=u,t[7]=s,t[8]=e):e=t[8],e}let b;t[9]!==d||t[10]!==f?(b=e=>{d(T({kind:`doc`,target:e,docName:e},f),{disposition:`permanent`,consumeActiveNewTab:!0}),z(e)},t[9]=d,t[10]=f,t[11]=b):b=t[11];let x=b,C;t[12]!==p||t[13]!==l?(C=(e,t)=>{if(!p?.agent||l===null)return;j();let n=e.bursts.length;O({agentId:l,agentName:p.agent.displayName,agentColor:p.agent.color,agentIcon:p.agent.icon,docName:e.docName,keptCount:Math.max(0,Math.min(t,n)),maxVersions:n})},t[12]=p,t[13]=l,t[14]=C):C=t[14];let w=C,E;t[15]!==c||t[16]!==p||t[17]!==l||t[18]!==g?(E=async(e,t)=>{if(!(t<=0))try{await ie({connectionId:l,docName:e,scope:`count`,count:t,agentName:p?.agent?.displayName}),v.success(c(t===1?{id:`-dNlfM`,values:{docName:e}}:{id:`ApeA0n`,values:{dropCount:t,docName:e}})),g()}catch(e){let t=e,n=t instanceof Error?t.message:String(t);v.error(c({id:`EqrC_R`,values:{message:n}})),g()}},t[15]=c,t[16]=p,t[17]=l,t[18]=g,t[19]=E):E=t[19];let k=E,A;return t[20]!==u||t[21]!==p||t[22]!==h||t[23]!==x||t[24]!==w||t[25]!==k||t[26]!==g||t[27]!==s||t[28]!==m?(A=(0,F.jsx)(ce,{data:p,status:m,error:h,reload:g,onExit:u,onNavigate:x,onUndoDrop:k,onSetVersion:w,showBackButton:s}),t[20]=u,t[21]=p,t[22]=h,t[23]=x,t[24]=w,t[25]=k,t[26]=g,t[27]=s,t[28]=m,t[29]=A):A=t[29],A}export{K as ActivityModeContent};
@@ -1 +0,0 @@
1
- import{t as e}from"./index-D8LrmUIw.js";export{e as FeedbackForm};
@@ -1 +0,0 @@
1
- import{t as e}from"./ManagedArtifactProperties-BgdX1sgG.js";export{e as ManagedArtifactProperties};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./calendar-aAGC7WVZ.js","./chunk-CYidjpOJ.js","./button-Cym3gapE.js","./dist-BHv-mziD.js","./react-f2sANaYj.js","./bundle-mjs-SHeFpKGC.js","./compiler-runtime-BfE3aGVn.js","./jsx-runtime-BUgB2tll.js","./utils-CPqDy6Hr.js","./format-CyaLi0or.js","./chevron-down-DNO3PgI_.js","./createLucideIcon-BulbvLvN.js","./chevron-left-Dhf0Sw0W.js","./chevron-right-4mYNnAZZ.js"])))=>i.map(i=>d[i]);
2
- import{o as e}from"./chunk-CYidjpOJ.js";import{t}from"./preload-helper-Chd9yIcd.js";import{t as n}from"./jsx-runtime-BUgB2tll.js";import{T as r,cr as i,or as a}from"./DocumentContext-rwQWKRwZ.js";import{t as o}from"./react-f2sANaYj.js";import{n as s,r as c}from"./dist-Nvb76hAm.js";import{t as l}from"./compiler-runtime-BfE3aGVn.js";import{t as u}from"./utils-CPqDy6Hr.js";import{t as d}from"./button-Cym3gapE.js";import{i as f,n as p,t as m}from"./tooltip-DttaCTqz.js";import{n as h,r as g,t as _}from"./collapsible-DYySK8La.js";import{t as v}from"./checkbox-LVDa5cS9.js";import{c as y,l as b,m as x,r as S,t as C}from"./dropdown-menu-CRvS0_4-.js";import{Ci as w,I as T,L as E,ii as D}from"./dist-B5qwv8-p.js";import{t as O}from"./createLucideIcon-BulbvLvN.js";import{t as k}from"./braces-Bzye844v.js";import{t as A}from"./chevron-right-4mYNnAZZ.js";import{t as j}from"./hash-3VQG5UJ7.js";import{t as M}from"./x-DbShSCr5.js";import{t as N}from"./input-DJ1c1x-M.js";import{a as P,i as F,t as I}from"./popover-BE6X9rKr.js";import{t as L}from"./external-link-B0bVg1hn.js";import{t as R}from"./badge-BWfmbBoh.js";import{C as z,S as B,_ as V,a as H,b as U,c as ee,g as te,h as ne,i as re,l as ie,n as ae,o as oe,r as se,s as ce,t as le,v as ue,w as de,x as W,y as fe}from"./format-CyaLi0or.js";var pe=O(`calendar`,[[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`,key:`1hopcy`}],[`path`,{d:`M3 10h18`,key:`8toen8`}]]),me=O(`square-check`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),he=O(`type`,[[`path`,{d:`M12 4v16`,key:`1654pz`}],[`path`,{d:`M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2`,key:`e0r10z`}],[`path`,{d:`M9 20h6`,key:`s66wpe`}]]),G=e(o(),1),K=l(),q=n();function ge(e){let t=(0,K.c)(6),n,r;t[0]===e?(n=t[1],r=t[2]):({children:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;return t[3]!==n||t[4]!==r?(i=(0,q.jsx)(`bdi`,{...r,children:n}),t[3]=n,t[4]=r,t[5]=i):i=t[5],i}function _e(){return Object.assign({},ue())}function ve(e,t){let n=U(e,t?.in).getDay();return n===0?7:n}function ye(e,t){let n=be(t)?new t(0):W(t,0);return n.setFullYear(e.getFullYear(),e.getMonth(),e.getDate()),n.setHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()),n}function be(e){return typeof e==`function`&&e.prototype?.constructor===e}var xe=10,Se=class{subPriority=0;validate(e,t){return!0}},Ce=class extends Se{constructor(e,t,n,r,i){super(),this.value=e,this.validateValue=t,this.setValue=n,this.priority=r,i&&(this.subPriority=i)}validate(e,t){return this.validateValue(e,this.value,t)}set(e,t,n){return this.setValue(e,t,this.value,n)}},we=class extends Se{priority=xe;subPriority=-1;constructor(e,t){super(),this.context=e||(e=>W(t,e))}set(e,t){return t.timestampIsSet?e:W(e,ye(e,this.context))}},J=class{run(e,t,n,r){let i=this.parse(e,t,n,r);return i?{setter:new Ce(i.value,this.validate,this.set,this.priority,this.subPriority),rest:i.rest}:null}validate(e,t,n){return!0}},Te=class extends J{priority=140;parse(e,t,n){switch(t){case`G`:case`GG`:case`GGG`:return n.era(e,{width:`abbreviated`})||n.era(e,{width:`narrow`});case`GGGGG`:return n.era(e,{width:`narrow`});default:return n.era(e,{width:`wide`})||n.era(e,{width:`abbreviated`})||n.era(e,{width:`narrow`})}}set(e,t,n){return t.era=n,e.setFullYear(n,0,1),e.setHours(0,0,0,0),e}incompatibleTokens=[`R`,`u`,`t`,`T`]},Y={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},X={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function Z(e,t){return e&&{value:t(e.value),rest:e.rest}}function Q(e,t){let n=t.match(e);return n?{value:parseInt(n[0],10),rest:t.slice(n[0].length)}:null}function Ee(e,t){let n=t.match(e);if(!n)return null;if(n[0]===`Z`)return{value:0,rest:t.slice(1)};let r=n[1]===`+`?1:-1,i=n[2]?parseInt(n[2],10):0,a=n[3]?parseInt(n[3],10):0,o=n[5]?parseInt(n[5],10):0;return{value:r*(i*B+a*z+o*de),rest:t.slice(n[0].length)}}function De(e){return Q(Y.anyDigitsSigned,e)}function $(e,t){switch(e){case 1:return Q(Y.singleDigit,t);case 2:return Q(Y.twoDigits,t);case 3:return Q(Y.threeDigits,t);case 4:return Q(Y.fourDigits,t);default:return Q(RegExp(`^\\d{1,`+e+`}`),t)}}function Oe(e,t){switch(e){case 1:return Q(Y.singleDigitSigned,t);case 2:return Q(Y.twoDigitsSigned,t);case 3:return Q(Y.threeDigitsSigned,t);case 4:return Q(Y.fourDigitsSigned,t);default:return Q(RegExp(`^-?\\d{1,`+e+`}`),t)}}function ke(e){switch(e){case`morning`:return 4;case`evening`:return 17;case`pm`:case`noon`:case`afternoon`:return 12;default:return 0}}function Ae(e,t){let n=t>0,r=n?t:1-t,i;if(r<=50)i=e||100;else{let t=r+50,n=Math.trunc(t/100)*100,a=e>=t%100;i=e+n-(a?100:0)}return n?i:1-i}function je(e){return e%400==0||e%4==0&&e%100!=0}var Me=class extends J{priority=130;incompatibleTokens=[`Y`,`R`,`u`,`w`,`I`,`i`,`e`,`c`,`t`,`T`];parse(e,t,n){let r=e=>({year:e,isTwoDigitYear:t===`yy`});switch(t){case`y`:return Z($(4,e),r);case`yo`:return Z(n.ordinalNumber(e,{unit:`year`}),r);default:return Z($(t.length,e),r)}}validate(e,t){return t.isTwoDigitYear||t.year>0}set(e,t,n){let r=e.getFullYear();if(n.isTwoDigitYear){let t=Ae(n.year,r);return e.setFullYear(t,0,1),e.setHours(0,0,0,0),e}let i=!(`era`in t)||t.era===1?n.year:1-n.year;return e.setFullYear(i,0,1),e.setHours(0,0,0,0),e}},Ne=class extends J{priority=130;parse(e,t,n){let r=e=>({year:e,isTwoDigitYear:t===`YY`});switch(t){case`Y`:return Z($(4,e),r);case`Yo`:return Z(n.ordinalNumber(e,{unit:`year`}),r);default:return Z($(t.length,e),r)}}validate(e,t){return t.isTwoDigitYear||t.year>0}set(e,t,n,r){let i=ce(e,r);if(n.isTwoDigitYear){let t=Ae(n.year,i);return e.setFullYear(t,0,r.firstWeekContainsDate),e.setHours(0,0,0,0),V(e,r)}let a=!(`era`in t)||t.era===1?n.year:1-n.year;return e.setFullYear(a,0,r.firstWeekContainsDate),e.setHours(0,0,0,0),V(e,r)}incompatibleTokens=[`y`,`R`,`u`,`Q`,`q`,`M`,`L`,`I`,`d`,`D`,`i`,`t`,`T`]},Pe=class extends J{priority=130;parse(e,t){return Oe(t===`R`?4:t.length,e)}set(e,t,n){let r=W(e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),te(r)}incompatibleTokens=[`G`,`y`,`Y`,`u`,`Q`,`q`,`M`,`L`,`w`,`d`,`D`,`e`,`c`,`t`,`T`]},Fe=class extends J{priority=130;parse(e,t){return Oe(t===`u`?4:t.length,e)}set(e,t,n){return e.setFullYear(n,0,1),e.setHours(0,0,0,0),e}incompatibleTokens=[`G`,`y`,`Y`,`R`,`w`,`I`,`i`,`e`,`c`,`t`,`T`]},Ie=class extends J{priority=120;parse(e,t,n){switch(t){case`Q`:case`QQ`:return $(t.length,e);case`Qo`:return n.ordinalNumber(e,{unit:`quarter`});case`QQQ`:return n.quarter(e,{width:`abbreviated`,context:`formatting`})||n.quarter(e,{width:`narrow`,context:`formatting`});case`QQQQQ`:return n.quarter(e,{width:`narrow`,context:`formatting`});default:return n.quarter(e,{width:`wide`,context:`formatting`})||n.quarter(e,{width:`abbreviated`,context:`formatting`})||n.quarter(e,{width:`narrow`,context:`formatting`})}}validate(e,t){return t>=1&&t<=4}set(e,t,n){return e.setMonth((n-1)*3,1),e.setHours(0,0,0,0),e}incompatibleTokens=[`Y`,`R`,`q`,`M`,`L`,`w`,`I`,`d`,`D`,`i`,`e`,`c`,`t`,`T`]},Le=class extends J{priority=120;parse(e,t,n){switch(t){case`q`:case`qq`:return $(t.length,e);case`qo`:return n.ordinalNumber(e,{unit:`quarter`});case`qqq`:return n.quarter(e,{width:`abbreviated`,context:`standalone`})||n.quarter(e,{width:`narrow`,context:`standalone`});case`qqqqq`:return n.quarter(e,{width:`narrow`,context:`standalone`});default:return n.quarter(e,{width:`wide`,context:`standalone`})||n.quarter(e,{width:`abbreviated`,context:`standalone`})||n.quarter(e,{width:`narrow`,context:`standalone`})}}validate(e,t){return t>=1&&t<=4}set(e,t,n){return e.setMonth((n-1)*3,1),e.setHours(0,0,0,0),e}incompatibleTokens=[`Y`,`R`,`Q`,`M`,`L`,`w`,`I`,`d`,`D`,`i`,`e`,`c`,`t`,`T`]},Re=class extends J{incompatibleTokens=[`Y`,`R`,`q`,`Q`,`L`,`w`,`I`,`D`,`i`,`e`,`c`,`t`,`T`];priority=110;parse(e,t,n){let r=e=>e-1;switch(t){case`M`:return Z(Q(Y.month,e),r);case`MM`:return Z($(2,e),r);case`Mo`:return Z(n.ordinalNumber(e,{unit:`month`}),r);case`MMM`:return n.month(e,{width:`abbreviated`,context:`formatting`})||n.month(e,{width:`narrow`,context:`formatting`});case`MMMMM`:return n.month(e,{width:`narrow`,context:`formatting`});default:return n.month(e,{width:`wide`,context:`formatting`})||n.month(e,{width:`abbreviated`,context:`formatting`})||n.month(e,{width:`narrow`,context:`formatting`})}}validate(e,t){return t>=0&&t<=11}set(e,t,n){return e.setMonth(n,1),e.setHours(0,0,0,0),e}},ze=class extends J{priority=110;parse(e,t,n){let r=e=>e-1;switch(t){case`L`:return Z(Q(Y.month,e),r);case`LL`:return Z($(2,e),r);case`Lo`:return Z(n.ordinalNumber(e,{unit:`month`}),r);case`LLL`:return n.month(e,{width:`abbreviated`,context:`standalone`})||n.month(e,{width:`narrow`,context:`standalone`});case`LLLLL`:return n.month(e,{width:`narrow`,context:`standalone`});default:return n.month(e,{width:`wide`,context:`standalone`})||n.month(e,{width:`abbreviated`,context:`standalone`})||n.month(e,{width:`narrow`,context:`standalone`})}}validate(e,t){return t>=0&&t<=11}set(e,t,n){return e.setMonth(n,1),e.setHours(0,0,0,0),e}incompatibleTokens=[`Y`,`R`,`q`,`Q`,`M`,`w`,`I`,`D`,`i`,`e`,`c`,`t`,`T`]};function Be(e,t,n){let r=U(e,n?.in),i=oe(r,n)-t;return r.setDate(r.getDate()-i*7),U(r,n?.in)}var Ve=class extends J{priority=100;parse(e,t,n){switch(t){case`w`:return Q(Y.week,e);case`wo`:return n.ordinalNumber(e,{unit:`week`});default:return $(t.length,e)}}validate(e,t){return t>=1&&t<=53}set(e,t,n,r){return V(Be(e,n,r),r)}incompatibleTokens=[`y`,`R`,`u`,`q`,`Q`,`M`,`L`,`I`,`d`,`D`,`i`,`t`,`T`]};function He(e,t,n){let r=U(e,n?.in),i=ee(r,n)-t;return r.setDate(r.getDate()-i*7),r}var Ue=class extends J{priority=100;parse(e,t,n){switch(t){case`I`:return Q(Y.week,e);case`Io`:return n.ordinalNumber(e,{unit:`week`});default:return $(t.length,e)}}validate(e,t){return t>=1&&t<=53}set(e,t,n){return te(He(e,n))}incompatibleTokens=[`y`,`Y`,`u`,`q`,`Q`,`M`,`L`,`w`,`d`,`D`,`e`,`c`,`t`,`T`]},We=[31,28,31,30,31,30,31,31,30,31,30,31],Ge=[31,29,31,30,31,30,31,31,30,31,30,31],Ke=class extends J{priority=90;subPriority=1;parse(e,t,n){switch(t){case`d`:return Q(Y.date,e);case`do`:return n.ordinalNumber(e,{unit:`date`});default:return $(t.length,e)}}validate(e,t){let n=je(e.getFullYear()),r=e.getMonth();return n?t>=1&&t<=Ge[r]:t>=1&&t<=We[r]}set(e,t,n){return e.setDate(n),e.setHours(0,0,0,0),e}incompatibleTokens=[`Y`,`R`,`q`,`Q`,`w`,`I`,`D`,`i`,`e`,`c`,`t`,`T`]},qe=class extends J{priority=90;subpriority=1;parse(e,t,n){switch(t){case`D`:case`DD`:return Q(Y.dayOfYear,e);case`Do`:return n.ordinalNumber(e,{unit:`date`});default:return $(t.length,e)}}validate(e,t){return je(e.getFullYear())?t>=1&&t<=366:t>=1&&t<=365}set(e,t,n){return e.setMonth(0,n),e.setHours(0,0,0,0),e}incompatibleTokens=[`Y`,`R`,`q`,`Q`,`M`,`L`,`w`,`I`,`d`,`E`,`i`,`e`,`c`,`t`,`T`]};function Je(e,t,n){let r=ue(),i=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,a=U(e,n?.in),o=a.getDay(),s=(t%7+7)%7,c=7-i;return fe(a,t<0||t>6?t-(o+c)%7:(s+c)%7-(o+c)%7,n)}var Ye=class extends J{priority=90;parse(e,t,n){switch(t){case`E`:case`EE`:case`EEE`:return n.day(e,{width:`abbreviated`,context:`formatting`})||n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`});case`EEEEE`:return n.day(e,{width:`narrow`,context:`formatting`});case`EEEEEE`:return n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`});default:return n.day(e,{width:`wide`,context:`formatting`})||n.day(e,{width:`abbreviated`,context:`formatting`})||n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`})}}validate(e,t){return t>=0&&t<=6}set(e,t,n,r){return e=Je(e,n,r),e.setHours(0,0,0,0),e}incompatibleTokens=[`D`,`i`,`e`,`c`,`t`,`T`]},Xe=class extends J{priority=90;parse(e,t,n,r){let i=e=>{let t=Math.floor((e-1)/7)*7;return(e+r.weekStartsOn+6)%7+t};switch(t){case`e`:case`ee`:return Z($(t.length,e),i);case`eo`:return Z(n.ordinalNumber(e,{unit:`day`}),i);case`eee`:return n.day(e,{width:`abbreviated`,context:`formatting`})||n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`});case`eeeee`:return n.day(e,{width:`narrow`,context:`formatting`});case`eeeeee`:return n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`});default:return n.day(e,{width:`wide`,context:`formatting`})||n.day(e,{width:`abbreviated`,context:`formatting`})||n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`})}}validate(e,t){return t>=0&&t<=6}set(e,t,n,r){return e=Je(e,n,r),e.setHours(0,0,0,0),e}incompatibleTokens=[`y`,`R`,`u`,`q`,`Q`,`M`,`L`,`I`,`d`,`D`,`E`,`i`,`c`,`t`,`T`]},Ze=class extends J{priority=90;parse(e,t,n,r){let i=e=>{let t=Math.floor((e-1)/7)*7;return(e+r.weekStartsOn+6)%7+t};switch(t){case`c`:case`cc`:return Z($(t.length,e),i);case`co`:return Z(n.ordinalNumber(e,{unit:`day`}),i);case`ccc`:return n.day(e,{width:`abbreviated`,context:`standalone`})||n.day(e,{width:`short`,context:`standalone`})||n.day(e,{width:`narrow`,context:`standalone`});case`ccccc`:return n.day(e,{width:`narrow`,context:`standalone`});case`cccccc`:return n.day(e,{width:`short`,context:`standalone`})||n.day(e,{width:`narrow`,context:`standalone`});default:return n.day(e,{width:`wide`,context:`standalone`})||n.day(e,{width:`abbreviated`,context:`standalone`})||n.day(e,{width:`short`,context:`standalone`})||n.day(e,{width:`narrow`,context:`standalone`})}}validate(e,t){return t>=0&&t<=6}set(e,t,n,r){return e=Je(e,n,r),e.setHours(0,0,0,0),e}incompatibleTokens=[`y`,`R`,`u`,`q`,`Q`,`M`,`L`,`I`,`d`,`D`,`E`,`i`,`e`,`t`,`T`]};function Qe(e,t,n){let r=U(e,n?.in);return fe(r,t-ve(r,n),n)}var $e=class extends J{priority=90;parse(e,t,n){let r=e=>e===0?7:e;switch(t){case`i`:case`ii`:return $(t.length,e);case`io`:return n.ordinalNumber(e,{unit:`day`});case`iii`:return Z(n.day(e,{width:`abbreviated`,context:`formatting`})||n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`}),r);case`iiiii`:return Z(n.day(e,{width:`narrow`,context:`formatting`}),r);case`iiiiii`:return Z(n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`}),r);default:return Z(n.day(e,{width:`wide`,context:`formatting`})||n.day(e,{width:`abbreviated`,context:`formatting`})||n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`}),r)}}validate(e,t){return t>=1&&t<=7}set(e,t,n){return e=Qe(e,n),e.setHours(0,0,0,0),e}incompatibleTokens=[`y`,`Y`,`u`,`q`,`Q`,`M`,`L`,`w`,`d`,`D`,`E`,`e`,`c`,`t`,`T`]},et=class extends J{priority=80;parse(e,t,n){switch(t){case`a`:case`aa`:case`aaa`:return n.dayPeriod(e,{width:`abbreviated`,context:`formatting`})||n.dayPeriod(e,{width:`narrow`,context:`formatting`});case`aaaaa`:return n.dayPeriod(e,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(e,{width:`wide`,context:`formatting`})||n.dayPeriod(e,{width:`abbreviated`,context:`formatting`})||n.dayPeriod(e,{width:`narrow`,context:`formatting`})}}set(e,t,n){return e.setHours(ke(n),0,0,0),e}incompatibleTokens=[`b`,`B`,`H`,`k`,`t`,`T`]},tt=class extends J{priority=80;parse(e,t,n){switch(t){case`b`:case`bb`:case`bbb`:return n.dayPeriod(e,{width:`abbreviated`,context:`formatting`})||n.dayPeriod(e,{width:`narrow`,context:`formatting`});case`bbbbb`:return n.dayPeriod(e,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(e,{width:`wide`,context:`formatting`})||n.dayPeriod(e,{width:`abbreviated`,context:`formatting`})||n.dayPeriod(e,{width:`narrow`,context:`formatting`})}}set(e,t,n){return e.setHours(ke(n),0,0,0),e}incompatibleTokens=[`a`,`B`,`H`,`k`,`t`,`T`]},nt=class extends J{priority=80;parse(e,t,n){switch(t){case`B`:case`BB`:case`BBB`:return n.dayPeriod(e,{width:`abbreviated`,context:`formatting`})||n.dayPeriod(e,{width:`narrow`,context:`formatting`});case`BBBBB`:return n.dayPeriod(e,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(e,{width:`wide`,context:`formatting`})||n.dayPeriod(e,{width:`abbreviated`,context:`formatting`})||n.dayPeriod(e,{width:`narrow`,context:`formatting`})}}set(e,t,n){return e.setHours(ke(n),0,0,0),e}incompatibleTokens=[`a`,`b`,`t`,`T`]},rt=class extends J{priority=70;parse(e,t,n){switch(t){case`h`:return Q(Y.hour12h,e);case`ho`:return n.ordinalNumber(e,{unit:`hour`});default:return $(t.length,e)}}validate(e,t){return t>=1&&t<=12}set(e,t,n){let r=e.getHours()>=12;return r&&n<12?e.setHours(n+12,0,0,0):!r&&n===12?e.setHours(0,0,0,0):e.setHours(n,0,0,0),e}incompatibleTokens=[`H`,`K`,`k`,`t`,`T`]},it=class extends J{priority=70;parse(e,t,n){switch(t){case`H`:return Q(Y.hour23h,e);case`Ho`:return n.ordinalNumber(e,{unit:`hour`});default:return $(t.length,e)}}validate(e,t){return t>=0&&t<=23}set(e,t,n){return e.setHours(n,0,0,0),e}incompatibleTokens=[`a`,`b`,`h`,`K`,`k`,`t`,`T`]},at=class extends J{priority=70;parse(e,t,n){switch(t){case`K`:return Q(Y.hour11h,e);case`Ko`:return n.ordinalNumber(e,{unit:`hour`});default:return $(t.length,e)}}validate(e,t){return t>=0&&t<=11}set(e,t,n){return e.getHours()>=12&&n<12?e.setHours(n+12,0,0,0):e.setHours(n,0,0,0),e}incompatibleTokens=[`h`,`H`,`k`,`t`,`T`]},ot=class extends J{priority=70;parse(e,t,n){switch(t){case`k`:return Q(Y.hour24h,e);case`ko`:return n.ordinalNumber(e,{unit:`hour`});default:return $(t.length,e)}}validate(e,t){return t>=1&&t<=24}set(e,t,n){let r=n<=24?n%24:n;return e.setHours(r,0,0,0),e}incompatibleTokens=[`a`,`b`,`h`,`H`,`K`,`t`,`T`]},st=class extends J{priority=60;parse(e,t,n){switch(t){case`m`:return Q(Y.minute,e);case`mo`:return n.ordinalNumber(e,{unit:`minute`});default:return $(t.length,e)}}validate(e,t){return t>=0&&t<=59}set(e,t,n){return e.setMinutes(n,0,0),e}incompatibleTokens=[`t`,`T`]},ct=class extends J{priority=50;parse(e,t,n){switch(t){case`s`:return Q(Y.second,e);case`so`:return n.ordinalNumber(e,{unit:`second`});default:return $(t.length,e)}}validate(e,t){return t>=0&&t<=59}set(e,t,n){return e.setSeconds(n,0),e}incompatibleTokens=[`t`,`T`]},lt=class extends J{priority=30;parse(e,t){return Z($(t.length,e),e=>Math.trunc(e*10**(-t.length+3)))}set(e,t,n){return e.setMilliseconds(n),e}incompatibleTokens=[`t`,`T`]},ut=class extends J{priority=10;parse(e,t){switch(t){case`X`:return Ee(X.basicOptionalMinutes,e);case`XX`:return Ee(X.basic,e);case`XXXX`:return Ee(X.basicOptionalSeconds,e);case`XXXXX`:return Ee(X.extendedOptionalSeconds,e);default:return Ee(X.extended,e)}}set(e,t,n){return t.timestampIsSet?e:W(e,e.getTime()-ne(e)-n)}incompatibleTokens=[`t`,`T`,`x`]},dt=class extends J{priority=10;parse(e,t){switch(t){case`x`:return Ee(X.basicOptionalMinutes,e);case`xx`:return Ee(X.basic,e);case`xxxx`:return Ee(X.basicOptionalSeconds,e);case`xxxxx`:return Ee(X.extendedOptionalSeconds,e);default:return Ee(X.extended,e)}}set(e,t,n){return t.timestampIsSet?e:W(e,e.getTime()-ne(e)-n)}incompatibleTokens=[`t`,`T`,`X`]},ft=class extends J{priority=40;parse(e){return De(e)}set(e,t,n){return[W(e,n*1e3),{timestampIsSet:!0}]}incompatibleTokens=`*`},pt=class extends J{priority=20;parse(e){return De(e)}set(e,t,n){return[W(e,n),{timestampIsSet:!0}]}incompatibleTokens=`*`},mt={G:new Te,y:new Me,Y:new Ne,R:new Pe,u:new Fe,Q:new Ie,q:new Le,M:new Re,L:new ze,w:new Ve,I:new Ue,d:new Ke,D:new qe,E:new Ye,e:new Xe,c:new Ze,i:new $e,a:new et,b:new tt,B:new nt,h:new rt,H:new it,K:new at,k:new ot,m:new st,s:new ct,S:new lt,X:new ut,x:new dt,t:new ft,T:new pt},ht=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,gt=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,_t=/^'([^]*?)'?$/,vt=/''/g,yt=/\S/,bt=/[a-zA-Z]/;function xt(e,t,n,r){let i=()=>W(r?.in||n,NaN),a=_e(),o=r?.locale??a.locale??ie,s=r?.firstWeekContainsDate??r?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,c=r?.weekStartsOn??r?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0;if(!t)return e?i():U(n,r?.in);let l={firstWeekContainsDate:s,weekStartsOn:c,locale:o},u=[new we(r?.in,n)],d=t.match(gt).map(e=>{let t=e[0];if(t in H){let n=H[t];return n(e,o.formatLong)}return e}).join(``).match(ht),f=[];for(let n of d){!r?.useAdditionalWeekYearTokens&&se(n)&&re(n,t,e),!r?.useAdditionalDayOfYearTokens&&ae(n)&&re(n,t,e);let a=n[0],s=mt[a];if(s){let{incompatibleTokens:t}=s;if(Array.isArray(t)){let e=f.find(e=>t.includes(e.token)||e.token===a);if(e)throw RangeError(`The format string mustn't contain \`${e.fullToken}\` and \`${n}\` at the same time`)}else if(s.incompatibleTokens===`*`&&f.length>0)throw RangeError(`The format string mustn't contain \`${n}\` and any other token at the same time`);f.push({token:a,fullToken:n});let r=s.run(e,n,o.match,l);if(!r)return i();u.push(r.setter),e=r.rest}else{if(a.match(bt))throw RangeError("Format string contains an unescaped latin alphabet character `"+a+"`");if(n===`''`?n=`'`:a===`'`&&(n=St(n)),e.indexOf(n)===0)e=e.slice(n.length);else return i()}}if(e.length>0&&yt.test(e))return i();let p=u.map(e=>e.priority).sort((e,t)=>t-e).filter((e,t,n)=>n.indexOf(e)===t).map(e=>u.filter(t=>t.priority===e).sort((e,t)=>t.subPriority-e.subPriority)).map(e=>e[0]),m=U(n,r?.in);if(isNaN(+m))return i();let h={};for(let e of p){if(!e.validate(m,l))return i();let t=e.set(m,h,l);Array.isArray(t)?(m=t[0],Object.assign(h,t[1])):m=t}return m}function St(e){return e.match(_t)[1].replace(vt,`'`)}function Ct(e,t){let n=()=>W(t?.in,NaN),r=t?.additionalDigits??2,i=Ot(e),a;if(i.date){let e=kt(i.date,r);a=At(e.restDateString,e.year)}if(!a||isNaN(+a))return n();let o=+a,s=0,c;if(i.time&&(s=Mt(i.time),isNaN(s)))return n();if(i.timezone){if(c=Pt(i.timezone),isNaN(c))return n()}else{let e=new Date(o+s),n=U(0,t?.in);return n.setFullYear(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()),n.setHours(e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()),n}return U(o+s+c,t?.in)}var wt={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},Tt=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,Et=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,Dt=/^([+-])(\d{2})(?::?(\d{2}))?$/;function Ot(e){let t={},n=e.split(wt.dateTimeDelimiter),r;if(n.length>2)return t;if(/:/.test(n[0])?r=n[0]:(t.date=n[0],r=n[1],wt.timeZoneDelimiter.test(t.date)&&(t.date=e.split(wt.timeZoneDelimiter)[0],r=e.substr(t.date.length,e.length))),r){let e=wt.timezone.exec(r);e?(t.time=r.replace(e[1],``),t.timezone=e[1]):t.time=r}return t}function kt(e,t){let n=RegExp(`^(?:(\\d{4}|[+-]\\d{`+(4+t)+`})|(\\d{2}|[+-]\\d{`+(2+t)+`})$)`),r=e.match(n);if(!r)return{year:NaN,restDateString:``};let i=r[1]?parseInt(r[1]):null,a=r[2]?parseInt(r[2]):null;return{year:a===null?i:a*100,restDateString:e.slice((r[1]||r[2]).length)}}function At(e,t){if(t===null)return new Date(NaN);let n=e.match(Tt);if(!n)return new Date(NaN);let r=!!n[4],i=jt(n[1]),a=jt(n[2])-1,o=jt(n[3]),s=jt(n[4]),c=jt(n[5])-1;if(r)return Bt(t,s,c)?Ft(t,s,c):new Date(NaN);{let e=new Date(0);return!Rt(t,a,o)||!zt(t,i)?new Date(NaN):(e.setUTCFullYear(t,a,Math.max(i,o)),e)}}function jt(e){return e?parseInt(e):1}function Mt(e){let t=e.match(Et);if(!t)return NaN;let n=Nt(t[1]),r=Nt(t[2]),i=Nt(t[3]);return Vt(n,r,i)?n*B+r*z+i*1e3:NaN}function Nt(e){return e&&parseFloat(e.replace(`,`,`.`))||0}function Pt(e){if(e===`Z`)return 0;let t=e.match(Dt);if(!t)return 0;let n=t[1]===`+`?-1:1,r=parseInt(t[2]),i=t[3]&&parseInt(t[3])||0;return Ht(r,i)?n*(r*B+i*z):NaN}function Ft(e,t,n){let r=new Date(0);r.setUTCFullYear(e,0,4);let i=r.getUTCDay()||7,a=(t-1)*7+n+1-i;return r.setUTCDate(r.getUTCDate()+a),r}var It=[31,null,31,30,31,30,31,31,30,31,30,31];function Lt(e){return e%400==0||e%4==0&&e%100!=0}function Rt(e,t,n){return t>=0&&t<=11&&n>=1&&n<=(It[t]||(Lt(e)?29:28))}function zt(e,t){return t>=1&&t<=(Lt(e)?366:365)}function Bt(e,t,n){return t>=1&&t<=53&&n>=0&&n<=6}function Vt(e,t,n){return e===24?t===0&&n===0:n>=0&&n<60&&t>=0&&t<60&&e>=0&&e<25}function Ht(e,t){return t>=0&&t<=59}function Ut(e){if(e[0]!==`[`)return null;let t=1,n=-1;for(;t<e.length;){let r=e[t];if(r===`]`){n=t;break}if(r===`[`)return null;t++}if(n<0||e[n+1]!==`(`)return null;let r=n+2,i=e.indexOf(`)`,r);if(i<0)return null;let a=e.slice(1,n),o=e.slice(r,i).trim();return o?{raw:e.slice(0,i+1),text:a,url:o}:null}var Wt=/^https?:\/\/[^\s<>"'`]+/i,Gt=/[.,;:!?]+$/;function Kt(e){let t=Wt.exec(e);if(!t)return null;let n=t[0];return n.endsWith(`)`)&&!n.slice(0,-1).includes(`(`)&&(n=n.slice(0,-1)),n=n.replace(Gt,``),n?{raw:n,url:n}:null}function qt(e){let t=[],n=0,r=0;function i(n){n>r&&t.push({type:`text`,value:e.slice(r,n)})}for(;n<e.length;){if(e[n]===`[`&&e[n+1]===`[`){let a=w(e.slice(n));if(a){i(n),t.push({type:`wikilink`,raw:a.raw,target:a.target,alias:a.alias,anchor:a.anchor}),n+=a.raw.length,r=n;continue}}if(e[n]===`[`){let a=Ut(e.slice(n));if(a){i(n),t.push({type:`link`,raw:a.raw,text:a.text,url:a.url}),n+=a.raw.length,r=n;continue}}if((e[n]===`h`||e[n]===`H`)&&/^https?:\/\//i.test(e.slice(n,n+8))){let a=Kt(e.slice(n));if(a){i(n),t.push({type:`autolink`,raw:a.raw,url:a.url}),n+=a.raw.length,r=n;continue}}n++}return i(e.length),t}function Jt(e){return!e||!e.includes(`[[`)&&!e.includes(`](`)&&!/https?:\/\//i.test(e)?!1:qt(e).some(e=>e.type!==`text`)}function Yt(e,t){return`#/${e.split(`/`).map(e=>encodeURIComponent(e)).join(`/`)}${t?`#${encodeURIComponent(t)}`:``}`}function Xt(e){let t=(0,K.c)(14),{text:n,className:r}=e;if(!Jt(n)){let e;return t[0]!==r||t[1]!==n?(e=(0,q.jsx)(ge,{className:r,children:n}),t[0]=r,t[1]=n,t[2]=e):e=t[2],e}let i,a,o,s;if(t[3]!==r||t[4]!==n){let e=qt(n);i=ge,a=r,o=`property-inline-links`,s=e.map(Zt),t[3]=r,t[4]=n,t[5]=i,t[6]=a,t[7]=o,t[8]=s}else i=t[5],a=t[6],o=t[7],s=t[8];let c;return t[9]!==i||t[10]!==a||t[11]!==o||t[12]!==s?(c=(0,q.jsx)(i,{className:a,"data-testid":o,children:s}),t[9]=i,t[10]=a,t[11]=o,t[12]=s,t[13]=c):c=t[13],c}function Zt(e,t){return Qt(e,t)}function Qt(e,t){let n=t;switch(e.type){case`text`:return(0,q.jsx)(`span`,{children:e.value},n);case`wikilink`:{let t=e.alias??(e.anchor?`${e.target}#${e.anchor}`:e.target);return(0,q.jsx)(`a`,{href:Yt(e.target,e.anchor),"data-testid":`property-inline-wikilink`,"data-target":e.target,title:e.target,className:u(`rounded-sm px-0.5 text-azure-blue underline decoration-azure-blue/40 underline-offset-2 hover:decoration-azure-blue dark:text-sky-blue dark:decoration-sky-blue/40 dark:hover:decoration-sky-blue`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`),children:t},n)}case`link`:return(0,q.jsx)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,"data-testid":`property-inline-link`,onClick:t=>L(t,e.url),onAuxClick:t=>{t.button===1&&L(t,e.url)},title:e.url,className:u(`text-azure-blue underline decoration-azure-blue/40 underline-offset-2 hover:decoration-azure-blue dark:text-sky-blue dark:decoration-sky-blue/40 dark:hover:decoration-sky-blue`,`focus-visible:outline-none focus-visible:rounded-sm focus-visible:ring-2 focus-visible:ring-ring`),children:e.text},n);case`autolink`:return(0,q.jsx)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,"data-testid":`property-inline-autolink`,onClick:t=>L(t,e.url),onAuxClick:t=>{t.button===1&&L(t,e.url)},title:e.url,className:u(`text-azure-blue underline decoration-azure-blue/40 underline-offset-2 hover:decoration-azure-blue dark:text-sky-blue dark:decoration-sky-blue/40 dark:hover:decoration-sky-blue`,`focus-visible:outline-none focus-visible:rounded-sm focus-visible:ring-2 focus-visible:ring-ring`),children:e.url},n)}}function $t(e){let t=(0,K.c)(67),{keyName:n,value:r,onCommit:i,onSubmit:o}=e,{_:s}=c(),[l,u]=(0,G.useState)(r),f=(0,G.useRef)(!1),p=(0,G.useRef)(!1),[m,h]=(0,G.useState)(!1),g=(0,G.useRef)(null),_,v;t[0]===r?(_=t[1],v=t[2]):(_=()=>{f.current||u(r)},v=[r],t[0]=r,t[1]=_,t[2]=v),(0,G.useEffect)(_,v);let y,b;t[3]===m?(y=t[4],b=t[5]):(y=()=>{if(m){g.current?.focus();let e=g.current;e&&e.setSelectionRange(e.value.length,e.value.length)}},b=[m],t[3]=m,t[4]=y,t[5]=b),(0,G.useEffect)(y,b);let x=r.trim(),S=!m&&x.length>0&&/^https?:\/\/\S+$/i.test(x),C=!m&&!S&&Jt(r);if(S){let e,i;t[6]===r?(e=t[7],i=t[8]):(e=e=>L(e,r),i=e=>{e.button===1&&L(e,r)},t[6]=r,t[7]=e,t[8]=i);let o;t[9]!==s||t[10]!==n?(o=s({id:`3VbwPp`,values:{keyName:n}}),t[9]=s,t[10]=n,t[11]=o):o=t[11];let c;t[12]!==e||t[13]!==i||t[14]!==o||t[15]!==r?(c=(0,q.jsx)(`a`,{href:r,target:`_blank`,rel:`noopener noreferrer`,onClick:e,onAuxClick:i,"aria-label":o,title:r,className:`block min-w-0 flex-1 truncate px-2 py-1 text-sm leading-tight text-azure-blue underline decoration-azure-blue/40 underline-offset-2 hover:decoration-azure-blue focus-visible:outline-none focus-visible:rounded-sm focus-visible:ring-2 focus-visible:ring-ring dark:text-sky-blue dark:decoration-sky-blue/40 dark:hover:decoration-sky-blue`,children:r}),t[12]=e,t[13]=i,t[14]=o,t[15]=r,t[16]=c):c=t[16];let l;t[17]!==s||t[18]!==n?(l=s({id:`YC6_wP`,values:{keyName:n}}),t[17]=s,t[18]=n,t[19]=l):l=t[19];let u;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>h(!0),t[20]=u):u=t[20];let f;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,q.jsx)(a,{className:`size-3.5`,"aria-hidden":!0}),t[21]=f):f=t[21];let p;t[22]===l?p=t[23]:(p=(0,q.jsx)(d,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":l,onClick:u,"data-testid":`link-widget-edit`,className:`text-muted-foreground/0 hover:text-foreground focus-visible:text-muted-foreground group-hover:text-muted-foreground/60`,children:f}),t[22]=l,t[23]=p);let m;return t[24]!==n||t[25]!==p||t[26]!==c?(m=(0,q.jsxs)(`div`,{"data-testid":`link-widget`,"data-key":n,className:`group flex items-center gap-1`,children:[c,p]}),t[24]=n,t[25]=p,t[26]=c,t[27]=m):m=t[27],m}if(C){let e;t[28]===r?e=t[29]:(e=(0,q.jsx)(Xt,{text:r}),t[28]=r,t[29]=e);let i;t[30]!==e||t[31]!==r?(i=(0,q.jsx)(`div`,{"data-testid":`mixed-link-widget-display`,title:r,className:`block min-w-0 flex-1 truncate px-2 py-1 text-sm leading-tight`,children:e}),t[30]=e,t[31]=r,t[32]=i):i=t[32];let o;t[33]!==s||t[34]!==n?(o=s({id:`YC6_wP`,values:{keyName:n}}),t[33]=s,t[34]=n,t[35]=o):o=t[35];let c;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>h(!0),t[36]=c):c=t[36];let l;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,q.jsx)(a,{className:`size-3.5`,"aria-hidden":!0}),t[37]=l):l=t[37];let u;t[38]===o?u=t[39]:(u=(0,q.jsx)(d,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":o,onClick:c,"data-testid":`mixed-link-widget-edit`,className:`text-muted-foreground/0 hover:text-foreground focus-visible:text-muted-foreground group-hover:text-muted-foreground/60`,children:l}),t[38]=o,t[39]=u);let f;return t[40]!==n||t[41]!==u||t[42]!==i?(f=(0,q.jsxs)(`div`,{"data-testid":`mixed-link-widget`,"data-key":n,className:`group flex items-center gap-1`,children:[i,u]}),t[40]=n,t[41]=u,t[42]=i,t[43]=f):f=t[43],f}let w;t[44]===s?w=t[45]:(w=s({id:`N2S1rs`}),t[44]=s,t[45]=w);let T;t[46]!==s||t[47]!==n?(T=s({id:`1EcCom`,values:{keyName:n}}),t[46]=s,t[47]=n,t[48]=T):T=t[48];let E,D;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(E=e=>u(e.target.value),D=()=>{f.current=!0},t[49]=E,t[50]=D):(E=t[49],D=t[50]);let O;t[51]!==l||t[52]!==i||t[53]!==r?(O=()=>{if(f.current=!1,h(!1),p.current){p.current=!1;return}l!==r&&i(l)},t[51]=l,t[52]=i,t[53]=r,t[54]=O):O=t[54];let k;t[55]!==l||t[56]!==i||t[57]!==o||t[58]!==r?(k=e=>{e.key===`Enter`&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey?(e.preventDefault(),l!==r&&i(l),o?o(l):e.currentTarget.blur()):e.key===`Escape`&&(e.preventDefault(),p.current=!0,u(r),e.currentTarget.blur())},t[55]=l,t[56]=i,t[57]=o,t[58]=r,t[59]=k):k=t[59];let A;return t[60]!==l||t[61]!==n||t[62]!==k||t[63]!==w||t[64]!==T||t[65]!==O?(A=(0,q.jsx)(`textarea`,{ref:g,"data-testid":`text-widget`,"data-key":n,rows:1,value:l,placeholder:w,"aria-label":T,onChange:E,onFocus:D,onBlur:O,onKeyDown:k,className:`block w-full min-h-7 resize-none field-sizing-content border-transparent bg-transparent px-2 py-1 text-sm leading-tight shadow-none placeholder:text-muted-foreground/60 focus-visible:border-transparent focus-visible:bg-muted focus-visible:outline-none focus-visible:ring-0 rounded-sm dark:bg-transparent dark:focus-visible:bg-muted`}),t[60]=l,t[61]=n,t[62]=k,t[63]=w,t[64]=T,t[65]=O,t[66]=A):A=t[66],A}function en(e){let t=(0,K.c)(23),{keyName:n,value:r,onCommit:i,onSubmit:a}=e,{_:o}=c(),[s,l]=(0,G.useState)(String(r)),u=(0,G.useRef)(!1),d=(0,G.useRef)(!1),f,p;t[0]===r?(f=t[1],p=t[2]):(f=()=>{u.current||l(String(r))},p=[r],t[0]=r,t[1]=f,t[2]=p),(0,G.useEffect)(f,p);let m;t[3]!==o||t[4]!==n?(m=o({id:`1EcCom`,values:{keyName:n}}),t[3]=o,t[4]=n,t[5]=m):m=t[5];let h,g;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(h=e=>l(e.target.value),g=()=>{u.current=!0},t[6]=h,t[7]=g):(h=t[6],g=t[7]);let _;t[8]!==s||t[9]!==i||t[10]!==r?(_=()=>{if(u.current=!1,d.current){d.current=!1,l(String(r));return}let e=Number.parseFloat(s),t=Number.isFinite(e)?e:0;t===r?l(String(r)):i(t)},t[8]=s,t[9]=i,t[10]=r,t[11]=_):_=t[11];let v;t[12]!==s||t[13]!==i||t[14]!==a||t[15]!==r?(v=e=>{if(e.key===`Enter`)if(e.preventDefault(),a){let e=Number.parseFloat(s),t=Number.isFinite(e)?e:0;t!==r&&i(t),a(t)}else e.currentTarget.blur();else e.key===`Escape`&&(e.preventDefault(),d.current=!0,l(String(r)),e.currentTarget.blur())},t[12]=s,t[13]=i,t[14]=a,t[15]=r,t[16]=v):v=t[16];let y;return t[17]!==s||t[18]!==n||t[19]!==m||t[20]!==_||t[21]!==v?(y=(0,q.jsx)(N,{"data-testid":`number-widget`,"data-key":n,type:`number`,value:s,"aria-label":m,onChange:h,onFocus:g,onBlur:_,onKeyDown:v,className:`h-7 border-transparent bg-transparent dark:bg-transparent px-2 text-sm shadow-none focus-visible:border-transparent focus-visible:bg-muted focus-visible:ring-0 rounded-sm dark:focus-visible:bg-muted`}),t[17]=s,t[18]=n,t[19]=m,t[20]=_,t[21]=v,t[22]=y):y=t[22],y}function tn(e){let t=(0,K.c)(10),{keyName:n,value:r,onCommit:i}=e,{_:a}=c(),o;t[0]===i?o=t[1]:(o=e=>i(e===!0),t[0]=i,t[1]=o);let s;t[2]!==a||t[3]!==n?(s=a({id:`1EcCom`,values:{keyName:n}}),t[2]=a,t[3]=n,t[4]=s):s=t[4];let l;return t[5]!==n||t[6]!==o||t[7]!==s||t[8]!==r?(l=(0,q.jsx)(`div`,{className:`flex h-7 items-center px-2`,children:(0,q.jsx)(v,{"data-testid":`boolean-widget`,"data-key":n,checked:r,onCheckedChange:o,"aria-label":s,className:`size-5 rounded-full`})}),t[5]=n,t[6]=o,t[7]=s,t[8]=r,t[9]=l):l=t[9],l}var nn=(0,G.lazy)(()=>t(()=>import(`./calendar-aAGC7WVZ.js`).then(e=>({default:e.Calendar})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13]),import.meta.url));function rn(e){let t=(0,K.c)(53),{keyName:n,value:r,onCommit:i,onSubmit:a}=e,{_:o}=c(),s,l,u;t[0]===r?(s=t[1],l=t[2],u=t[3]):(s=on(r),l=G.useState,u=sn(s),t[0]=r,t[1]=s,t[2]=l,t[3]=u);let[f,p]=l(u),[m,h]=(0,G.useState)(s),[g,_]=(0,G.useState)(!1),v=(0,G.useRef)(!1),y=(0,G.useRef)(!1),b,x;t[4]===r?(b=t[5],x=t[6]):(b=()=>{if(!v.current){let e=on(r);p(sn(e)),h(e)}},x=[r],t[4]=r,t[5]=b,t[6]=x),(0,G.useEffect)(b,x);let S;t[7]!==s||t[8]!==f||t[9]!==i||t[10]!==r?(S=function(){let e=ln(f);if(e){let t=le(e,`yyyy-MM-dd`);return t!==r&&i(t),p(sn(e)),h(e),t}p(sn(s)),h(s)},t[7]=s,t[8]=f,t[9]=i,t[10]=r,t[11]=S):S=t[11];let C=S,w;t[12]!==i||t[13]!==r?(w=function(e){if(!e)return;let t=le(e,`yyyy-MM-dd`);t!==r&&i(t),p(sn(e)),h(e),_(!1)},t[12]=i,t[13]=r,t[14]=w):w=t[14];let T=w,E;t[15]===o?E=t[16]:(E=o({id:`N2S1rs`}),t[15]=o,t[16]=E);let D;t[17]!==o||t[18]!==n?(D=o({id:`1EcCom`,values:{keyName:n}}),t[17]=o,t[18]=n,t[19]=D):D=t[19];let O,k;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(k=e=>{p(e.target.value);let t=ln(e.target.value);t&&h(t)},O=()=>{v.current=!0},t[20]=O,t[21]=k):(O=t[20],k=t[21]);let A;t[22]===C?A=t[23]:(A=()=>{if(v.current=!1,y.current){y.current=!1;return}C()},t[22]=C,t[23]=A);let j;t[24]!==C||t[25]!==s||t[26]!==a?(j=e=>{if(e.key===`Enter`){e.preventDefault();let t=C();a?t!==void 0&&a(t):e.currentTarget.blur()}else e.key===`Escape`?(e.preventDefault(),y.current=!0,p(sn(s)),e.currentTarget.blur()):e.key===`ArrowDown`&&(e.preventDefault(),_(!0))},t[24]=C,t[25]=s,t[26]=a,t[27]=j):j=t[27];let M;t[28]!==f||t[29]!==A||t[30]!==j||t[31]!==E||t[32]!==D?(M=(0,q.jsx)(N,{type:`text`,value:f,placeholder:E,"aria-label":D,onChange:k,onFocus:O,onBlur:A,onKeyDown:j,className:`h-7 border-transparent bg-transparent dark:bg-transparent pr-7 pl-2 text-sm shadow-none placeholder:text-muted-foreground/60 focus-visible:border-transparent focus-visible:bg-muted focus-visible:ring-0 rounded-sm dark:focus-visible:bg-muted`}),t[28]=f,t[29]=A,t[30]=j,t[31]=E,t[32]=D,t[33]=M):M=t[33];let L;t[34]!==o||t[35]!==n?(L=o({id:`6cuT_1`,values:{keyName:n}}),t[34]=o,t[35]=n,t[36]=L):L=t[36];let R;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,q.jsx)(pe,{className:`size-3.5`}),t[37]=R):R=t[37];let z;t[38]===L?z=t[39]:(z=(0,q.jsx)(P,{asChild:!0,children:(0,q.jsx)(d,{type:`button`,variant:`ghost`,size:`sm`,"aria-label":L,className:`absolute right-0 size-6 p-0 text-muted-foreground hover:bg-muted hover:text-foreground`,children:R})}),t[38]=L,t[39]=z);let B;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,q.jsx)(`div`,{className:`h-[19rem] w-[17rem]`}),t[40]=B):B=t[40];let V;t[41]!==s||t[42]!==T||t[43]!==m?(V=(0,q.jsx)(F,{className:`w-auto overflow-hidden p-0`,align:`end`,children:(0,q.jsx)(G.Suspense,{fallback:B,children:(0,q.jsx)(nn,{mode:`single`,selected:s,month:m,onMonthChange:h,onSelect:T,captionLayout:`dropdown`})})}),t[41]=s,t[42]=T,t[43]=m,t[44]=V):V=t[44];let H;t[45]!==g||t[46]!==z||t[47]!==V?(H=(0,q.jsxs)(I,{open:g,onOpenChange:_,children:[z,V]}),t[45]=g,t[46]=z,t[47]=V,t[48]=H):H=t[48];let U;return t[49]!==n||t[50]!==M||t[51]!==H?(U=(0,q.jsxs)(`div`,{"data-testid":`date-widget`,"data-key":n,className:`relative flex h-7 items-center`,children:[M,H]}),t[49]=n,t[50]=M,t[51]=H,t[52]=U):U=t[52],U}var an=`MMM d, yyyy`;function on(e){if(!e)return;let t=Ct(e);return Number.isNaN(t.getTime())?void 0:t}function sn(e){return e?le(e,an):``}var cn=[`MMM d, yyyy`,`MMMM d, yyyy`,`yyyy-MM-dd`,`M/d/yyyy`,`MM/dd/yyyy`];function ln(e){let t=e.trim();if(!t)return;let n=new Date;for(let e of cn){let r=xt(t,e,n);if(!Number.isNaN(r.getTime()))return r}}function un(e){let t=(0,K.c)(53),{keyName:n,value:i,onCommit:a}=e,{_:o}=c(),[s,l]=(0,G.useState)(``),[d,h]=(0,G.useState)(!1),g=n===`tags`,_;t[0]!==g||t[1]!==a||t[2]!==i?(_=function(e){let t=e.trim();if(!t)return;if(g&&!D(t)){h(!0);return}let n=g&&t.startsWith(`#`)?t.slice(1):t;h(!1),a([...i,n]),l(``)},t[0]=g,t[1]=a,t[2]=i,t[3]=_):_=t[3];let v=_,y;t[4]!==a||t[5]!==i?(y=function(e){let t=i.slice();t.splice(e,1),a(t)},t[4]=a,t[5]=i,t[6]=y):y=t[6];let b=y,x;if(t[7]!==o||t[8]!==g||t[9]!==b||t[10]!==i){let e;t[12]!==o||t[13]!==g||t[14]!==b?(e=(e,t)=>{let n=g&&E.test(e),i=g&&!n,a=(0,q.jsxs)(`span`,{"data-testid":`list-chip`,"data-index":t,"data-tag-invalid":i?`true`:void 0,className:u(`inline-flex max-w-full min-w-0 items-center break-all text-1sm gap-0.5 rounded-xl py-0.5 pl-2 pr-1.5 transition-colors`,n&&`bg-primary/10 font-medium text-primary has-[button[data-tag]:hover]:bg-primary/20 has-[button[data-tag]:active]:bg-primary/25`,i&&`bg-destructive/10 font-medium text-destructive ring-1 ring-destructive/40`,!n&&!i&&`bg-muted`),children:[n?(0,q.jsxs)(`button`,{type:`button`,"data-tag":e,"aria-label":o({id:`9clcD5`,values:{chip:e}}),dir:`auto`,onClick:()=>r(e),className:`cursor-pointer rounded-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,children:[`#`,e]}):(0,q.jsx)(Xt,{text:e}),(0,q.jsx)(`button`,{type:`button`,"aria-label":o({id:`rfFpcF`,values:{chip:e}}),onClick:()=>b(t),className:u(`inline-flex items-center justify-center rounded-sm p-0.5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,n&&`text-primary opacity-70 hover:text-primary hover:opacity-100`,i&&`text-destructive opacity-70 hover:text-destructive hover:opacity-100`,!n&&!i&&`text-muted-foreground hover:text-foreground`),children:(0,q.jsx)(M,{className:`size-3`,"aria-hidden":`true`})})]},`${t}-${e}`);return i?(0,q.jsxs)(m,{children:[(0,q.jsx)(f,{asChild:!0,children:a}),(0,q.jsx)(p,{children:T})]},`${t}-${e}`):a},t[12]=o,t[13]=g,t[14]=b,t[15]=e):e=t[15],x=i.map(e),t[7]=o,t[8]=g,t[9]=b,t[10]=i,t[11]=x}else x=t[11];let S=d?`true`:void 0,C;t[16]!==o||t[17]!==i.length?(C=i.length===0?o({id:`N2S1rs`}):``,t[16]=o,t[17]=i.length,t[18]=C):C=t[18];let w;t[19]!==o||t[20]!==n?(w=o({id:`1EcCom`,values:{keyName:n}}),t[19]=o,t[20]=n,t[21]=w):w=t[21];let O=d?`true`:void 0,k=d?`${n}-tag-grammar`:void 0,A;t[22]===d?A=t[23]:(A=e=>{l(e.target.value),d&&h(!1)},t[22]=d,t[23]=A);let j;t[24]!==v||t[25]!==s||t[26]!==b||t[27]!==i.length?(j=e=>{e.key===`Enter`?(e.preventDefault(),v(s)):e.key===`Backspace`&&s===``&&i.length>0?(e.preventDefault(),b(i.length-1)):e.key===`Escape`&&(e.preventDefault(),l(``),h(!1),e.currentTarget.blur())},t[24]=v,t[25]=s,t[26]=b,t[27]=i.length,t[28]=j):j=t[28];let N;t[29]!==v||t[30]!==s?(N=()=>{s&&v(s)},t[29]=v,t[30]=s,t[31]=N):N=t[31];let P=d&&`text-destructive placeholder:text-destructive/60`,F;t[32]===P?F=t[33]:(F=u(`min-w-16 flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground/60`,P),t[32]=P,t[33]=F);let I;t[34]!==s||t[35]!==j||t[36]!==N||t[37]!==F||t[38]!==S||t[39]!==C||t[40]!==w||t[41]!==O||t[42]!==k||t[43]!==A?(I=(0,q.jsx)(`input`,{"data-testid":`list-chip-input`,"data-tag-invalid":S,type:`text`,value:s,placeholder:C,"aria-label":w,"aria-invalid":O,"aria-describedby":k,onChange:A,onKeyDown:j,onBlur:N,className:F}),t[34]=s,t[35]=j,t[36]=N,t[37]=F,t[38]=S,t[39]=C,t[40]=w,t[41]=O,t[42]=k,t[43]=A,t[44]=I):I=t[44];let L;t[45]!==d||t[46]!==n?(L=d&&(0,q.jsx)(`span`,{id:`${n}-tag-grammar`,role:`alert`,"data-testid":`list-chip-input-error`,className:`w-full px-2 pt-0.5 text-xs text-destructive`,children:`Tags must start with a letter or digit and contain only letters, digits, underscores, dashes, and slashes.`}),t[45]=d,t[46]=n,t[47]=L):L=t[47];let R;return t[48]!==n||t[49]!==I||t[50]!==L||t[51]!==x?(R=(0,q.jsxs)(`div`,{"data-testid":`list-widget`,"data-key":n,className:`flex min-h-7 w-full min-w-0 flex-wrap items-center gap-1 rounded-md px-2 py-1 focus-within:bg-background`,children:[x,I,L]}),t[48]=n,t[49]=I,t[50]=L,t[51]=x,t[52]=R):R=t[52],R}var dn={text:he,number:j,boolean:me,date:pe,list:i,object:k},fn={text:{id:`xeiujy`},number:{id:`HptUxX`},boolean:{id:`G1XxbZ`},date:{id:`mYGY3B`},list:{id:`2BBAbc`},object:{id:`W0i24j`}},pn={text:``,number:0,boolean:!1,date:``,list:[],object:{}};function mn(e){let t=(0,K.c)(45),{keyName:n,type:r,onChangeType:i,disabled:a,onCloseAutoFocus:o}=e,l=a===void 0?!1:a,{_:u}=c(),d=dn[r],h,g,_,v,w,T,E;if(t[0]!==d||t[1]!==u||t[2]!==l||t[3]!==n||t[4]!==r){E=Symbol.for(`react.early_return_sentinel`);bb0:{let e=u(fn[r]);if(l){let i;t[12]===d?i=t[13]:(i=(0,q.jsx)(d,{className:`size-3.5`}),t[12]=d,t[13]=i);let a=(0,q.jsx)(`span`,{tabIndex:0,className:`inline-flex`,children:(0,q.jsx)(`button`,{type:`button`,disabled:!0,"data-testid":`type-icon-button`,"data-key":n,"data-type":r,"aria-label":u({id:`yf5r22`,values:{keyName:n,typeLabel:e}}),className:`flex size-7 shrink-0 items-center justify-center rounded text-muted-foreground disabled:cursor-default`,children:i})}),o;t[14]===a?o=t[15]:(o=(0,q.jsx)(f,{asChild:!0,children:a}),t[14]=a,t[15]=o);let c;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,q.jsx)(p,{children:(0,q.jsx)(s,{id:`xhlFsx`})}),t[16]=c):c=t[16];let l;t[17]===o?l=t[18]:(l=(0,q.jsxs)(m,{children:[o,c]}),t[17]=o,t[18]=l),E=l;break bb0}g=C,h=x,_=`type-icon-button`,v=n,w=r,T=u({id:`GA-UkN`,values:{keyName:n,typeLabel:e}})}t[0]=d,t[1]=u,t[2]=l,t[3]=n,t[4]=r,t[5]=h,t[6]=g,t[7]=_,t[8]=v,t[9]=w,t[10]=T,t[11]=E}else h=t[5],g=t[6],_=t[7],v=t[8],w=t[9],T=t[10],E=t[11];if(E!==Symbol.for(`react.early_return_sentinel`))return E;let D;t[19]===d?D=t[20]:(D=(0,q.jsx)(d,{className:`size-3.5`}),t[19]=d,t[20]=D);let O;t[21]!==h||t[22]!==_||t[23]!==v||t[24]!==w||t[25]!==T||t[26]!==D?(O=(0,q.jsx)(h,{"data-testid":_,"data-key":v,"data-type":w,"aria-label":T,className:`flex size-7 shrink-0 items-center justify-center rounded text-muted-foreground hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,children:D}),t[21]=h,t[22]=_,t[23]=v,t[24]=w,t[25]=T,t[26]=D,t[27]=O):O=t[27];let k;t[28]===i?k=t[29]:(k=e=>i(e),t[28]=i,t[29]=k);let A;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(A=Object.keys(dn),t[30]=A):A=t[30];let j;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(j=A.filter(hn),t[31]=j):j=t[31];let M;t[32]===u?M=t[33]:(M=j.map(e=>{let t=dn[e];return(0,q.jsxs)(b,{value:e,"data-testid":`type-picker-item`,"data-type":e,children:[(0,q.jsx)(t,{className:`size-3.5 text-muted-foreground`}),(0,q.jsx)(`span`,{children:u(fn[e])})]},e)}),t[32]=u,t[33]=M);let N;t[34]!==M||t[35]!==k||t[36]!==r?(N=(0,q.jsx)(y,{value:r,onValueChange:k,children:M}),t[34]=M,t[35]=k,t[36]=r,t[37]=N):N=t[37];let P;t[38]!==o||t[39]!==N?(P=(0,q.jsx)(S,{align:`start`,"data-testid":`type-picker-menu`,onCloseAutoFocus:o,children:N}),t[38]=o,t[39]=N,t[40]=P):P=t[40];let F;return t[41]!==g||t[42]!==P||t[43]!==O?(F=(0,q.jsxs)(g,{children:[O,P]}),t[41]=g,t[42]=P,t[43]=O,t[44]=F):F=t[44],F}function hn(e){return e!==`object`}function gn(e,t){switch(t){case`text`:return Array.isArray(e)?e.join(`, `):typeof e==`object`&&e?``:String(e);case`number`:{if(typeof e==`number`)return e;if(typeof e==`object`&&e)return 0;let t=Array.isArray(e)?e[0]:e,n=typeof t==`string`?t:t==null?``:String(t),r=Number.parseFloat(n);return Number.isFinite(r)?r:0}case`boolean`:{if(typeof e==`boolean`)return e;if(typeof e==`number`)return e!==0;if(typeof e==`object`&&e)return!1;let t=Array.isArray(e)?e[0]:e;return(typeof t==`string`?t:t==null?``:String(t)).toLowerCase()===`true`}case`date`:return typeof e==`string`&&/^\d{4}-\d{2}-\d{2}$/.test(e)?e:new Date().toISOString().slice(0,10);case`list`:{if(Array.isArray(e))return e;if(typeof e==`object`&&e)return[];let t=String(e);return t?[t]:[]}case`object`:return typeof e==`object`&&e&&!Array.isArray(e)?e:{}}}function _n(e,t){return Array.isArray(e)?`list`:typeof e==`object`&&e?`object`:typeof e==`boolean`?`boolean`:typeof e==`number`?`number`:t===`list`||t===`object`?`text`:t}function vn(e){return Array.isArray(e)?e.some(e=>typeof e==`object`&&!!e):typeof e==`object`&&!!e}function yn(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function bn(e){return!Array.isArray(e)||e.length===0?!1:e.every(e=>yn(e))}function xn(e){let t=(0,K.c)(9),{keyName:n,value:r}=e,i;t[0]===r?i=t[1]:(i=Cn(r),t[0]=r,t[1]=i);let a=i,o=Array.isArray(r)?`array`:`object`,c;t[2]===a?c=t[3]:(c=(0,q.jsx)(`span`,{className:`truncate font-mono text-xs text-muted-foreground`,title:a,children:a}),t[2]=a,t[3]=c);let l;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,q.jsx)(`span`,{className:`ml-2 shrink-0 text-2xs text-muted-foreground/70`,children:(0,q.jsx)(s,{id:`57fiu8`})}),t[4]=l):l=t[4];let u;return t[5]!==n||t[6]!==o||t[7]!==c?(u=(0,q.jsxs)(`div`,{"data-testid":`complex-value-widget`,"data-key":n,"data-shape":o,className:`flex min-h-7 w-full min-w-0 items-center px-2 py-1`,children:[c,l]}),t[5]=n,t[6]=o,t[7]=c,t[8]=u):u=t[8],u}var Sn=4;function Cn(e){if(Array.isArray(e))return e.length===1?`[1 item]`:`[${e.length} items]`;if(typeof e==`object`&&e){let t=Object.keys(e);return t.length===0?`{}`:`{${t.slice(0,Sn).join(`, `)}${t.length>Sn?`, …`:``}}`}return String(e)}function wn(e){let t=(0,K.c)(39),{title:n,count:r,problemCount:i,problemMessages:a,className:o,contentClassName:s,testId:l,open:v,onOpenChange:y,children:b,ref:x}=e,{_:S}=c(),[C,w]=(0,G.useState)(!1),T=v??!C,E;t[0]===y?E=t[1]:(E=e=>{y?y(e):w(!e)},t[0]=y,t[1]=E);let D=E,O;t[2]===o?O=t[3]:(O=u(`property-panel editor-content-aligned text-sm`,o),t[2]=o,t[3]=O);let k=T&&`mb-1.5`,j;t[4]===k?j=t[5]:(j=u(`flex w-fit items-center gap-1.5`,k),t[4]=k,t[5]=j);let M;t[6]===T?M=t[7]:(M=(0,q.jsx)(A,{"data-expanded":T,className:`size-3.5 shrink-0 text-muted-foreground transition-transform duration-150 ease-out data-[expanded=true]:rotate-90`}),t[6]=T,t[7]=M);let N;t[8]===n?N=t[9]:(N=(0,q.jsx)(`span`,{children:n}),t[8]=n,t[9]=N);let P;t[10]===r?P=t[11]:(P=typeof r==`number`&&r>0?(0,q.jsx)(R,{variant:`gray`,className:`tabular-nums normal-case`,children:r}):null,t[10]=r,t[11]=P);let F;t[12]!==M||t[13]!==N||t[14]!==P?(F=(0,q.jsx)(g,{asChild:!0,children:(0,q.jsxs)(d,{type:`button`,variant:`ghost`,className:`flex h-auto w-fit items-center gap-1 bg-transparent! tracking-wider px-1 py-0.5 text-sm uppercase font-mono font-medium text-muted-foreground hover:bg-transparent hover:text-foreground space-x-1.5`,children:[M,N,P]})}),t[12]=M,t[13]=N,t[14]=P,t[15]=F):F=t[15];let I;t[16]!==S||t[17]!==i||t[18]!==a?(I=typeof i==`number`&&i>0?(0,q.jsxs)(m,{children:[(0,q.jsx)(f,{"data-testid":`property-problem-badge-trigger`,"aria-label":S({id:`M6vuZU`,values:{problemCount:i}}),className:`rounded-4xl focus-visible:outline-2 focus-visible:outline-ring focus-visible:outline-offset-2`,children:(0,q.jsx)(R,{variant:`notification`,"data-testid":`property-problem-badge`,"aria-hidden":`true`,className:`tabular-nums normal-case`,children:i>9?`9+`:i})}),(0,q.jsx)(p,{side:`bottom`,children:(0,q.jsx)(`span`,{className:`flex flex-col gap-0.5`,children:a?.map(Tn)})})]}):null,t[16]=S,t[17]=i,t[18]=a,t[19]=I):I=t[19];let L;t[20]!==j||t[21]!==F||t[22]!==I?(L=(0,q.jsxs)(`div`,{className:j,children:[F,I]}),t[20]=j,t[21]=F,t[22]=I,t[23]=L):L=t[23];let z;t[24]===s?z=t[25]:(z=u(`overflow-hidden data-[state=open]:animate-[collapsible-down_150ms_ease-out] data-[state=closed]:animate-[collapsible-up_150ms_ease-in]`,s),t[24]=s,t[25]=z);let B;t[26]!==b||t[27]!==z?(B=(0,q.jsx)(h,{className:z,children:b}),t[26]=b,t[27]=z,t[28]=B):B=t[28];let V;t[29]!==T||t[30]!==D||t[31]!==L||t[32]!==B?(V=(0,q.jsxs)(_,{open:T,onOpenChange:D,children:[L,B]}),t[29]=T,t[30]=D,t[31]=L,t[32]=B,t[33]=V):V=t[33];let H;return t[34]!==x||t[35]!==V||t[36]!==O||t[37]!==l?(H=(0,q.jsx)(`div`,{ref:x,className:O,"data-testid":l,children:V}),t[34]=x,t[35]=V,t[36]=O,t[37]=l,t[38]=H):H=t[38],H}function Tn(e,t){return(0,q.jsx)(`span`,{children:e},t)}var En=`flex h-7 w-32 shrink-0 items-center truncate px-2 text-sm text-muted-foreground`;function Dn(e){let t=(0,K.c)(16),{icon:n,label:r,htmlFor:i,children:a,testId:o,dataKey:s}=e,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,q.jsx)(`span`,{"aria-hidden":!0,className:`h-7 w-4 shrink-0`,"data-slot":`property-row-gutter`}),t[0]=c):c=t[0];let l;t[1]===n?l=t[2]:(l=(0,q.jsx)(`span`,{className:`flex size-7 shrink-0 items-center justify-center text-muted-foreground`,children:n}),t[1]=n,t[2]=l);let u;t[3]!==i||t[4]!==r?(u=i?(0,q.jsx)(`label`,{htmlFor:i,className:En,children:r}):(0,q.jsx)(`span`,{className:En,children:r}),t[3]=i,t[4]=r,t[5]=u):u=t[5];let d;t[6]!==l||t[7]!==u?(d=(0,q.jsxs)(`div`,{className:`flex items-center gap-1`,children:[l,u]}),t[6]=l,t[7]=u,t[8]=d):d=t[8];let f;t[9]===a?f=t[10]:(f=(0,q.jsx)(`div`,{className:`min-w-0 flex-1 text-sm`,children:a}),t[9]=a,t[10]=f);let p;return t[11]!==s||t[12]!==d||t[13]!==f||t[14]!==o?(p=(0,q.jsxs)(`div`,{className:`group flex items-start gap-1 py-0.5`,"data-testid":o,"data-key":s,children:[c,d,f]}),t[11]=s,t[12]=d,t[13]=f,t[14]=o,t[15]=p):p=t[15],p}export{ge as _,pn as a,en as c,mn as d,gn as f,_n as g,yn as h,xn as i,dn as l,vn as m,wn as n,rn as o,bn as p,tn as r,un as s,Dn as t,$t as u,he as v};
@@ -1 +0,0 @@
1
- import{yo as e}from"./dist-B5qwv8-p.js";function t(t){return e.includes(t)}function n(e){if(e.startsWith(_)||e.startsWith(x)||e.startsWith(S)||e.startsWith(w)||!e.startsWith(`#/`))return null;let t=e.slice(2),n=v(t),r=n>=0?t.slice(0,n):t;if(!r)return null;try{return r.split(`/`).map(decodeURIComponent).join(`/`)}catch{return r}}function r(e){if(e.startsWith(_)||!e.startsWith(`#/`))return null;let t=e.slice(2),n=t.indexOf(`#`);if(n<0)return null;let r=t.slice(n+1);if(!r)return null;try{return decodeURIComponent(r)}catch{return r}}function i(e,t){let n=`#/${e}`;return t?`${n}#${encodeURIComponent(t)}`:n}function a(e,t){return e===t||o(e)===o(t)}function o(e){try{return decodeURIComponent(e)}catch{return e}}var s=`__okHashHistoryEntry`;function c(e){return{...typeof e==`object`&&e?e:{},[s]:!0}}function l(e){return typeof e==`object`&&!!e&&e[s]===!0}function u(){l(window.history.state)||window.history.replaceState(c(window.history.state),``)}function d(e){let{pathname:t,search:n}=window.location;window.history.replaceState(c(window.history.state),``,`${t}${n}${e}`)}function f(e){if(a(window.location.hash,e))return;let{pathname:t,search:n}=window.location;window.history.pushState(c(window.history.state),``,`${t}${n}${e}`)}function p(e){return e.endsWith(`.mdx`)?e.slice(0,-4):e.endsWith(`.md`)?e.slice(0,-3):e}function m(e,t){let n=e.replace(/^\/+|\/+$/g,``),r=n?`#/${n}/`:`#/`;return t?`${r}#${encodeURIComponent(t)}`:r}function h(e,t,n){if(e===`folder`)return m(t);let r=`#/${encodeURIComponent(t)}`;return n==null||n===``?r:`${r}?branch=${encodeURIComponent(n)}`}function g(e){if(e===`#/`)return!0;if(!e.startsWith(`#/`))return!1;let t=e.slice(2);return t.length>0&&t[0]===`?`}var _=`#/__asset__/`;function v(e){let t=e.indexOf(`?`),n=e.indexOf(`#`);return t<0?n:n<0?t:Math.min(t,n)}function y(e){if(!e.startsWith(_))return null;let t=e.slice(12);if(!t)return null;try{return t.split(`/`).map(decodeURIComponent).join(`/`)}catch{return t}}function b(e){return`${_}${e.split(`/`).map(encodeURIComponent).join(`/`)}`}var x=`#/__skill-file__/`,S=`#/__skills__`;function C(e){return e===S||e.startsWith(`${S}/`)}var w=`#/__skill-preview__/`,T=[`explore`,`detected`,`builtin`,`foreign`,`linked`];function E(e){return e!==void 0&&T.includes(e)}var D=`project`;function O(e){return[e.flavor,e.source,e.name,e.subtitle,e.level??D].map(encodeURIComponent).join(`/`)}function k(e){if(!e)return null;let n;try{n=e.split(`/`).map(decodeURIComponent)}catch{return null}if(n.length<4||n.length>6)return null;let[r,i,a,o,s,c]=n;return!E(r)||!i||!a?null:{flavor:r,source:i,name:a,subtitle:o??``,...s&&t(s)?{level:s}:{},...c?{path:c}:{}}}function A(e){let t=O(e);return e.path&&(t+=`/${encodeURIComponent(e.path)}`),`${w}${t}`}function j(e){return e.startsWith(w)?k(e.slice(20)):null}var M=`:`;function N(e){let t=e.host===void 0?e.name:`${e.name}${M}${e.host}`;return`${x}${[e.scope,t].map(encodeURIComponent).join(`/`)}/${e.path.split(`/`).map(encodeURIComponent).join(`/`)}`}function P(e){if(!e.startsWith(x))return null;let n=e.slice(17);if(!n)return null;let r;try{r=n.split(`/`).map(decodeURIComponent)}catch{return null}if(r.length<3)return null;let[i,a,...o]=r,s=o.join(`/`);if(!i||!a||!s||!t(i))return null;let c=a.indexOf(M),l=c===-1?a:a.slice(0,c),u=c===-1?void 0:a.slice(c+1);return l?{scope:i,name:l,path:s,...u?{host:u}:{}}:null}var F=/\.(md|mdx)$/i;function I(e){return e.trim().replace(/^\.\/+/,``).replace(/^\/+/,``)}function L(e){return I(e).replace(F,``)}function R(e){let t=I(e);return t?F.test(t)?t:`${t}.md`:`untitled.md`}function z(e){let t=L(e),n=t.lastIndexOf(`/`);return{initialDir:n>0?t.slice(0,n):``,suggestedName:`${n>=0?t.slice(n+1):t||`untitled`}.md`}}export{j as C,P as S,l as _,y as a,f as b,h as c,b as d,i as f,g,A as h,r as i,O as l,N as m,R as n,k as o,m as p,L as r,n as s,z as t,p as u,a as v,C as w,d as x,u as y};
@@ -1 +0,0 @@
1
- import"./dist-B5qwv8-p.js";import{t as e}from"./dist-Cr4-nBVI.js";import{t}from"./messages-Bd3nERvw.js";e.load(`en`,t.messages),e.activate(`en`);
@@ -1 +0,0 @@
1
- import{t as e}from"./repair-skills-CnlSJ7Cv.mjs";export{e as repairSkills};
@@ -1 +0,0 @@
1
- import{i as e,o as t,s as n}from"./server-lock-pONFRxy9.mjs";export{e as markServerLockDraining,t as releaseServerLock,n as updateServerLockPort};
@@ -1 +0,0 @@
1
- import"./src-wzwdHnH1.mjs";import"./resolve-project-root-H2LH3evF.mjs";import"./src-ywNiPY0Z.mjs";import"./acp-harness-probe-6O1iSYIR.mjs";import"./init-BJVLqPEk.mjs";import{n as e}from"./loader-C4nhWSIa.mjs";import"./skill-teardown-h8wjTE5-.mjs";import"./preview-BZwSz2kH.mjs";import"./mcp-migrate-event-9DFnNzHa.mjs";export{e as loadConfig};
@@ -1 +0,0 @@
1
- import{S as e,m as t,p as n,r}from"./start-DKaGdrt1.mjs";export{r as bootStartServer,n as resolveBundledReactShellDir,t as resolveHost,e as startCommand};