@inkeep/open-knowledge 0.59.0-beta.33 → 0.59.0-beta.35

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 (101) hide show
  1. package/dist/{acp-harness-probe-Dsnqy0qw.mjs → acp-harness-probe-vsGUe6qp.mjs} +2 -2
  2. package/dist/cli.mjs +6 -6
  3. package/dist/constants-ZaRc-oTU.mjs +2 -0
  4. package/dist/index.mjs +1 -1
  5. package/dist/init-IRj6tWLS.mjs +1 -0
  6. package/dist/{init-DtrBRC9X.mjs → init-r0YtTtfz.mjs} +3 -3
  7. package/dist/{launch-json-removal-B6wYkgVM.mjs → launch-json-removal-Om4i-L6S.mjs} +2 -2
  8. package/dist/loader-BUmJVdvY.mjs +1 -0
  9. package/dist/{loader-gvjGD75Z.mjs → loader-CR3h5Mju.mjs} +2 -2
  10. package/dist/{open-browser-BoXWzzB3.mjs → open-browser-Buuo3P-E.mjs} +2 -2
  11. package/dist/preview-9ouAo77k.mjs +1 -0
  12. package/dist/{preview-BupSAjt8.mjs → preview-BT3Oifm5.mjs} +2 -2
  13. package/dist/public/assets/{ActivityModeContent-DOpDpkQL.js → ActivityModeContent-ZMkynbjt.js} +1 -1
  14. package/dist/public/assets/{AgentDiffPane-CzgUZIPo.js → AgentDiffPane-B8nC1KUO.js} +1 -1
  15. package/dist/public/assets/{CodeMirrorPropInput-CwMSmIBj.js → CodeMirrorPropInput-D7nB1aDJ.js} +1 -1
  16. package/dist/public/assets/{DocumentContext-mHHM9ElG.js → DocumentContext-DK6WjZtm.js} +1 -1
  17. package/dist/public/assets/{EditorModeToggle-B9BxwEaC.js → EditorModeToggle-Bw3g_RS7.js} +1 -1
  18. package/dist/public/assets/{EnableSyncConfirmDialog-BHCuvd7J.js → EnableSyncConfirmDialog-D6G6yrqT.js} +1 -1
  19. package/dist/public/assets/{ExcalidrawDocEditor-DEHhObiP.js → ExcalidrawDocEditor-BUL0FNWm.js} +1 -1
  20. package/dist/public/assets/FeedbackForm-DW0x7yxI.js +1 -0
  21. package/dist/public/assets/{ImportSkillDialog-CjPKDQBK.js → ImportSkillDialog-Eb3L_zjp.js} +1 -1
  22. package/dist/public/assets/{LintConfigEditor-C_Vfj_OU.js → LintConfigEditor-DfvsohvN.js} +1 -1
  23. package/dist/public/assets/{ManagedArtifactProperties-jNRmYNzs.js → ManagedArtifactProperties-BmksuBSn.js} +1 -1
  24. package/dist/public/assets/ManagedArtifactProperties-lJ8wwEp2.js +1 -0
  25. package/dist/public/assets/{MermaidDocEditor-Dj2CGDpm.js → MermaidDocEditor-QByjyMzX.js} +1 -1
  26. package/dist/public/assets/{PropertyDisplayRow-DpWgpyY9.js → PropertyDisplayRow-CE9D0uq8.js} +1 -1
  27. package/dist/public/assets/{SchemaConfigEditor-D2BFbCrq.js → SchemaConfigEditor-vZ4Iznw7.js} +1 -1
  28. package/dist/public/assets/SessionsHost-p4B3j2uq.js +2 -0
  29. package/dist/public/assets/SettingsDialogBody-CzOL2SRu.js +13 -0
  30. package/dist/public/assets/{ShareReceiveMissDialog-BidjxXjR.js → ShareReceiveMissDialog-D4TxU2FH.js} +1 -1
  31. package/dist/public/assets/{SkillInstallMenu-Cx58499S.js → SkillInstallMenu-Djr9cLyQ.js} +1 -1
  32. package/dist/public/assets/{SkillToolbarControls-BjPK4rLl.js → SkillToolbarControls-NDRzmFvN.js} +1 -1
  33. package/dist/public/assets/{SourceEditor-CziLRamo.js → SourceEditor-D280BxeC.js} +1 -1
  34. package/dist/public/assets/{TerminalWindowApp-BN42DLuZ.js → TerminalWindowApp-DiFRQ0Wj.js} +1 -1
  35. package/dist/public/assets/{TextDocEditor-jDn4bHh4.js → TextDocEditor-B19eo9Zu.js} +1 -1
  36. package/dist/public/assets/{ThreadView-D4orJWbz.js → ThreadView-DuWlmKjj.js} +2 -2
  37. package/dist/public/assets/{TimelineDiffPane-Bh01rWRX.js → TimelineDiffPane-iZl0xaNU.js} +1 -1
  38. package/dist/public/assets/{agent-diff-store-CnqY1OQH.js → agent-diff-store-d13OQwxA.js} +1 -1
  39. package/dist/public/assets/{auth-state-cache-DhmqOBfL.js → auth-state-cache-CE_bMumR.js} +1 -1
  40. package/dist/public/assets/{comment-chips-DLcjFmVN.js → comment-chips-DxWHm9Cs.js} +1 -1
  41. package/dist/public/assets/{config-provider-B54GosQj.js → config-provider-KCmXGgSj.js} +3 -3
  42. package/dist/public/assets/i18n-CxTgngSa.js +1 -0
  43. package/dist/public/assets/index-BT38n3zl.js +2098 -0
  44. package/dist/public/assets/{messages-W4EQLozB.js → messages-1FEsSIIj.js} +1 -1
  45. package/dist/public/assets/{messages-DoKxyRgP.js → messages-41bTs04W.js} +1 -1
  46. package/dist/public/assets/{messages-D9ldJ6Xm.js → messages-5S8je5LW.js} +1 -1
  47. package/dist/public/assets/{messages-C8jffdCe.js → messages-BaIuOlWR.js} +1 -1
  48. package/dist/public/assets/{messages-DdRp2uUH.js → messages-BqArTNvV.js} +1 -1
  49. package/dist/public/assets/{messages-DN37a6Ol.js → messages-CMcVg4Ix.js} +1 -1
  50. package/dist/public/assets/{messages-D3MBHECc.js → messages-DFzZnRi7.js} +1 -1
  51. package/dist/public/assets/{messages-CHwiuY_J.js → messages-DOht_ZsB.js} +1 -1
  52. package/dist/public/assets/{messages-CiFiW58E.js → messages-DQN4o7er.js} +1 -1
  53. package/dist/public/assets/{messages-CjKUNgHP.js → messages-Dhio81WF.js} +1 -1
  54. package/dist/public/assets/{messages-CU7VLvME.js → messages-DyPdsAJb.js} +1 -1
  55. package/dist/public/assets/{messages-J0QBWpSt.js → messages-Vv0nGwDC.js} +1 -1
  56. package/dist/public/assets/{pending-receive-nav-store-BRSGFYxK.js → pending-receive-nav-store-eivLgf-S.js} +1 -1
  57. package/dist/public/assets/{progress-CBxzVuzZ.js → progress-BzUYuL-V.js} +1 -1
  58. package/dist/public/assets/{selection-context-C09_QCK1.js → selection-context-gHo_9Fbo.js} +1 -1
  59. package/dist/public/assets/skill-actions-DtcJ1SJd.js +1 -0
  60. package/dist/public/assets/{src-B1BHrZl0.js → src-NjVFjnQM.js} +1 -1
  61. package/dist/public/assets/terminal-cli-display-C2erLHKw.js +1 -0
  62. package/dist/public/assets/terminal-launch-events-CKR4fyca.js +1 -0
  63. package/dist/public/assets/{terminal-telemetry-Cm0Met9j.js → terminal-telemetry-DVJphneI.js} +1 -1
  64. package/dist/public/assets/{typing-burst-detector-KkE8c4Vi.js → typing-burst-detector-CgfR26-J.js} +1 -1
  65. package/dist/public/assets/{uninstall-CtNQlhEE.js → uninstall-ZTgWvcqD.js} +1 -1
  66. package/dist/public/assets/{use-activity-panel-9bQHoObM.js → use-activity-panel-D-Xmd1zX.js} +1 -1
  67. package/dist/public/assets/{use-open-skill-aRFadf4f.js → use-open-skill-Cwhk0mI6.js} +1 -1
  68. package/dist/public/assets/{use-popular-skills-BxJfjPnS.js → use-popular-skills-C4zNnQqG.js} +1 -1
  69. package/dist/public/assets/{use-terminal-enabled-Q8tbeQdS.js → use-terminal-enabled-QPWQYOg5.js} +1 -1
  70. package/dist/public/assets/{use-timeline-entry-diff-Cn1xybVO.js → use-timeline-entry-diff-BcxlAt36.js} +1 -1
  71. package/dist/public/index.html +25 -25
  72. package/dist/public/uninstall.html +3 -3
  73. package/dist/{repair-launch-json-03f6Lh0E.mjs → repair-launch-json-DNtAoYuK.mjs} +2 -2
  74. package/dist/{repair-mcp-configs-CVfBp4g6.mjs → repair-mcp-configs-CE3qqMQw.mjs} +2 -2
  75. package/dist/{repair-skills-CVBoZIiO.mjs → repair-skills-BsBXroSe.mjs} +2 -2
  76. package/dist/repair-skills-K7CwEUhi.mjs +1 -0
  77. package/dist/{resolve-project-root-9pJU-v6u.mjs → resolve-project-root-BCtyt-M3.mjs} +2 -2
  78. package/dist/{skill-teardown-Bk-FU2uA.mjs → skill-teardown-CEOCC6te.mjs} +2 -2
  79. package/dist/{src-DglWR2eG.mjs → src-3c-GN0Vv.mjs} +3 -3
  80. package/dist/src-B-ikueq5.mjs +1 -0
  81. package/dist/{src-C8WBxBLt.mjs → src-BReyc6U1.mjs} +1 -1
  82. package/dist/{src-qqsp5LYS.mjs → src-DdFbH19m.mjs} +2 -2
  83. package/dist/start-BU-5d7w8.mjs +1 -0
  84. package/dist/{start-Jp250mlL.mjs → start-DJZtRPBb.mjs} +3 -3
  85. package/package.json +4 -4
  86. package/dist/constants-CEhsHkzu.mjs +0 -2
  87. package/dist/init-CTc2FAxI.mjs +0 -1
  88. package/dist/loader-NNqVeTLU.mjs +0 -1
  89. package/dist/preview-DISuvmS7.mjs +0 -1
  90. package/dist/public/assets/FeedbackForm-B5mA-zp3.js +0 -1
  91. package/dist/public/assets/ManagedArtifactProperties-BU8BzGED.js +0 -1
  92. package/dist/public/assets/SessionsHost-B76Z99qW.js +0 -2
  93. package/dist/public/assets/SettingsDialogBody-C9rgO08d.js +0 -13
  94. package/dist/public/assets/i18n-CctDYDxT.js +0 -1
  95. package/dist/public/assets/index-amQimFo_.js +0 -2098
  96. package/dist/public/assets/skill-actions-B8BU9tYy.js +0 -1
  97. package/dist/public/assets/terminal-cli-display-Cx78jPxI.js +0 -1
  98. package/dist/public/assets/terminal-launch-events-DHOdsro0.js +0 -1
  99. package/dist/repair-skills-C_-Lco2y.mjs +0 -1
  100. package/dist/src-D5BLIKTF.mjs +0 -1
  101. package/dist/start-AsXoIIvq.mjs +0 -1
@@ -0,0 +1 @@
1
+ import"./src-DM9JDHjF.mjs";import"./resolve-project-root-BCtyt-M3.mjs";import"./src-DdFbH19m.mjs";import"./acp-harness-probe-vsGUe6qp.mjs";import"./init-r0YtTtfz.mjs";import{n as e}from"./loader-CR3h5Mju.mjs";import"./skill-teardown-CEOCC6te.mjs";import"./preview-BT3Oifm5.mjs";import"./mcp-migrate-event-9DFnNzHa.mjs";export{e as loadConfig};
@@ -1 +1 @@
1
- import{Ac as e,Hs as t,Ts as n,U as r,Ws as i,ec as a,q as o,ws as s,x as c,xs as l,y as u}from"./src-DM9JDHjF.mjs";import{$ as d,$i as f,$n as p,$r as m,$t as h,A as g,Ai as _,An as v,Ar as y,At as b,B as x,Bi as S,Bn as C,Bt as w,C as T,Ca as E,Ci as D,Cn as O,Cr as k,Ct as A,D as j,Di as M,Dn as N,Dr as P,Dt as F,E as I,Ea as L,Ei as R,En as z,Er as B,Et as V,F as H,Fi as U,Fn as W,Fr as G,Ft as K,G as q,Gi as J,Gn as Y,Gr as X,Gt as Z,H as Q,Hi as $,Hn as ee,Ht as te,I as ne,Ii as re,In as ie,Ir as ae,It as oe,J as se,Ji as ce,Jn as le,Jr as ue,Jt as de,K as fe,Ki as pe,Kn as me,Kr as he,Kt as ge,L as _e,Li as ve,Ln as ye,Lr as be,Lt as xe,M as Se,Mi as Ce,Mn as we,Mr as Te,Mt as Ee,N as De,Ni as Oe,Nn as ke,Nr as Ae,Nt as je,O as Me,Oi as Ne,On as Pe,Or as Fe,Ot as Ie,P as Le,Pi as Re,Pn as ze,Pr as Be,Pt as Ve,Q as He,Qi as Ue,Qn as We,Qr as Ge,Qt as Ke,R as qe,Ri as Je,Rn as Ye,Rr as Xe,Rt as Ze,S as Qe,Sa as $e,Si as et,Sn as tt,Sr as nt,St as rt,T as it,Ta as at,Ti as ot,Tn as st,Tr as ct,Tt as lt,U as ut,Ui as dt,Un as ft,Ut as pt,V as mt,Vi as ht,Vn as gt,Vt as _t,W as vt,Wi as yt,Wn as bt,Wr as xt,Wt as St,X as Ct,Xi as wt,Xn as Tt,Xr as Et,Xt as Dt,Y as Ot,Yi as kt,Yn as At,Yr as jt,Yt as Mt,Z as Nt,Zi as Pt,Zn as Ft,Zr as It,Zt as Lt,_ as Rt,_a as zt,_i as Bt,_n as Vt,_r as Ht,_t as Ut,a as Wt,aa as Gt,ai as Kt,an as qt,ar as Jt,at as Yt,b as Xt,ba as Zt,bi as Qt,bn as $t,br as en,bt as tn,c as nn,ca as rn,ci as an,cn as on,cr as sn,ct as cn,d as ln,da as un,di as dn,dn as fn,dr as pn,ea as mn,ei as hn,en as gn,er as _n,et as vn,f as yn,fa as bn,fi as xn,fn as Sn,fr as Cn,g as wn,ga as Tn,gi as En,gn as Dn,gr as On,gt as kn,h as An,ha as jn,hi as Mn,hn as Nn,hr as Pn,i as Fn,ia as In,ii as Ln,in as Rn,ir as zn,it as Bn,j as Vn,ji as Hn,jn as Un,jr as Wn,jt as Gn,k as Kn,ki as qn,kn as Jn,kr as Yn,kt as Xn,l as Zn,la as Qn,li as $n,ln as er,lr as tr,lt as nr,m as rr,ma as ir,mi as ar,mn as or,mr as sr,n as cr,na as lr,ni as ur,nn as dr,nr as fr,nt as pr,o as mr,oa as hr,oi as gr,on as _r,or as vr,ot as yr,p as br,pa as xr,pi as Sr,pn as Cr,pr as wr,q as Tr,qi as Er,qn as Dr,qr as Or,qt as kr,r as Ar,ra as jr,ri as Mr,rn as Nr,rr as Pr,rt as Fr,s as Ir,sa as Lr,si as Rr,sn as zr,sr as Br,st as Vr,t as Hr,ta as Ur,ti as Wr,tn as Gr,tr as Kr,tt as qr,u as Jr,ua as Yr,ui as Xr,un as Zr,ur as Qr,v as $r,va as ei,vi as ti,vn as ni,vr as ri,vt as ii,w as ai,wa as oi,wn as si,wr as ci,wt as li,x as ui,xa as di,xi as fi,xn as pi,xr as mi,xt as hi,y as gi,ya as _i,yi as vi,yn as yi,yr as bi,yt as xi,z as Si,zi as Ci,zn as wi,zt as Ti}from"./src-DglWR2eG.mjs";import{C as Ei,E as Di,T as Oi,_ as ki,b as Ai,c as ji,d as Mi,g as Ni,i as Pi,l as Fi,m as Ii,n as Li,p as Ri,s as zi,t as Bi,u as Vi,v as Hi,w as Ui,x as Wi,y as Gi}from"./fs-traced-2B_-YK-g.mjs";import{a as Ki,d as qi,f as Ji,i as Yi,l as Xi,n as Zi,r as Qi,t as $i,u as ea}from"./logger-Dq-cRhcP.mjs";import{C as ta,S as na,_ as ra,a as ia,b as aa,c as oa,d as sa,f as ca,g as la,h as ua,i as da,l as fa,m as pa,n as ma,o as ha,p as ga,r as _a,s as va,t as ya,u as ba,x as xa}from"./server-lock-B3DaXpD-.mjs";export{zt as AGENT_ID_MAX_LEN,ei as AGENT_ID_RE,Oe as AGENT_WRITE_ORIGIN,oi as AcpPermissionStore,di as AcpRegistry,Ne as AcpThreadManager,R as AgentFocusBroadcaster,ot as AgentPresenceBroadcaster,Re as AgentSessionCapacityError,U as AgentSessionManager,Ut as AutoStartDisabledError,k as BUNDLE_IDS,ci as BUNDLE_SCOPE,ct as BUNDLE_SKILL_NAME,fr as BacklinkIndex,J as CC1Broadcaster,i as CC1_CONTRACT_VERSION,Sn as CONFIG_FILENAME,Tt as CONFLICT_MARKER_RE,he as CURSOR_BUNDLE_PATHS_BY_PLATFORM,Rt as ConfigSchema,Pt as DEFAULT_CHECKPOINT_RETENTION,dn as DEFAULT_EMBEDDINGS_DIMENSIONS,xe as DEFAULT_PACK_ID,mt as DocumentDurabilityState,xn as EMBEDDINGS_API_KEY_ENV,si as ExposureConsentError,$e as FEATURED_AGENT_IDS,Ue as FILE_SYSTEM_WRITER,_n as FILE_WATCHER_ORIGIN,Kt as FileEmbeddingsBackend,h as GIT_PREFLIGHT_FAIL_SPAN_NAME,f as GIT_UPSTREAM_WRITER,at as GitDirAccessError,Gr as GitNotAvailableError,dr as GitTooOldError,ii as HOCUSPOCUS_AUTH_REJECTION_REASONS,xi as HocuspocusAuthRejection,tn as HocuspocusAuthTokenSchema,$t as HomeProjectRootError,Ge as INSTALLED_AGENTS_SCHEMES,cn as JSON_SCHEMA_DIALECT_2020_12,t as LINEAGE_EPOCH_KEY,qe as LIVE_DERIVED_INDEX_DEBOUNCE_MS,Ze as LOG_MD_TEMPLATE,F as MANAGED_RENAME_ORIGIN,qn as MAX_ACP_THREADS,re as MAX_AGENT_SESSIONS,Hn as MCP_CONNECTION_ID_HEADER,l as MCP_SERVER_NAME,ve as MIN_EVICTABLE_IDLE_MS,Nr as MIN_GIT_VERSION,Q as MISSING_OK_CONFIG_MESSAGE,L as MalformedGitPointerError,vn as McpLogger,ut as MissingOkConfigError,Ci as OBSERVER_SYNC_ORIGIN,Cr as OK_OKIGNORE_TEMPLATE,B as ONBOARDING_BUNDLE_IDS,s as ORPHAN_MODES,e as PROTOCOL_VERSION,$i as PinoLogger,fa as ProcessLockCollisionError,Zn as ProjectGitInitError,Ie as ROLLBACK_ORIGIN,or as ROOT_GITIGNORE_TEMPLATE,aa as RUNTIME_VERSION,mn as SERVICE_WRITER,ri as SKILL_INSTALL_EVENTS_FILE_REL,r as SKILL_STATE_TARGETS,Ti as STARTER_FOLDERS,w as STARTER_FOLDER_FRONTMATTER_FILENAME,_t as STARTER_PACKS,te as STARTER_PACK_IDS,pt as STARTER_TEMPLATES,it as STATE_MANIFEST_FILENAME,xa as STATE_SCHEMA_VERSION,a as SYSTEM_DOC_NAME,Mt as SeedPrerequisiteError,Dt as SeedRootDirError,ya as ServerLockCollisionError,Hr as SingleFileNotAFileError,cr as SingleFileNotFoundError,Ar as SingleFileNotMarkdownError,I as StateManifestError,Kr as TagIndex,P as USER_GLOBAL_BUNDLE_IDS,Xn as __getShowAllWalkStatsForTesting,b as __resetShowAllWalkStatsForTesting,ba as acquireProcessLock,ma as acquireServerLock,Je as applyAgentMarkdownWrite,le as applyExternalChange,oe as applySeed,j as assertCompatibleStateManifest,Rn as assertGitAvailable,ie as assertNeverDiskEvent,pi as assertNotHomeProjectRoot,M as attachAcpThreadSocket,kn as attachIdleShutdown,$r as bootServer,zn as buildAndOpenSkill,Nn as buildConfigYmlContent,Ot as buildExecResult,st as buildIngressPolicy,_ as buildOkMcpStdioCommand,en as buildSkillZip,St as buildStarterFolderFrontmatterYaml,Ur as buildWipTree,Fe as bundleSkillMdPath,gr as canonicalProjectKey,tt as canonicalizeForCompare,ye as classifyEvents,Bi as classifyFsPath,Rr as clearAllEmbeddingsKeys,ar as clearContributors,Z as coercePackId,u as colorFromSeed,lr as commitUpstreamImport,jr as commitWip,In as commitWipFromTree,qt as compareSemver,Wn as composeEffectiveLinterConfig,Te as composeFrontmatterSchemasConfig,Ft as containsConflictMarkers,Ye as contentHash,Mn as contributorCount,Le as countShadowObjects,H as countStaleAgentWipRefs,ne as countWipRefs,Gn as createApiExtension,V as createAssetServeMiddleware,q as createCollaborationHost,xt as createContentFilter,X as createContentFilterAsync,an as createEmbeddingsSecretStore,Fn as createEphemeralProjectDir,At as createExternalChangeHandler,yn as createFileLogger,Si as createLiveDerivedIndexExtension,Tr as createMcpHttpHandler,m as createOsProbe,De as createPersistenceExtension,T as createServer,Vn as createServerObserverExtension,$ as createStreamingErrorWriter,Zi as createTestLogger,$n as describeStoredEmbeddingsKey,wn as detectClaudeDesktopPresence,_r as detectGit,Me as detectProjectShape,Jt as detectUserSkillHosts,Fr as discoverLockDirs,G as discoverMarkdownlintConfig,gn as emitPreflightFailureSpan,Ct as encodeDocName,Nt as encodeFolderRoute,He as encodeSkillRoute,Jr as ensureProjectGit,Dn as ensureProjectSkillGitignore,dt as errorResponse,wi as evictStaleTrackerEntries,Ee as extractHeadings,Bn as extractOkBinaryPath,Pr as extractWikiLinksFromMarkdown,zr as fallbackPaths,ln as findEnclosingGitRoot,ze as findEnclosingProjectRoot,ae as findNativeMarkdownlintFile,br as flushFileLogger,hi as formatAuthRejectionWire,En as formatContributors,Bt as formatContributorsFrom,Ve as formatPackRationale,Gt as gcCheckpointRefs,qr as getCurrentMcpLogger,z as getIngressContext,fi as getLocalDir,rr as getLogFilePath,Qi as getLogger,An as getLogsDir,ra as getMachineId,Gi as getMeter,bn as getMetrics,Ai as getTracer,xr as handleCollabSocketError,Or as handleSpawnCursor,N as hasForwardingHeaders,_e as hasGcLogLatch,c as iconFromClientName,ir as incrementCollabSocketFilteredError,jn as incrementServerObserverFire,Vt as initContent,hr as initShadowRepo,Wi as initTelemetry,Xt as initToleranceTelemetryWriter,nr as installJsonSchemaDialect,Vr as installPrettyZodErrors,Yi as installTestLoggers,vr as installUserSkill,ke as isAllowedApiOrigin,Un as isAllowedWorkspaceHostHeader,pe as isConfigDoc,rt as isHocuspocusAuthRejectionReason,O as isHomeDir,Pe as isHostAdmitted,ge as isKnownPackId,Er as isLinkIndexExcludedDoc,we as isLoopbackAddress,ce as isManagedArtifactDoc,Jn as isOriginAdmitted,n as isOrphanMode,S as isPairedWriteOrigin,ue as isPathWithinDir,v as isPeerAdmitted,na as isProcessAlive,W as isProjectRoot,kt as isReservedForUserTree,C as isSelfWrite,wt as isSystemDoc,ui as isToleranceTelemetryEnabled,ta as isValidLockPid,gt as lastKnownHash,Lr as listRescueCheckpoints,kr as listStarterPacks,E as loadCustomAgents,Se as loadPrincipal,_a as lockAdvertisesUi,sa as lockBaseUrl,ca as lockFilePath,Ki as loggerFactory,Xi as logsCurrentPath,ea as logsPreviousPath,Xr as makeLazyEmbeddingsKeyStore,da as markServerLockDraining,vt as mountMcpAndApi,Li as normalizeFsPath,Yn as originGitHubHost,ni as packageVersionMajorMinor,A as parseAuthRejectionWire,on as parseGitVersion,li as parseHocuspocusAuthToken,fe as parseKeepaliveConnectionId,ee as pathToDocName,K as planSeed,Wt as prepareSingleFileOpen,Yt as processCommand,yr as processUsage,tr as readAllTargets,Qr as readBundleDecision,be as readOwnNativeRules,ga as readProcessLock,pa as readProcessLockDetailed,x as readProjectHeadState,Ln as readProjectLocalSemanticConfig,ia as readServerLock,pn as readServerPackageVersion,Cn as readSkillInstallStateSnapshot,Kn as readStateManifest,wr as readTargetRecordedAt,sr as readTargetVersion,We as reconcile,ti as recordContributor,bi as recordSkillInstallEvent,se as registerAllTools,ft as registerWrite,ua as releaseProcessLock,ha as releaseServerLock,bt as removeLastKnownHash,sn as reportSkillInstall,Tn as resetMetrics,Br as resolveBuiltinSkillHosts,o as resolveBundleEnabled,mi as resolveBundledSkillDir,et as resolveContentDir,jt as resolveCursorBinaryDefault,Et as resolveCursorSpawnInvocation,Ae as resolveEffectiveLinterConfig,Sr as resolveEmbeddingsCredential,D as resolveLockDir,Be as resolveNativeConfigForDoc,Xe as resolveNativeMarkdownlintConfig,de as resolvePack,Ir as resolvePackageVersion,Ht as resolveSkillInstallReportSettings,d as resolveUiInfo,vi as restoreContributors,gi as restoreLifecycleFromConflictsJson,ur as rewriteMarkdownLinksForDocumentRename,Mr as rewriteWikiLinksForDocumentRename,er as runAuthReposSubprocess,Zr as runAuthStatusSubprocess,Lt as runCloneSubprocess,fn as runDeviceFlowSubprocess,pr as runWithMcpLogger,Wr as safeContentPath,je as safeSubdir,rn as safetyCheckpoint,Ce as sanitizeClientName,Qn as saveInMemoryCheckpoint,Yr as saveVersion,lt as seedBasenameIndex,mr as serializeError,Ei as setActiveSpanAttributes,ht as setupServerObservers,un as shadowGit,Ui as shutdownTelemetry,qi as spansCurrentPath,Ji as spansPreviousPath,It as spawnDetached,p as splitMarkdownBlocks,Y as startWatcher,yt as streamingProblemEvent,Qt as swapContributors,Qe as teardownToleranceTelemetryWriter,_i as toBroadcasterKey,Pi as tracedAppendFileSync,zi as tracedLinkSync,ji as tracedMkdir,Fi as tracedMkdirSync,Vi as tracedRename,Mi as tracedRenameSync,Ri as tracedRmSync,Ii as tracedRmdirSync,Ni as tracedUnlinkSync,ki as tracedWriteFile,Hi as tracedWriteFileSync,ai as trustSystemCertificates,nn as untrackTrackedProjectSkillProjection,me as updateLastKnownHash,la as updateProcessLockPort,va as updateServerLockPort,Zt as validateAgentId,Ke as validateCloneInputs,nt as validateSkillZip,oa as waitForServerLockDrain,hn as withHiddenWindowsConsole,Oi as withSpan,Di as withSpanSync,Pn as writeBundleDecision,y as writeMarkdownlintRule,yi as writeRootGitignoreForNewRepo,g as writeStateManifest,On as writeTargetVersion,Dr as writeTracker};
1
+ import{Ac as e,Hs as t,Ts as n,U as r,Ws as i,ec as a,q as o,ws as s,x as c,xs as l,y as u}from"./src-DM9JDHjF.mjs";import{$ as d,$i as f,$n as p,$r as m,$t as h,A as g,Ai as _,An as v,Ar as y,At as b,B as x,Bi as S,Bn as C,Bt as w,C as T,Ca as E,Ci as D,Cn as O,Cr as k,Ct as A,D as j,Di as M,Dn as N,Dr as P,Dt as F,E as I,Ea as L,Ei as R,En as z,Er as B,Et as V,F as H,Fi as U,Fn as W,Fr as G,Ft as K,G as q,Gi as J,Gn as Y,Gr as X,Gt as Z,H as Q,Hi as $,Hn as ee,Ht as te,I as ne,Ii as re,In as ie,Ir as ae,It as oe,J as se,Ji as ce,Jn as le,Jr as ue,Jt as de,K as fe,Ki as pe,Kn as me,Kr as he,Kt as ge,L as _e,Li as ve,Ln as ye,Lr as be,Lt as xe,M as Se,Mi as Ce,Mn as we,Mr as Te,Mt as Ee,N as De,Ni as Oe,Nn as ke,Nr as Ae,Nt as je,O as Me,Oi as Ne,On as Pe,Or as Fe,Ot as Ie,P as Le,Pi as Re,Pn as ze,Pr as Be,Pt as Ve,Q as He,Qi as Ue,Qn as We,Qr as Ge,Qt as Ke,R as qe,Ri as Je,Rn as Ye,Rr as Xe,Rt as Ze,S as Qe,Sa as $e,Si as et,Sn as tt,Sr as nt,St as rt,T as it,Ta as at,Ti as ot,Tn as st,Tr as ct,Tt as lt,U as ut,Ui as dt,Un as ft,Ut as pt,V as mt,Vi as ht,Vn as gt,Vt as _t,W as vt,Wi as yt,Wn as bt,Wr as xt,Wt as St,X as Ct,Xi as wt,Xn as Tt,Xr as Et,Xt as Dt,Y as Ot,Yi as kt,Yn as At,Yr as jt,Yt as Mt,Z as Nt,Zi as Pt,Zn as Ft,Zr as It,Zt as Lt,_ as Rt,_a as zt,_i as Bt,_n as Vt,_r as Ht,_t as Ut,a as Wt,aa as Gt,ai as Kt,an as qt,ar as Jt,at as Yt,b as Xt,ba as Zt,bi as Qt,bn as $t,br as en,bt as tn,c as nn,ca as rn,ci as an,cn as on,cr as sn,ct as cn,d as ln,da as un,di as dn,dn as fn,dr as pn,ea as mn,ei as hn,en as gn,er as _n,et as vn,f as yn,fa as bn,fi as xn,fn as Sn,fr as Cn,g as wn,ga as Tn,gi as En,gn as Dn,gr as On,gt as kn,h as An,ha as jn,hi as Mn,hn as Nn,hr as Pn,i as Fn,ia as In,ii as Ln,in as Rn,ir as zn,it as Bn,j as Vn,ji as Hn,jn as Un,jr as Wn,jt as Gn,k as Kn,ki as qn,kn as Jn,kr as Yn,kt as Xn,l as Zn,la as Qn,li as $n,ln as er,lr as tr,lt as nr,m as rr,ma as ir,mi as ar,mn as or,mr as sr,n as cr,na as lr,ni as ur,nn as dr,nr as fr,nt as pr,o as mr,oa as hr,oi as gr,on as _r,or as vr,ot as yr,p as br,pa as xr,pi as Sr,pn as Cr,pr as wr,q as Tr,qi as Er,qn as Dr,qr as Or,qt as kr,r as Ar,ra as jr,ri as Mr,rn as Nr,rr as Pr,rt as Fr,s as Ir,sa as Lr,si as Rr,sn as zr,sr as Br,st as Vr,t as Hr,ta as Ur,ti as Wr,tn as Gr,tr as Kr,tt as qr,u as Jr,ua as Yr,ui as Xr,un as Zr,ur as Qr,v as $r,va as ei,vi as ti,vn as ni,vr as ri,vt as ii,w as ai,wa as oi,wn as si,wr as ci,wt as li,x as ui,xa as di,xi as fi,xn as pi,xr as mi,xt as hi,y as gi,ya as _i,yi as vi,yn as yi,yr as bi,yt as xi,z as Si,zi as Ci,zn as wi,zt as Ti}from"./src-3c-GN0Vv.mjs";import{C as Ei,E as Di,T as Oi,_ as ki,b as Ai,c as ji,d as Mi,g as Ni,i as Pi,l as Fi,m as Ii,n as Li,p as Ri,s as zi,t as Bi,u as Vi,v as Hi,w as Ui,x as Wi,y as Gi}from"./fs-traced-2B_-YK-g.mjs";import{a as Ki,d as qi,f as Ji,i as Yi,l as Xi,n as Zi,r as Qi,t as $i,u as ea}from"./logger-Dq-cRhcP.mjs";import{C as ta,S as na,_ as ra,a as ia,b as aa,c as oa,d as sa,f as ca,g as la,h as ua,i as da,l as fa,m as pa,n as ma,o as ha,p as ga,r as _a,s as va,t as ya,u as ba,x as xa}from"./server-lock-B3DaXpD-.mjs";export{zt as AGENT_ID_MAX_LEN,ei as AGENT_ID_RE,Oe as AGENT_WRITE_ORIGIN,oi as AcpPermissionStore,di as AcpRegistry,Ne as AcpThreadManager,R as AgentFocusBroadcaster,ot as AgentPresenceBroadcaster,Re as AgentSessionCapacityError,U as AgentSessionManager,Ut as AutoStartDisabledError,k as BUNDLE_IDS,ci as BUNDLE_SCOPE,ct as BUNDLE_SKILL_NAME,fr as BacklinkIndex,J as CC1Broadcaster,i as CC1_CONTRACT_VERSION,Sn as CONFIG_FILENAME,Tt as CONFLICT_MARKER_RE,he as CURSOR_BUNDLE_PATHS_BY_PLATFORM,Rt as ConfigSchema,Pt as DEFAULT_CHECKPOINT_RETENTION,dn as DEFAULT_EMBEDDINGS_DIMENSIONS,xe as DEFAULT_PACK_ID,mt as DocumentDurabilityState,xn as EMBEDDINGS_API_KEY_ENV,si as ExposureConsentError,$e as FEATURED_AGENT_IDS,Ue as FILE_SYSTEM_WRITER,_n as FILE_WATCHER_ORIGIN,Kt as FileEmbeddingsBackend,h as GIT_PREFLIGHT_FAIL_SPAN_NAME,f as GIT_UPSTREAM_WRITER,at as GitDirAccessError,Gr as GitNotAvailableError,dr as GitTooOldError,ii as HOCUSPOCUS_AUTH_REJECTION_REASONS,xi as HocuspocusAuthRejection,tn as HocuspocusAuthTokenSchema,$t as HomeProjectRootError,Ge as INSTALLED_AGENTS_SCHEMES,cn as JSON_SCHEMA_DIALECT_2020_12,t as LINEAGE_EPOCH_KEY,qe as LIVE_DERIVED_INDEX_DEBOUNCE_MS,Ze as LOG_MD_TEMPLATE,F as MANAGED_RENAME_ORIGIN,qn as MAX_ACP_THREADS,re as MAX_AGENT_SESSIONS,Hn as MCP_CONNECTION_ID_HEADER,l as MCP_SERVER_NAME,ve as MIN_EVICTABLE_IDLE_MS,Nr as MIN_GIT_VERSION,Q as MISSING_OK_CONFIG_MESSAGE,L as MalformedGitPointerError,vn as McpLogger,ut as MissingOkConfigError,Ci as OBSERVER_SYNC_ORIGIN,Cr as OK_OKIGNORE_TEMPLATE,B as ONBOARDING_BUNDLE_IDS,s as ORPHAN_MODES,e as PROTOCOL_VERSION,$i as PinoLogger,fa as ProcessLockCollisionError,Zn as ProjectGitInitError,Ie as ROLLBACK_ORIGIN,or as ROOT_GITIGNORE_TEMPLATE,aa as RUNTIME_VERSION,mn as SERVICE_WRITER,ri as SKILL_INSTALL_EVENTS_FILE_REL,r as SKILL_STATE_TARGETS,Ti as STARTER_FOLDERS,w as STARTER_FOLDER_FRONTMATTER_FILENAME,_t as STARTER_PACKS,te as STARTER_PACK_IDS,pt as STARTER_TEMPLATES,it as STATE_MANIFEST_FILENAME,xa as STATE_SCHEMA_VERSION,a as SYSTEM_DOC_NAME,Mt as SeedPrerequisiteError,Dt as SeedRootDirError,ya as ServerLockCollisionError,Hr as SingleFileNotAFileError,cr as SingleFileNotFoundError,Ar as SingleFileNotMarkdownError,I as StateManifestError,Kr as TagIndex,P as USER_GLOBAL_BUNDLE_IDS,Xn as __getShowAllWalkStatsForTesting,b as __resetShowAllWalkStatsForTesting,ba as acquireProcessLock,ma as acquireServerLock,Je as applyAgentMarkdownWrite,le as applyExternalChange,oe as applySeed,j as assertCompatibleStateManifest,Rn as assertGitAvailable,ie as assertNeverDiskEvent,pi as assertNotHomeProjectRoot,M as attachAcpThreadSocket,kn as attachIdleShutdown,$r as bootServer,zn as buildAndOpenSkill,Nn as buildConfigYmlContent,Ot as buildExecResult,st as buildIngressPolicy,_ as buildOkMcpStdioCommand,en as buildSkillZip,St as buildStarterFolderFrontmatterYaml,Ur as buildWipTree,Fe as bundleSkillMdPath,gr as canonicalProjectKey,tt as canonicalizeForCompare,ye as classifyEvents,Bi as classifyFsPath,Rr as clearAllEmbeddingsKeys,ar as clearContributors,Z as coercePackId,u as colorFromSeed,lr as commitUpstreamImport,jr as commitWip,In as commitWipFromTree,qt as compareSemver,Wn as composeEffectiveLinterConfig,Te as composeFrontmatterSchemasConfig,Ft as containsConflictMarkers,Ye as contentHash,Mn as contributorCount,Le as countShadowObjects,H as countStaleAgentWipRefs,ne as countWipRefs,Gn as createApiExtension,V as createAssetServeMiddleware,q as createCollaborationHost,xt as createContentFilter,X as createContentFilterAsync,an as createEmbeddingsSecretStore,Fn as createEphemeralProjectDir,At as createExternalChangeHandler,yn as createFileLogger,Si as createLiveDerivedIndexExtension,Tr as createMcpHttpHandler,m as createOsProbe,De as createPersistenceExtension,T as createServer,Vn as createServerObserverExtension,$ as createStreamingErrorWriter,Zi as createTestLogger,$n as describeStoredEmbeddingsKey,wn as detectClaudeDesktopPresence,_r as detectGit,Me as detectProjectShape,Jt as detectUserSkillHosts,Fr as discoverLockDirs,G as discoverMarkdownlintConfig,gn as emitPreflightFailureSpan,Ct as encodeDocName,Nt as encodeFolderRoute,He as encodeSkillRoute,Jr as ensureProjectGit,Dn as ensureProjectSkillGitignore,dt as errorResponse,wi as evictStaleTrackerEntries,Ee as extractHeadings,Bn as extractOkBinaryPath,Pr as extractWikiLinksFromMarkdown,zr as fallbackPaths,ln as findEnclosingGitRoot,ze as findEnclosingProjectRoot,ae as findNativeMarkdownlintFile,br as flushFileLogger,hi as formatAuthRejectionWire,En as formatContributors,Bt as formatContributorsFrom,Ve as formatPackRationale,Gt as gcCheckpointRefs,qr as getCurrentMcpLogger,z as getIngressContext,fi as getLocalDir,rr as getLogFilePath,Qi as getLogger,An as getLogsDir,ra as getMachineId,Gi as getMeter,bn as getMetrics,Ai as getTracer,xr as handleCollabSocketError,Or as handleSpawnCursor,N as hasForwardingHeaders,_e as hasGcLogLatch,c as iconFromClientName,ir as incrementCollabSocketFilteredError,jn as incrementServerObserverFire,Vt as initContent,hr as initShadowRepo,Wi as initTelemetry,Xt as initToleranceTelemetryWriter,nr as installJsonSchemaDialect,Vr as installPrettyZodErrors,Yi as installTestLoggers,vr as installUserSkill,ke as isAllowedApiOrigin,Un as isAllowedWorkspaceHostHeader,pe as isConfigDoc,rt as isHocuspocusAuthRejectionReason,O as isHomeDir,Pe as isHostAdmitted,ge as isKnownPackId,Er as isLinkIndexExcludedDoc,we as isLoopbackAddress,ce as isManagedArtifactDoc,Jn as isOriginAdmitted,n as isOrphanMode,S as isPairedWriteOrigin,ue as isPathWithinDir,v as isPeerAdmitted,na as isProcessAlive,W as isProjectRoot,kt as isReservedForUserTree,C as isSelfWrite,wt as isSystemDoc,ui as isToleranceTelemetryEnabled,ta as isValidLockPid,gt as lastKnownHash,Lr as listRescueCheckpoints,kr as listStarterPacks,E as loadCustomAgents,Se as loadPrincipal,_a as lockAdvertisesUi,sa as lockBaseUrl,ca as lockFilePath,Ki as loggerFactory,Xi as logsCurrentPath,ea as logsPreviousPath,Xr as makeLazyEmbeddingsKeyStore,da as markServerLockDraining,vt as mountMcpAndApi,Li as normalizeFsPath,Yn as originGitHubHost,ni as packageVersionMajorMinor,A as parseAuthRejectionWire,on as parseGitVersion,li as parseHocuspocusAuthToken,fe as parseKeepaliveConnectionId,ee as pathToDocName,K as planSeed,Wt as prepareSingleFileOpen,Yt as processCommand,yr as processUsage,tr as readAllTargets,Qr as readBundleDecision,be as readOwnNativeRules,ga as readProcessLock,pa as readProcessLockDetailed,x as readProjectHeadState,Ln as readProjectLocalSemanticConfig,ia as readServerLock,pn as readServerPackageVersion,Cn as readSkillInstallStateSnapshot,Kn as readStateManifest,wr as readTargetRecordedAt,sr as readTargetVersion,We as reconcile,ti as recordContributor,bi as recordSkillInstallEvent,se as registerAllTools,ft as registerWrite,ua as releaseProcessLock,ha as releaseServerLock,bt as removeLastKnownHash,sn as reportSkillInstall,Tn as resetMetrics,Br as resolveBuiltinSkillHosts,o as resolveBundleEnabled,mi as resolveBundledSkillDir,et as resolveContentDir,jt as resolveCursorBinaryDefault,Et as resolveCursorSpawnInvocation,Ae as resolveEffectiveLinterConfig,Sr as resolveEmbeddingsCredential,D as resolveLockDir,Be as resolveNativeConfigForDoc,Xe as resolveNativeMarkdownlintConfig,de as resolvePack,Ir as resolvePackageVersion,Ht as resolveSkillInstallReportSettings,d as resolveUiInfo,vi as restoreContributors,gi as restoreLifecycleFromConflictsJson,ur as rewriteMarkdownLinksForDocumentRename,Mr as rewriteWikiLinksForDocumentRename,er as runAuthReposSubprocess,Zr as runAuthStatusSubprocess,Lt as runCloneSubprocess,fn as runDeviceFlowSubprocess,pr as runWithMcpLogger,Wr as safeContentPath,je as safeSubdir,rn as safetyCheckpoint,Ce as sanitizeClientName,Qn as saveInMemoryCheckpoint,Yr as saveVersion,lt as seedBasenameIndex,mr as serializeError,Ei as setActiveSpanAttributes,ht as setupServerObservers,un as shadowGit,Ui as shutdownTelemetry,qi as spansCurrentPath,Ji as spansPreviousPath,It as spawnDetached,p as splitMarkdownBlocks,Y as startWatcher,yt as streamingProblemEvent,Qt as swapContributors,Qe as teardownToleranceTelemetryWriter,_i as toBroadcasterKey,Pi as tracedAppendFileSync,zi as tracedLinkSync,ji as tracedMkdir,Fi as tracedMkdirSync,Vi as tracedRename,Mi as tracedRenameSync,Ri as tracedRmSync,Ii as tracedRmdirSync,Ni as tracedUnlinkSync,ki as tracedWriteFile,Hi as tracedWriteFileSync,ai as trustSystemCertificates,nn as untrackTrackedProjectSkillProjection,me as updateLastKnownHash,la as updateProcessLockPort,va as updateServerLockPort,Zt as validateAgentId,Ke as validateCloneInputs,nt as validateSkillZip,oa as waitForServerLockDrain,hn as withHiddenWindowsConsole,Oi as withSpan,Di as withSpanSync,Pn as writeBundleDecision,y as writeMarkdownlintRule,yi as writeRootGitignoreForNewRepo,g as writeStateManifest,On as writeTargetVersion,Dr as writeTracker};
@@ -1,4 +1,4 @@
1
- import{o as e}from"./chunk-DTipWd-i.mjs";import{K as t,pt as n,q as r}from"./sleep-DhRrtbfG.mjs";import{Dc as i,Ec as a,bo as o,ct as s,lt as c}from"./src-DM9JDHjF.mjs";import{Ci as l,Pn as u,at as d,ei as f,it as p,ot as m,rt as h}from"./src-DglWR2eG.mjs";import{D as ee,F as g,I as _,k as v}from"./fs-traced-2B_-YK-g.mjs";import{C as y,S as b,_ as x,f as S,r as C}from"./server-lock-B3DaXpD-.mjs";import{t as w}from"./yazl-DZr4PyKA.mjs";import{b as T,h as te,m as ne}from"./resolve-project-root-9pJU-v6u.mjs";import{c as re}from"./colors-DSyAT9Cz.mjs";import{n as E}from"./acp-harness-probe-Dsnqy0qw.mjs";import{E as D,T as ie,_ as ae,b as O,o as oe,w as k,x as se}from"./init-DtrBRC9X.mjs";import{n as A}from"./constants-CEhsHkzu.mjs";import{t as j}from"./is-object-Bw0-z8qH.mjs";import"./loader-gvjGD75Z.mjs";import"./skill-teardown-Bk-FU2uA.mjs";import"./preview-BupSAjt8.mjs";import{execSync as ce,spawnSync as M}from"node:child_process";import{basename as N,dirname as P,join as F,relative as le,resolve as I,sep as ue}from"node:path";import{cpSync as de,createWriteStream as fe,existsSync as L,lstatSync as pe,mkdirSync as R,mkdtempSync as me,readFileSync as z,readdirSync as he,readlinkSync as ge,rmSync as B,statSync as _e,writeFileSync as V}from"node:fs";import{arch as ve,freemem as ye,homedir as H,hostname as be,platform as xe,release as Se,tmpdir as Ce,totalmem as we,type as Te,uptime as Ee}from"node:os";import"node:fs/promises";import{createHash as De}from"node:crypto";var U=n();const Oe=new Set([`start`,`stop`,`status`,`clean`,`ui`,`mcp`,`preview`,`lint`,`deinit`,`auth`]);function ke(e,t,n=u){if(e!==void 0&&!Oe.has(e))return null;let r=n(t);return r===null||r.distance===0?null:r.rootPath}let Ae=null;function je(e){Ae=e}function Me(){return Ae??process.cwd()}function Ne(){return F(H(),`.ok`,`bug-reports`)}function Pe(e=new Date){let t=e.toISOString().replace(/[:.]/g,`-`),n=Ne(),r=`${t}-bugreport`,i=F(n,`${r}.zip`);for(let e=2;L(i);e+=1)i=F(n,`${r}-${e}.zip`);return i}function Fe(e,t){let n=F(e,`.ok`,`config.yml`);if(L(n))try{let e=z(n,`utf8`).match(/^\s*name:\s*['"]?(.+?)['"]?\s*$/m);if(e?.[1])return e[1]}catch(e){t?.warn({configPath:n,err:e},`bug-report: failed to read .ok/config.yml for project slug; using path-hash fallback`)}return L(F(e,`.ok`))?De(`sha256`).update(I(e)).digest(`hex`).slice(0,12):null}function Ie(){let e={timestamp:new Date().toISOString(),platform:xe(),osType:Te(),osRelease:Se(),hostname:`[redacted]`,uptime:Ee(),freeMem:ye(),totalMem:we(),nodeVersion:process.version,bunVersion:process.versions.bun??null,v8Version:process.versions.v8??null,pid:process.pid};try{e.macosVersion=ce(`sw_vers -productVersion 2>/dev/null`,f({encoding:`utf8`})).trim()}catch{}try{let t=F(__dirname,`..`,`..`,`package.json`);L(t)&&(e.okVersion=JSON.parse(z(t,`utf8`)).version)}catch{}return e}const Le=[{prefix:`cli`,projectTagged:!0},{prefix:`desktop`,projectTagged:!1},{prefix:`mcp`,projectTagged:!1}];function Re(e){let t=N(e);return Le.some(e=>e.projectTagged&&t.startsWith(`${e.prefix}.`))}function ze(e,t){return He(e,t).files}const Be=[`ShipIt_stderr.log`,`ShipIt_stdout.log`];function Ve(e,t=E){let n=F(e,`${t}.ShipIt`);return L(n)?Be.map(e=>F(n,e)).filter(e=>L(e)):[]}function He(e,t){if(!L(t))return{files:[],excludedByProjectSlug:0};let n=he(t).filter(e=>e.endsWith(`.log`)||/\.log\.\d+$/.test(e)).map(e=>F(t,e));if(!e)return{files:n,excludedByProjectSlug:0};let r=n.filter(Re),i=[],a=r.filter(t=>{try{return z(t,`utf8`).includes(`"project":"${e}"`)}catch{return i.push(t),!1}});if(a.length===0)return{files:n,excludedByProjectSlug:0};let o=new Set([...a,...i]);return{files:n.filter(e=>!Re(e)||o.has(e)),excludedByProjectSlug:r.length-o.size}}function Ue(e){let t=F(e,`.ok`,`local`);return L(t)?{files:[`server.lock`,`last-spawn-error.log`,s].map(e=>F(t,e)).filter(e=>L(e))}:{files:[]}}function We(e){let t=F(e,`.ok`,`local`,`logs`);return L(t)?{files:[`server-current.jsonl`,`server-prev.jsonl`].map(e=>F(t,e)).filter(e=>L(e))}:{files:[]}}function Ge(e){if(e.redact){let{redacted:t,patterns:n,lineCount:r}=i(e.content);e.zipfile.addBuffer(Buffer.from(t,`utf8`),e.name),e.bundleFiles.push(e.name),n.length>0&&e.redactions.push({file:e.name,lineCount:r,patterns:n})}else e.zipfile.addBuffer(Buffer.from(e.content,`utf8`),e.name),e.bundleFiles.push(e.name)}function Ke(e){for(let t of e.files)try{Ge({zipfile:e.zipfile,name:`${e.prefix}/${N(t)}`,content:z(t,`utf8`),redact:e.redact,bundleFiles:e.bundleFiles,redactions:e.redactions})}catch(n){e.logger?.warn({file:t,prefix:e.prefix,err:n},`bug-report: skipped unreadable file`)}}async function qe(t){let{redact:n,outputPath:r,logger:i}=t,o=t.userLogsDir??F(H(),`.ok`,`logs`),s=t.projectDir?Fe(t.projectDir,i):null;R(P(r),{recursive:!0}),i?.info({projectSlug:s},`gathering diagnostic data`);let c=Ie();c.desktop=t.desktop??null,c.language=t.language??null;let{files:l,excludedByProjectSlug:u}=He(s,o),{files:d}=t.projectDir?Ue(t.projectDir):{files:[]},{files:f}=t.projectDir?We(t.projectDir):{files:[]},p=t.shipItLogFiles??[];i?.info({logFileCount:l.length,logFilesExcludedByProjectSlug:u,lockFileCount:d.length,localSinkFileCount:f.length,shipItLogFileCount:p.length},`files collected`);let m=[],h=[],{ZipFile:ee}=await import(`./yazl-jVENrf5i.mjs`).then(t=>e(t.default,1)),g=new ee;Ke({zipfile:g,files:[...l,...p],prefix:`logs`,redact:n,bundleFiles:h,redactions:m,logger:i}),Ke({zipfile:g,files:d,prefix:`lockdir`,redact:n,bundleFiles:h,redactions:m,logger:i}),Ke({zipfile:g,files:f,prefix:`local-logs`,redact:n,bundleFiles:h,redactions:m,logger:i});for(let e of t.extraFiles??[])try{let t=z(e.sourcePath),n=`extra/${e.zipName??N(e.sourcePath)}`;g.addBuffer(t,n),h.push(n)}catch(t){i?.warn({sourcePath:e.sourcePath,err:t},`extra file unreadable; omitted from bundle`)}t.note&&Ge({zipfile:g,name:`note.txt`,content:t.note,redact:n,bundleFiles:h,redactions:m});let _=JSON.stringify(c,null,2);g.addBuffer(Buffer.from(_,`utf8`),`sysinfo.json`),h.push(`sysinfo.json`);let v={generatedAt:new Date().toISOString(),disciplineVersion:`1.0.0`,projectSlug:s,files:h,redactions:m,sysinfo:c};g.addBuffer(Buffer.from(JSON.stringify(v,null,2),`utf8`),`MANIFEST.json`);let y=m.reduce((e,t)=>e+t.lineCount,0),b=new Set(p.map(e=>`logs/${N(e)}`)),x=h.filter(e=>b.has(e)),S=s?h.filter(e=>e.startsWith(`logs/`)&&!Re(e)&&!b.has(e)):[],C=[`# Bug Report Bundle`,``,`Generated: ${v.generatedAt}`,`Project: ${s??`(unscoped)`}`,`Discipline version: ${v.disciplineVersion}`,``,`## Contents`,``,...h.map(e=>`- ${e}`),``,`## Privacy`,``,...S.length>0?[`Scope: some collected logs are user-wide rather than project-scoped.`,`These are written once per machine per day and can contain activity`,`from other projects open on this machine, including captured console`,`output:`,...S.map(e=>`- ${e}`),``]:[],...x.length>0?[`Installer logs: written by the macOS update helper rather than by`,`OpenKnowledge itself, and machine-wide rather than scoped to any one`,`project. They record the install and update history of this app on`,`this machine. Only this app is collected, never other applications`,`that use the same update mechanism:`,...x.map(e=>`- ${e}`),``]:[],...n?[`This bundle was auto-redacted before packaging.`,`Patterns checked: ${a.join(`, `)}`,y>0?`${y} line(s) were scrubbed across ${m.length} file(s).`:`No redactions were needed.`,`See MANIFEST.json for the full redaction audit report.`,``,`This bundle is safe to attach to a GitHub issue.`]:[`Redaction was disabled for this bundle; file contents are unmodified.`]].join(`
1
+ import{o as e}from"./chunk-DTipWd-i.mjs";import{K as t,pt as n,q as r}from"./sleep-DhRrtbfG.mjs";import{Dc as i,Ec as a,bo as o,ct as s,lt as c}from"./src-DM9JDHjF.mjs";import{Ci as l,Pn as u,at as d,ei as f,it as p,ot as m,rt as h}from"./src-3c-GN0Vv.mjs";import{D as ee,F as g,I as _,k as v}from"./fs-traced-2B_-YK-g.mjs";import{C as y,S as b,_ as x,f as S,r as C}from"./server-lock-B3DaXpD-.mjs";import{t as w}from"./yazl-DZr4PyKA.mjs";import{b as T,h as te,m as ne}from"./resolve-project-root-BCtyt-M3.mjs";import{c as re}from"./colors-DSyAT9Cz.mjs";import{n as E}from"./acp-harness-probe-vsGUe6qp.mjs";import{E as D,T as ie,_ as ae,b as O,o as oe,w as k,x as se}from"./init-r0YtTtfz.mjs";import{n as A}from"./constants-ZaRc-oTU.mjs";import{t as j}from"./is-object-Bw0-z8qH.mjs";import"./loader-CR3h5Mju.mjs";import"./skill-teardown-CEOCC6te.mjs";import"./preview-BT3Oifm5.mjs";import{execSync as ce,spawnSync as M}from"node:child_process";import{basename as N,dirname as P,join as F,relative as le,resolve as I,sep as ue}from"node:path";import{cpSync as de,createWriteStream as fe,existsSync as L,lstatSync as pe,mkdirSync as R,mkdtempSync as me,readFileSync as z,readdirSync as he,readlinkSync as ge,rmSync as B,statSync as _e,writeFileSync as V}from"node:fs";import{arch as ve,freemem as ye,homedir as H,hostname as be,platform as xe,release as Se,tmpdir as Ce,totalmem as we,type as Te,uptime as Ee}from"node:os";import"node:fs/promises";import{createHash as De}from"node:crypto";var U=n();const Oe=new Set([`start`,`stop`,`status`,`clean`,`ui`,`mcp`,`preview`,`lint`,`deinit`,`auth`]);function ke(e,t,n=u){if(e!==void 0&&!Oe.has(e))return null;let r=n(t);return r===null||r.distance===0?null:r.rootPath}let Ae=null;function je(e){Ae=e}function Me(){return Ae??process.cwd()}function Ne(){return F(H(),`.ok`,`bug-reports`)}function Pe(e=new Date){let t=e.toISOString().replace(/[:.]/g,`-`),n=Ne(),r=`${t}-bugreport`,i=F(n,`${r}.zip`);for(let e=2;L(i);e+=1)i=F(n,`${r}-${e}.zip`);return i}function Fe(e,t){let n=F(e,`.ok`,`config.yml`);if(L(n))try{let e=z(n,`utf8`).match(/^\s*name:\s*['"]?(.+?)['"]?\s*$/m);if(e?.[1])return e[1]}catch(e){t?.warn({configPath:n,err:e},`bug-report: failed to read .ok/config.yml for project slug; using path-hash fallback`)}return L(F(e,`.ok`))?De(`sha256`).update(I(e)).digest(`hex`).slice(0,12):null}function Ie(){let e={timestamp:new Date().toISOString(),platform:xe(),osType:Te(),osRelease:Se(),hostname:`[redacted]`,uptime:Ee(),freeMem:ye(),totalMem:we(),nodeVersion:process.version,bunVersion:process.versions.bun??null,v8Version:process.versions.v8??null,pid:process.pid};try{e.macosVersion=ce(`sw_vers -productVersion 2>/dev/null`,f({encoding:`utf8`})).trim()}catch{}try{let t=F(__dirname,`..`,`..`,`package.json`);L(t)&&(e.okVersion=JSON.parse(z(t,`utf8`)).version)}catch{}return e}const Le=[{prefix:`cli`,projectTagged:!0},{prefix:`desktop`,projectTagged:!1},{prefix:`mcp`,projectTagged:!1}];function Re(e){let t=N(e);return Le.some(e=>e.projectTagged&&t.startsWith(`${e.prefix}.`))}function ze(e,t){return He(e,t).files}const Be=[`ShipIt_stderr.log`,`ShipIt_stdout.log`];function Ve(e,t=E){let n=F(e,`${t}.ShipIt`);return L(n)?Be.map(e=>F(n,e)).filter(e=>L(e)):[]}function He(e,t){if(!L(t))return{files:[],excludedByProjectSlug:0};let n=he(t).filter(e=>e.endsWith(`.log`)||/\.log\.\d+$/.test(e)).map(e=>F(t,e));if(!e)return{files:n,excludedByProjectSlug:0};let r=n.filter(Re),i=[],a=r.filter(t=>{try{return z(t,`utf8`).includes(`"project":"${e}"`)}catch{return i.push(t),!1}});if(a.length===0)return{files:n,excludedByProjectSlug:0};let o=new Set([...a,...i]);return{files:n.filter(e=>!Re(e)||o.has(e)),excludedByProjectSlug:r.length-o.size}}function Ue(e){let t=F(e,`.ok`,`local`);return L(t)?{files:[`server.lock`,`last-spawn-error.log`,s].map(e=>F(t,e)).filter(e=>L(e))}:{files:[]}}function We(e){let t=F(e,`.ok`,`local`,`logs`);return L(t)?{files:[`server-current.jsonl`,`server-prev.jsonl`].map(e=>F(t,e)).filter(e=>L(e))}:{files:[]}}function Ge(e){if(e.redact){let{redacted:t,patterns:n,lineCount:r}=i(e.content);e.zipfile.addBuffer(Buffer.from(t,`utf8`),e.name),e.bundleFiles.push(e.name),n.length>0&&e.redactions.push({file:e.name,lineCount:r,patterns:n})}else e.zipfile.addBuffer(Buffer.from(e.content,`utf8`),e.name),e.bundleFiles.push(e.name)}function Ke(e){for(let t of e.files)try{Ge({zipfile:e.zipfile,name:`${e.prefix}/${N(t)}`,content:z(t,`utf8`),redact:e.redact,bundleFiles:e.bundleFiles,redactions:e.redactions})}catch(n){e.logger?.warn({file:t,prefix:e.prefix,err:n},`bug-report: skipped unreadable file`)}}async function qe(t){let{redact:n,outputPath:r,logger:i}=t,o=t.userLogsDir??F(H(),`.ok`,`logs`),s=t.projectDir?Fe(t.projectDir,i):null;R(P(r),{recursive:!0}),i?.info({projectSlug:s},`gathering diagnostic data`);let c=Ie();c.desktop=t.desktop??null,c.language=t.language??null;let{files:l,excludedByProjectSlug:u}=He(s,o),{files:d}=t.projectDir?Ue(t.projectDir):{files:[]},{files:f}=t.projectDir?We(t.projectDir):{files:[]},p=t.shipItLogFiles??[];i?.info({logFileCount:l.length,logFilesExcludedByProjectSlug:u,lockFileCount:d.length,localSinkFileCount:f.length,shipItLogFileCount:p.length},`files collected`);let m=[],h=[],{ZipFile:ee}=await import(`./yazl-jVENrf5i.mjs`).then(t=>e(t.default,1)),g=new ee;Ke({zipfile:g,files:[...l,...p],prefix:`logs`,redact:n,bundleFiles:h,redactions:m,logger:i}),Ke({zipfile:g,files:d,prefix:`lockdir`,redact:n,bundleFiles:h,redactions:m,logger:i}),Ke({zipfile:g,files:f,prefix:`local-logs`,redact:n,bundleFiles:h,redactions:m,logger:i});for(let e of t.extraFiles??[])try{let t=z(e.sourcePath),n=`extra/${e.zipName??N(e.sourcePath)}`;g.addBuffer(t,n),h.push(n)}catch(t){i?.warn({sourcePath:e.sourcePath,err:t},`extra file unreadable; omitted from bundle`)}t.note&&Ge({zipfile:g,name:`note.txt`,content:t.note,redact:n,bundleFiles:h,redactions:m});let _=JSON.stringify(c,null,2);g.addBuffer(Buffer.from(_,`utf8`),`sysinfo.json`),h.push(`sysinfo.json`);let v={generatedAt:new Date().toISOString(),disciplineVersion:`1.0.0`,projectSlug:s,files:h,redactions:m,sysinfo:c};g.addBuffer(Buffer.from(JSON.stringify(v,null,2),`utf8`),`MANIFEST.json`);let y=m.reduce((e,t)=>e+t.lineCount,0),b=new Set(p.map(e=>`logs/${N(e)}`)),x=h.filter(e=>b.has(e)),S=s?h.filter(e=>e.startsWith(`logs/`)&&!Re(e)&&!b.has(e)):[],C=[`# Bug Report Bundle`,``,`Generated: ${v.generatedAt}`,`Project: ${s??`(unscoped)`}`,`Discipline version: ${v.disciplineVersion}`,``,`## Contents`,``,...h.map(e=>`- ${e}`),``,`## Privacy`,``,...S.length>0?[`Scope: some collected logs are user-wide rather than project-scoped.`,`These are written once per machine per day and can contain activity`,`from other projects open on this machine, including captured console`,`output:`,...S.map(e=>`- ${e}`),``]:[],...x.length>0?[`Installer logs: written by the macOS update helper rather than by`,`OpenKnowledge itself, and machine-wide rather than scoped to any one`,`project. They record the install and update history of this app on`,`this machine. Only this app is collected, never other applications`,`that use the same update mechanism:`,...x.map(e=>`- ${e}`),``]:[],...n?[`This bundle was auto-redacted before packaging.`,`Patterns checked: ${a.join(`, `)}`,y>0?`${y} line(s) were scrubbed across ${m.length} file(s).`:`No redactions were needed.`,`See MANIFEST.json for the full redaction audit report.`,``,`This bundle is safe to attach to a GitHub issue.`]:[`Redaction was disabled for this bundle; file contents are unmodified.`]].join(`
2
2
  `);g.addBuffer(Buffer.from(C,`utf8`),`README.md`),g.end();let w=fe(r);return g.outputStream.pipe(w),await new Promise((e,t)=>{w.on(`close`,e),w.on(`error`,t)}),i?.info({bundlePath:r,fileCount:h.length,redactionCount:y},`bundle written`),{zipPath:r,summary:{projectSlug:s,files:h,redactions:m,redactedLineCount:y,generatedAt:v.generatedAt}}}var Je=e(w(),1),W=e(re(),1);function Ye(e){return _({absPath:v(`user`,e,e),sideline:!1,warn:()=>{}}).value.appearance?.language??`system`}function Xe({home:e=H(),env:n=process.env}={}){let i=Ye(e),{override:a,preferenceList:s}=ee(n),{locale:c,source:l}=o({override:a,storedPreference:i,supportedLocales:r,preferenceList:s,autoDetectableLocales:t});return{preference:i,locale:c,source:l,systemLanguages:s}}function Ze(e,t){return t.length===0||!e.includes(t)?e:e.split(t).join(`<CONTENT_DIR>`)}function Qe(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function G(e,t){if(typeof e==`string`)return Ze(e,t.contentDir);if(Array.isArray(e))return e.map(e=>G(e,t));if(!Qe(e))return e;let n={};for(let[r,i]of Object.entries(e))n[r]=G(i,t);return n}function $e(e,t){let n=z(e,`utf-8`);if(n.length===0)return;let r=n.endsWith(`
3
3
  `),i=n.split(`
4
4
  `),a=[];for(let e=0;e<i.length;e++){let n=i[e]??``;if(!(e===i.length-1&&n===``)){if(n.length===0){a.push(``);continue}try{let e=G(JSON.parse(n),t);a.push(JSON.stringify(e))}catch{a.push(n)}}}V(e,r?`${a.join(`
@@ -17,4 +17,4 @@ import{o as e}from"./chunk-DTipWd-i.mjs";import{K as t,pt as n,q as r}from"./sle
17
17
  `).replace(/\n/g,`\r
18
18
  `));let u=`${i?``:``}${l}`;return u!==r&&g(e,u,{mode:k(e)}),{kind:`removed`}}function fn(e){return e==null?!1:e.includes(`--type=utility`)&&e.includes(`--utility-sub-type=node.mojom.NodeService`)}function pn(e,t=Date.now()){let n=new Date(e).getTime();if(Number.isNaN(n))return`—`;let r=t-n,i=Math.floor(r/1e3);if(i<60)return`${i}s`;let a=Math.floor(i/60);if(a<60)return`${a}m ago`;let o=Math.floor(a/60);return o<24?`${o}h ago`:`${Math.floor(o/24)}d ago`}function mn(e,t,n,r){if(t.status===`missing`||t.status===`corrupt`)return null;let i=t.lock,a=t.status===`alive`&&C(i)?{port:i.port,status:t.status,pid:i.pid,startedAt:i.startedAt,usage:r}:null;return{directory:i.worktreeRoot,server:{port:i.port,status:t.status,pid:i.pid,startedAt:i.startedAt,usage:r},ui:a,hostname:i.hostname,lockPath:t.lockPath,binary:n==null?null:p(n),command:n,isDesktop:fn(n)}}function Q(e){let t=e.server.status;return t===`alive`||t===`foreign-host`?e.isDesktop?`desktop`:t===`alive`?`running`:`foreign`:`stale`}const hn=new Set([`running`,`desktop`,`foreign`]);function gn(e){switch(e){case`running`:return W.default.green(e);case`desktop`:return W.default.blue(e);case`foreign`:return W.default.cyan(e);case`stale`:return W.default.yellow(e)}}function _n(e){return e==null?`—`:`${e.cpuPercent.toFixed(1)}% / ${e.memPercent.toFixed(1)}%`}function vn(e){return`${_n(e.server.usage)} | ${_n(e.ui?.usage??null)}`}function yn(e){return`${e.server.port===0?`(starting)`:String(e.server.port)} / ${e.ui==null?`—`:String(e.ui.port)}`}function bn(e){if(e.length===0)return`No open-knowledge servers found.`;let t=[`DIRECTORY`,`PORTS (API/UI)`,`CPU/MEM (API | UI)`,`STATUS`,`PID`,`STARTED`,`BINARY`],n=e.map(e=>[e.directory,yn(e),vn(e),Q(e),String(e.server.pid),pn(e.server.startedAt),e.binary??`—`]),r=t.length,i=t.map(e=>e.length);for(let e of n)for(let t=0;t<r;t++)i[t]=Math.max(i[t]??0,(e[t]??``).length);let a=t.map((e,t)=>e.padEnd(i[t]??0)).join(` `).trimEnd(),o=e.map((e,t)=>{let a=n[t]??[],o=[];for(let t=0;t<r;t++){let n=(a[t]??``).padEnd(i[t]??0);if(t===3){let r=a[t]??``;n=gn(Q(e))+` `.repeat(Math.max(0,(i[t]??0)-r.length))}o.push(n)}return o.join(` `).trimEnd()}),s=W.default.dim(`To stop a server: ok stop <port|pid|directory|all>`);return[a,...o,``,s].join(`
19
19
  `)}async function xn(e={}){let t=e.discover??h,n=e.inspect??X,r=e.log??(e=>console.log(e)),i=e.resolveCommand??d,a=e.resolveUsage??m,o=await t(),s=[];for(let e of o){let t=n(e,`server`),r=mn(e,t,t.status===`missing`||t.status===`corrupt`?null:i(t.lock.pid),t.status===`missing`||t.status===`corrupt`?null:a(t.lock.pid));r!=null&&s.push(r)}if(e.json){let e=s.map(e=>({...e,displayStatus:Q(e)}));r(JSON.stringify(e,null,2));return}r(bn(e.all?s:s.filter(e=>hn.has(Q(e)))))}function Sn(){return new T(`ps`).description(`List all running open-knowledge servers`).argument(`[modifier]`,`"all" to include stale (dead-pid) entries`).option(`--all`,`Include stale (dead-pid) entries (foreign-host shows by default)`).option(`--json`,`Emit structured JSON (always includes all statuses)`).action(async(e,t)=>{await xn({all:t.all===!0||e===`all`,json:t.json===!0})})}function Cn(e,t,n={}){let r=n.isAlive??b,i=[];for(let[n,a]of[[`server`,e],[`ui`,t]])(a.status===`alive`||a.status===`foreign-host`&&r(a.lock.pid))&&i.push({name:n,pid:a.lock.pid,port:a.lock.port});return{targets:i}}function wn(e){let t=e.inspect??(t=>t===`ui`?Z(e.lockDir):X(e.lockDir,t)),n=e.kill??((e,t)=>process.kill(e,t)),r=e.log??(e=>console.log(e)),i=e.error??(e=>console.error(e)),a=Cn(t(`server`),t(`ui`),{isAlive:e.isAlive});if(a.targets.length===0)return r(`No running open-knowledge processes.`),{stopped:[],failed:[],hadTargets:!1};let o=[],s=[];for(let e of a.targets)try{n(e.pid,`SIGTERM`),o.push(e)}catch(t){s.push({target:e,error:t instanceof Error?t.message:String(t)})}return o.length>0&&r(`Stopped: ${o.map(e=>`${e.name} (pid=${e.pid}, port=${e.port})`).join(`, `)}`),s.length>0&&i(`Failed to stop: ${s.map(({target:e,error:t})=>`${e.name} (pid=${e.pid}): ${t}`).join(`; `)}`),{stopped:o,failed:s,hadTargets:!0}}function $(e,t){return e.status===`alive`?!0:e.status===`foreign-host`?t(e.lock.pid):!1}async function Tn(e,t=b){let n=await h(),r=null;for(let i of n){let n=X(i,`server`),a=Z(i);if($(n,t)&&n.lock.port===e||$(a,t)&&a.lock.port===e)return i;r===null&&($(n,t)&&n.lock.pid===e||$(a,t)&&a.lock.pid===e)&&(r=i)}return r}function En(e){let t=wn({lockDir:e});return t.failed.length>0&&(process.exitCode=1),t}function Dn(e){return new T(`stop`).description(`Stop open-knowledge server(s). With no argument: stops the server for the current directory. Pass a port number, a directory path, or "all" to target globally.`).argument(`[target...]`,`port number, directory path (spaces OK), or "all"`).action(async t=>{let n=t.length===0?void 0:t.join(` `);if(n===void 0){e();let t=wn({lockDir:l(process.cwd()),log:()=>{}});if(t.hadTargets){if(t.stopped.length>0){let e=t.stopped.map(e=>`${e.name} (pid=${e.pid}, port=${e.port})`).join(`, `);console.log(`Stopped: ${e}`)}t.failed.length>0&&(process.exitCode=1)}else await xn({});return}if(n===`all`){let e=await h();if(e.length===0){console.log(`No running open-knowledge servers found.`);return}let t=0;for(let n of e){let e=X(n,`server`),r=Z(n);!$(e,b)&&!$(r,b)||(En(n),t++)}t===0&&console.log(`No running open-knowledge servers found.`);return}if(/^\d+$/.test(n)){let e=Number.parseInt(n,10),t=await Tn(e);if(t===null){console.log(`No running open-knowledge server found with port or PID ${e}.`);return}En(t);return}En(l(I(Me(),n)))})}export{Ne as _,$t as a,ke as b,nn as c,Z as d,X as f,Pe as g,Kt as h,cn as i,rn as l,Gt as m,Dn as n,an as o,Yt as p,Sn as r,en as s,wn as t,Qt as u,Me as v,je as y};
20
- //# sourceMappingURL=src-qqsp5LYS.mjs.map
20
+ //# sourceMappingURL=src-DdFbH19m.mjs.map
@@ -0,0 +1 @@
1
+ import{d as e,f as t,n,y as r}from"./start-DJZtRPBb.mjs";export{n as bootStartServer,e as resolveBundledReactShellDir,t as resolveHost,r as startCommand};
@@ -1,4 +1,4 @@
1
- import{j as e}from"./sleep-DhRrtbfG.mjs";import{bc as t,fc as n,hc as r,xc as i,yc as a}from"./src-DM9JDHjF.mjs";import{Fn as o,a as s,ui as c}from"./src-DglWR2eG.mjs";import{r as l}from"./server-lock-B3DaXpD-.mjs";import{b as u,x as d}from"./resolve-project-root-9pJU-v6u.mjs";import{a as f,f as p,i as m,l as h,o as g,r as _,t as v}from"./acp-harness-probe-Dsnqy0qw.mjs";import{y}from"./init-DtrBRC9X.mjs";import{n as b}from"./constants-CEhsHkzu.mjs";import{spawn as x}from"node:child_process";import{basename as S,resolve as C}from"node:path";import{existsSync as w}from"node:fs";import{rm as T}from"node:fs/promises";import{setTimeout as E}from"node:timers/promises";function D(e,t){return e.bind?.[0]??t.HOST??`127.0.0.1`}function O(e){if(e===`server`)return e;throw new d(`--only must be 'server'`)}function k(e=w){let t=import.meta.dirname??new URL(`.`,import.meta.url).pathname;return[C(t,`public`),C(t,`../../app/dist`),C(t,`../../../app/dist`)].find(t=>e(t))}function A(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 j(t){if(t===`off`)return`off`;if(!e.test(t))throw new d(`--idle-shutdown must be 'off' or a duration like 90s, 30m, 2h`);return t}function M(e){return e===`localhost`||e===`::1`||e===`[::1]`||e.startsWith(`127.`)}function N(e){return!e.flagBindSet&&!e.okBindSet&&e.hostEnvSet&&e.fileBindCount>1}function P(e){return!e.openBrowser||e.ephemeral||e.only===`server`||!e.servesUi?!1:(e.explicitOn||M(e.host))&&e.isTTY}function F(e,t){let n;try{n=new URL(t)}catch{throw new d(`${e} is not a valid URL: ${t}`)}if(n.protocol!==`http:`&&n.protocol!==`https:`)throw new d(`${e} must be an http(s) origin (got: ${t})`);return t}function I(e){return F(`--external-url`,e)}function L(e){let t=S(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var R=class extends Error{cwd;constructor(e){super("This directory isn't set up yet. Run `ok init` first, then `ok start` again."),this.name=`OkDirMissingError`,this.cwd=e}};function z(e,t,n=e=>T(e,{recursive:!0,force:!0})){return async()=>{try{await e()}finally{try{await n(t)}catch(e){process.stderr.write(`[start] ephemeral temp dir reap failed for ${t}: ${e instanceof Error?e.message:String(e)}\n`)}}}}function B(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 V(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}=await import(`node:path`),{bootServer:m,getLogger:g,resolveContentDir:_,resolveLockDir:b,waitForServerLockDrain:x}=await import(`./src-C8WBxBLt.mjs`),S=e.log??g(`start`),C=e.singleFile!==void 0,w=e.projectDir??n,T=C?s(e.singleFile).canonicalFilePath:void 0,E=T?f(T):void 0,D=T?d(T):void 0;if(!C){if(!i&&!o(n))throw new R(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`))&&S.warn({event:e},`[start] reclaim sweep reported a problem`)};try{(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-CVfBp4g6.mjs`)).repairMcpConfigs)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){S.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-03f6Lh0E.mjs`)).repairLaunchJson)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){S.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}try{await(e.repairSkillsFn??(await import(`./repair-skills-C_-Lco2y.mjs`)).repairSkills)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){S.warn({err:e},`[start] skill repair sweep failed; continuing`)}}let O=E??_(t,n);!C&&!l(O)&&(u(O,{recursive:!0}),S.info({contentDir:O},`Created content directory`));let k=p(),A=c();{let e=b(C?w:n),t=Date.now(),r=await x(e);r!==`no-drain`&&S.info({event:`start-waited-for-draining-predecessor`,outcome:r,waitedMs:Date.now()-t,drainLockDir:e},r===`released`?`[start] predecessor server finished draining — proceeding`:`[start] predecessor server still draining after wait — proceeding to collide`)}let j=await m({config:t,contentDir:O,projectDir:C?w:n,contentRoot:C?void 0:t.content.dir,port:e.port,host:r,quiet:!1,detectGh:h,tokenStore:k,embeddingsKeyStore:A,mcpTomlEditor:y(),...C?{ephemeral:!0,singleDocRelPath:D,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],probeHarnessManagedMcpEntry:(e,t)=>v(e,t),idleShutdownMs:a,...e.serverRuntime===void 0?{}:{serverRuntime:e.serverRuntime},...e.bind===void 0?{}:{bind:e.bind},skipAutoInit:!0,idleShutdownHandler:t=>{let n=t;return B(C?z(n,w):n,{log:S,exit:e.idleExit})},log:S,...e.serveContentAssets===void 0?{}:{serveContentAssets:e.serveContentAssets},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{}});return{httpServer:j.httpServer,destroy:j.destroy,lockDir:j.lockDir,contentDir:O,port:j.port,ready:j.ready,degraded:j.degraded}}function H(e){if(e===`browser`||e===`app`)return e;throw new d(`--mode must be 'browser' or 'app'`)}function U(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function W(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 G(e,o){let s=U(process.env);s!==null&&(process.env.OK_CONSOLE_LEVEL=s);let{renderBanner:c}=await import(`./banner-B14xalho.mjs`),{accent:l,dim:u,error:d,warning:f}=await import(`./colors-CpP5E4wV.mjs`),p=process.cwd();process.title=L(p);let m;try{m=i(process.env)}catch(e){throw e instanceof a&&(console.error(d(e.message)),process.exit(78)),e}for(let e of m.diagnostics)console.warn(f(`[config] ${e.message}`));let h=t(e,m.layer),g=m.overrides.some(e=>e.envVar===`OK_BIND`),_=o.bind!==void 0&&o.bind.length>0?o.bind:void 0,v=process.env.HOST,y=v!==void 0&&v.trim()!==``?v:void 0,x=r(h),S=_??(g||y===void 0?[...x.bind]:[y]);N({flagBindSet:_!==void 0,okBindSet:g,hostEnvSet:y!==void 0,fileBindCount:x.bind.length})&&console.warn(f(`[config] HOST=${y} 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,D=r(t(h,{server:{bind:w,...T===void 0?{}:{externalUrl:T}}}));if(D.allowExternal&&(!D.loopbackOnly||D.externalUrl)){let e=D.externalUrl??D.bind.join(`, `);console.warn(f([``,`⚠ EXTERNAL ACCESS ENABLED (server.allowExternal) — no server-side authentication.`,` This server is reachable beyond this machine (${e}). Anyone who can`,` reach it has FULL control of this knowledge base — sync, publishing, GitHub`,` credentials, and local operations (clone, sign-in, repo spawn).`,` Restrict who can reach it at the edge: a Tailscale ACL, a reverse proxy with`,` auth (Cloudflare Access, oauth2-proxy), or a firewall.`,``].join(`
2
- `)))}let O=o.port===void 0?void 0:Number(o.port),j=m.overrides.find(e=>e.envVar===`PORT`)?.value,M=O??j??e.server?.port,F=A({explicitDir:o.reactShellDistDir,only:o.only,findBundledDir:k}),I=F.dir;F.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 z;try{z=await V({config:e,cwd:p,host:C,port:M,bind:w,...o.serveContentAssets===void 0?{}:{serveContentAssets:o.serveContentAssets},...I?{reactShellDistDir:I}:{},idleThresholdMs:n(o.idleShutdown??D.idleShutdown),serverRuntime:D,...o.singleFile?{singleFile:o.singleFile}:{},...o.projectDir?{projectDir:o.projectDir}:{}})}catch(e){e instanceof R&&(console.error(d(e.message)),process.exit(1));let t=await import(`./src-C8WBxBLt.mjs`);if((e instanceof t.GitNotAvailableError||e instanceof t.GitTooOldError)&&process.exit(78),e instanceof t.ExposureConsentError&&(console.error(d(e.message)),process.exit(78)),(e instanceof t.SingleFileNotFoundError||e instanceof t.SingleFileNotAFileError||e instanceof t.SingleFileNotMarkdownError)&&(console.error(d(e.message)),process.exit(1)),J(e,t)){let e=t.resolveLockDir(p),n=null;try{n=await K({readServerLock:()=>t.readServerLock(e),now:Date.now,sleep:e=>E(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]=q(n);console.log(l(e));for(let e of t)console.log(u(e));process.exit(0)}}let n=Y(e,p,t);n!==null&&(console.error(d(n)),process.exit(1)),console.error(`${d(`Failed to start:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exit(1)}let B=!1,H=async e=>{if(B)return;B=!0;let[t,...n]=W(e);console.log(l(`\n${t}`));for(let e of n)console.log(u(` ${e}`));try{await z.destroy()}catch(e){console.error(`${d(`destroy() failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exitCode=1}process.exit(process.exitCode??0)};process.once(`SIGINT`,()=>{H(`SIGINT`)}),process.once(`SIGTERM`,()=>{H(`SIGTERM`)});let G=`http://${C.includes(`:`)&&!C.startsWith(`[`)?`[${C}]`:C}:${z.port}`,X=C===`0.0.0.0`||C===`::`?`http://0.0.0.0:${z.port}`:void 0,Z=G;console.log(c({name:`open-knowledge`,version:b,localUrl:Z,networkUrl:X,nextSteps:[`Open the Editor URL in your browser to start editing.`]}));let Q={"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`};z.ready.then(async()=>{if(z.degraded.length>0){console.log();for(let e of z.degraded){let t=Q[e]??`${e} (check server logs for details)`;console.warn(` ${f(`⚠`)} ${f(e)}: ${u(t)}`)}console.log()}if(P({openBrowser:o.openBrowser!==!1&&D.openBrowser,explicitOn:o.openBrowser!==!1&&h.server?.openBrowser===!0,host:C,isTTY:process.stdout.isTTY===!0,ephemeral:o.singleFile!==void 0,only:o.only,servesUi:I!==void 0})){let{openBrowser:e}=await import(`./open-browser-BoXWzzB3.mjs`);e(Z)}}).catch(e=>{console.error(` ${d(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})}async function K(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:l(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 q(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 J(e,t){let n=t.ServerLockCollisionError;return n!==void 0&&e instanceof n}function Y(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 X(e){return new u(`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)`,O).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)`,j).option(`--mode <mode>`,`Force dispatch mode: 'browser' or 'app'`,H).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>`).option(`--single-file <path>`,`No-project ephemeral single-file mode: scope the server to one markdown file (git + MCP off)`).option(`--project-dir <dir>`,`Throwaway project root for --single-file (where ephemeral .ok/ state lives)`).option(`--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).`,I).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{j as e}from"./sleep-DhRrtbfG.mjs";import{bc as t,fc as n,hc as r,xc as i,yc as a}from"./src-DM9JDHjF.mjs";import{Fn as o,a as s,ui as c}from"./src-3c-GN0Vv.mjs";import{r as l}from"./server-lock-B3DaXpD-.mjs";import{b as u,x as d}from"./resolve-project-root-BCtyt-M3.mjs";import{a as f,f as p,i as m,l as h,o as g,r as _,t as v}from"./acp-harness-probe-vsGUe6qp.mjs";import{y}from"./init-r0YtTtfz.mjs";import{n as b}from"./constants-ZaRc-oTU.mjs";import{spawn as x}from"node:child_process";import{basename as S,resolve as C}from"node:path";import{existsSync as w}from"node:fs";import{rm as T}from"node:fs/promises";import{setTimeout as E}from"node:timers/promises";function D(e,t){return e.bind?.[0]??t.HOST??`127.0.0.1`}function O(e){if(e===`server`)return e;throw new d(`--only must be 'server'`)}function k(e=w){let t=import.meta.dirname??new URL(`.`,import.meta.url).pathname;return[C(t,`public`),C(t,`../../app/dist`),C(t,`../../../app/dist`)].find(t=>e(t))}function A(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 j(t){if(t===`off`)return`off`;if(!e.test(t))throw new d(`--idle-shutdown must be 'off' or a duration like 90s, 30m, 2h`);return t}function M(e){return e===`localhost`||e===`::1`||e===`[::1]`||e.startsWith(`127.`)}function N(e){return!e.flagBindSet&&!e.okBindSet&&e.hostEnvSet&&e.fileBindCount>1}function P(e){return!e.openBrowser||e.ephemeral||e.only===`server`||!e.servesUi?!1:(e.explicitOn||M(e.host))&&e.isTTY}function F(e,t){let n;try{n=new URL(t)}catch{throw new d(`${e} is not a valid URL: ${t}`)}if(n.protocol!==`http:`&&n.protocol!==`https:`)throw new d(`${e} must be an http(s) origin (got: ${t})`);return t}function I(e){return F(`--external-url`,e)}function L(e){let t=S(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var R=class extends Error{cwd;constructor(e){super("This directory isn't set up yet. Run `ok init` first, then `ok start` again."),this.name=`OkDirMissingError`,this.cwd=e}};function z(e,t,n=e=>T(e,{recursive:!0,force:!0})){return async()=>{try{await e()}finally{try{await n(t)}catch(e){process.stderr.write(`[start] ephemeral temp dir reap failed for ${t}: ${e instanceof Error?e.message:String(e)}\n`)}}}}function B(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 V(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}=await import(`node:path`),{bootServer:m,getLogger:g,resolveContentDir:_,resolveLockDir:b,waitForServerLockDrain:x}=await import(`./src-BReyc6U1.mjs`),S=e.log??g(`start`),C=e.singleFile!==void 0,w=e.projectDir??n,T=C?s(e.singleFile).canonicalFilePath:void 0,E=T?f(T):void 0,D=T?d(T):void 0;if(!C){if(!i&&!o(n))throw new R(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`))&&S.warn({event:e},`[start] reclaim sweep reported a problem`)};try{(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-CE3qqMQw.mjs`)).repairMcpConfigs)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){S.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-DNtAoYuK.mjs`)).repairLaunchJson)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){S.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}try{await(e.repairSkillsFn??(await import(`./repair-skills-K7CwEUhi.mjs`)).repairSkills)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){S.warn({err:e},`[start] skill repair sweep failed; continuing`)}}let O=E??_(t,n);!C&&!l(O)&&(u(O,{recursive:!0}),S.info({contentDir:O},`Created content directory`));let k=p(),A=c();{let e=b(C?w:n),t=Date.now(),r=await x(e);r!==`no-drain`&&S.info({event:`start-waited-for-draining-predecessor`,outcome:r,waitedMs:Date.now()-t,drainLockDir:e},r===`released`?`[start] predecessor server finished draining — proceeding`:`[start] predecessor server still draining after wait — proceeding to collide`)}let j=await m({config:t,contentDir:O,projectDir:C?w:n,contentRoot:C?void 0:t.content.dir,port:e.port,host:r,quiet:!1,detectGh:h,tokenStore:k,embeddingsKeyStore:A,mcpTomlEditor:y(),...C?{ephemeral:!0,singleDocRelPath:D,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],probeHarnessManagedMcpEntry:(e,t)=>v(e,t),idleShutdownMs:a,...e.serverRuntime===void 0?{}:{serverRuntime:e.serverRuntime},...e.bind===void 0?{}:{bind:e.bind},skipAutoInit:!0,idleShutdownHandler:t=>{let n=t;return B(C?z(n,w):n,{log:S,exit:e.idleExit})},log:S,...e.serveContentAssets===void 0?{}:{serveContentAssets:e.serveContentAssets},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{}});return{httpServer:j.httpServer,destroy:j.destroy,lockDir:j.lockDir,contentDir:O,port:j.port,ready:j.ready,degraded:j.degraded}}function H(e){if(e===`browser`||e===`app`)return e;throw new d(`--mode must be 'browser' or 'app'`)}function U(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function W(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 G(e,o){let s=U(process.env);s!==null&&(process.env.OK_CONSOLE_LEVEL=s);let{renderBanner:c}=await import(`./banner-B14xalho.mjs`),{accent:l,dim:u,error:d,warning:f}=await import(`./colors-CpP5E4wV.mjs`),p=process.cwd();process.title=L(p);let m;try{m=i(process.env)}catch(e){throw e instanceof a&&(console.error(d(e.message)),process.exit(78)),e}for(let e of m.diagnostics)console.warn(f(`[config] ${e.message}`));let h=t(e,m.layer),g=m.overrides.some(e=>e.envVar===`OK_BIND`),_=o.bind!==void 0&&o.bind.length>0?o.bind:void 0,v=process.env.HOST,y=v!==void 0&&v.trim()!==``?v:void 0,x=r(h),S=_??(g||y===void 0?[...x.bind]:[y]);N({flagBindSet:_!==void 0,okBindSet:g,hostEnvSet:y!==void 0,fileBindCount:x.bind.length})&&console.warn(f(`[config] HOST=${y} 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,D=r(t(h,{server:{bind:w,...T===void 0?{}:{externalUrl:T}}}));if(D.allowExternal&&(!D.loopbackOnly||D.externalUrl)){let e=D.externalUrl??D.bind.join(`, `);console.warn(f([``,`⚠ EXTERNAL ACCESS ENABLED (server.allowExternal) — no server-side authentication.`,` This server is reachable beyond this machine (${e}). Anyone who can`,` reach it has FULL control of this knowledge base — sync, publishing, GitHub`,` credentials, and local operations (clone, sign-in, repo spawn).`,` Restrict who can reach it at the edge: a Tailscale ACL, a reverse proxy with`,` auth (Cloudflare Access, oauth2-proxy), or a firewall.`,``].join(`
2
+ `)))}let O=o.port===void 0?void 0:Number(o.port),j=m.overrides.find(e=>e.envVar===`PORT`)?.value,M=O??j??e.server?.port,F=A({explicitDir:o.reactShellDistDir,only:o.only,findBundledDir:k}),I=F.dir;F.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 z;try{z=await V({config:e,cwd:p,host:C,port:M,bind:w,...o.serveContentAssets===void 0?{}:{serveContentAssets:o.serveContentAssets},...I?{reactShellDistDir:I}:{},idleThresholdMs:n(o.idleShutdown??D.idleShutdown),serverRuntime:D,...o.singleFile?{singleFile:o.singleFile}:{},...o.projectDir?{projectDir:o.projectDir}:{}})}catch(e){e instanceof R&&(console.error(d(e.message)),process.exit(1));let t=await import(`./src-BReyc6U1.mjs`);if((e instanceof t.GitNotAvailableError||e instanceof t.GitTooOldError)&&process.exit(78),e instanceof t.ExposureConsentError&&(console.error(d(e.message)),process.exit(78)),(e instanceof t.SingleFileNotFoundError||e instanceof t.SingleFileNotAFileError||e instanceof t.SingleFileNotMarkdownError)&&(console.error(d(e.message)),process.exit(1)),J(e,t)){let e=t.resolveLockDir(p),n=null;try{n=await K({readServerLock:()=>t.readServerLock(e),now:Date.now,sleep:e=>E(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]=q(n);console.log(l(e));for(let e of t)console.log(u(e));process.exit(0)}}let n=Y(e,p,t);n!==null&&(console.error(d(n)),process.exit(1)),console.error(`${d(`Failed to start:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exit(1)}let B=!1,H=async e=>{if(B)return;B=!0;let[t,...n]=W(e);console.log(l(`\n${t}`));for(let e of n)console.log(u(` ${e}`));try{await z.destroy()}catch(e){console.error(`${d(`destroy() failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exitCode=1}process.exit(process.exitCode??0)};process.once(`SIGINT`,()=>{H(`SIGINT`)}),process.once(`SIGTERM`,()=>{H(`SIGTERM`)});let G=`http://${C.includes(`:`)&&!C.startsWith(`[`)?`[${C}]`:C}:${z.port}`,X=C===`0.0.0.0`||C===`::`?`http://0.0.0.0:${z.port}`:void 0,Z=G;console.log(c({name:`open-knowledge`,version:b,localUrl:Z,networkUrl:X,nextSteps:[`Open the Editor URL in your browser to start editing.`]}));let Q={"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`};z.ready.then(async()=>{if(z.degraded.length>0){console.log();for(let e of z.degraded){let t=Q[e]??`${e} (check server logs for details)`;console.warn(` ${f(`⚠`)} ${f(e)}: ${u(t)}`)}console.log()}if(P({openBrowser:o.openBrowser!==!1&&D.openBrowser,explicitOn:o.openBrowser!==!1&&h.server?.openBrowser===!0,host:C,isTTY:process.stdout.isTTY===!0,ephemeral:o.singleFile!==void 0,only:o.only,servesUi:I!==void 0})){let{openBrowser:e}=await import(`./open-browser-Buuo3P-E.mjs`);e(Z)}}).catch(e=>{console.error(` ${d(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})}async function K(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:l(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 q(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 J(e,t){let n=t.ServerLockCollisionError;return n!==void 0&&e instanceof n}function Y(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 X(e){return new u(`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)`,O).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)`,j).option(`--mode <mode>`,`Force dispatch mode: 'browser' or 'app'`,H).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>`).option(`--single-file <path>`,`No-project ephemeral single-file mode: scope the server to one markdown file (git + MCP off)`).option(`--project-dir <dir>`,`Throwaway project root for --single-file (where ephemeral .ok/ state lives)`).option(`--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).`,I).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.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=m(_());if(n.available){f({spawn:x},n);return}console.error(g(n.reason)),process.exit(1)}await G(n,t)})}export{B as S,P as _,W as a,Y as b,I as c,k as d,D as f,G as g,A as h,q as i,j as l,U as m,V as n,M as o,K as p,L as r,J as s,R as t,O as u,N as v,z as x,X as y};
4
- //# sourceMappingURL=start-Jp250mlL.mjs.map
4
+ //# sourceMappingURL=start-DJZtRPBb.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inkeep/open-knowledge",
3
- "version": "0.59.0-beta.33",
3
+ "version": "0.59.0-beta.35",
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.59.0-beta.33",
75
- "@inkeep/open-knowledge-core": "0.59.0-beta.33",
76
74
  "@inkeep/open-knowledge-native-config": "0.0.0",
77
- "@inkeep/open-knowledge-server": "0.59.0-beta.33"
75
+ "@inkeep/open-knowledge-app": "0.59.0-beta.35",
76
+ "@inkeep/open-knowledge-server": "0.59.0-beta.35",
77
+ "@inkeep/open-knowledge-core": "0.59.0-beta.35"
78
78
  },
79
79
  "scripts": {
80
80
  "build:cli": "rm -rf dist && tsdown",
@@ -1,2 +0,0 @@
1
- import"./src-DM9JDHjF.mjs";var e=`0.59.0-beta.33`;const t=`config.yml`,n=e;export{n,t};
2
- //# sourceMappingURL=constants-CEhsHkzu.mjs.map
@@ -1 +0,0 @@
1
- import"./src-DglWR2eG.mjs";import{g as e}from"./init-DtrBRC9X.mjs";export{e as runInit};
@@ -1 +0,0 @@
1
- import{n as e}from"./loader-gvjGD75Z.mjs";export{e as loadConfig};
@@ -1 +0,0 @@
1
- import{n as e,t}from"./preview-BupSAjt8.mjs";export{t as formatPreviewBlock,e as previewContent};
@@ -1 +0,0 @@
1
- import{t as e}from"./index-amQimFo_.js";export{e as FeedbackForm};
@@ -1 +0,0 @@
1
- import{t as e}from"./ManagedArtifactProperties-jNRmYNzs.js";export{e as ManagedArtifactProperties};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./TerminalPanel-B2eMtg9W.js","./chunk-CYidjpOJ.js","./dist-C7FVgQnF2.js","./preload-helper-Chd9yIcd.js","./trace-api-CUqficfR.js","./status-BO9JLhw4.js","./lib-CGuuJXlL.js","./html-void-elements-Biw85x38.js","./lib-BoSom6iA.js","./markdownit-BZnioq-C.js","./w3c-keyname-DlL_314g.js","./dist-Nvb76hAm.js","./jsx-runtime-BUgB2tll.js","./react-f2sANaYj.js","./button-CA0dewJJ.js","./dist-mv8e6dBX.js","./bundle-mjs-SHeFpKGC.js","./compiler-runtime-BfE3aGVn.js","./utils-CPqDy6Hr.js","./x-wQUDJS55.js","./createLucideIcon-CAkY8Blx.js","./dist-PQ5KMVDh.js","./dist-DTX2HxC82.js","./react-dom-DPxgxlDT.js","./file-tree-adapter-VJviIUhC.js","./file-tree-rename-validation-CKWI2fGj.js","./file-tree-utils-CFgZ2Cn3.js","./navigation-targets-xthiKVG-.js","./doc-paths-RsoaUvtD.js","./known-skill-dirs-HlTud59O.js","./skill-scope-Bua0nDSa.js","./terminal-command-events-z-N381nZ.js","./use-live-xterm-theme-JuPkRnhw.js","./use-apply-config-color-theme-BBRWSHcW.js","./config-context-BH8hj2sg.js","./TerminalPanel-BrP-ENHg.css","./ThreadView-D4orJWbz.js","./dist-BgXDUIPy.js","./dropdown-menu-DRIarAms.js","./dist-DsLZcVyZ.js","./dist-Be8lWZxP2.js","./dist-CSCWMTfQ.js","./floating-ui.dom-Dk5WJYh0.js","./dist-DJUH3LhV.js","./dist-gTGB_-tT.js","./dist-BvwnbioL.js","./es2015-wpLRKwCl.js","./dist-BcWdMddd.js","./check-Bzwwm-o4.js","./chevron-right-BVvjaUfh.js","./progress-CBxzVuzZ.js","./separator-BmK42_9U.js","./DocumentContext-mHHM9ElG.js","./cm-theme-Cv1HvKYn.js","./dist-SEJoL7zW.js","./dist-B06p9eoe.js","./dist-CZp4Rvlf.js","./dist-CFiTpOJs.js","./dist-D_TqJyuw.js","./dist-BmEWZ9WX.js","./dist-Cj14vWds.js","./dist-eFrrX_Hg.js","./dist-CSBwCzP3.js","./stex-D2L90EPe.js","./config-provider-B54GosQj.js","./client-version-BnANtuGb.js","./i18n-CctDYDxT.js","./messages-W4EQLozB.js","./propagation-api-BofsoinJ.js","./context-api-BbWWFleV.js","./select-fWSYgcDA.js","./tooltip-DPvMEqsq.js","./dist-Cm417ZCm.js","./chevron-down-xENV92Te.js","./collapsible-COrqeoHr.js","./dist-tGYv04VD.js","./switch-BeP1gMN6.js","./CodeMirrorPropInput-CwMSmIBj.js","./folder-open-5aQb9yif.js","./trash-2-BVoWHmfV.js","./asset-dispatch-BxzFY-y9.js","./external-link-Dzk3biRr.js","./documents-fetch-mA-Z25Lh.js","./git-branch-BEl3Boky.js","./Mermaid-D6W1JO-s.js","./triangle-alert-CJVfCxE0.js","./circle-alert-CKGYtHdt.js","./prop-types-Cy2A7TPC.js","./documents-events-CsY1UHz_.js","./parse-api-error-DcnXKbfT.js","./startup-marks-C5Xa1Jli.js","./eye-DIJifYDY.js","./hash-26j3E552.js","./info-CqQMSCez.js","./spinner-DmibE6UV.js","./minus-HJRULrSt.js","./paperclip-C-okgtwN.js","./local-menu-action-bus-aAi23OVU.js","./badge-Cl2jI51n.js","./dialog-DD-GTVf9.js","./input-DikXDeKw.js","./popover-C7NTz6uK.js","./dist-SCAXxKci.js","./skills-api-D08ihk2a.js","./use-collab-url-DElOWqQi.js","./DocumentContext-B0sQn39F.css","./workspace-paths-CD0W1etA.js","./libesm-CmFxXX9W.js","./chunk-BO2N2NFS-CacOuifu.js","./RegisteredAgentIcon-D_jDwJpu.js","./cursor-2VSK5BUh.js","./download-Bdmlj4Jo.js","./history-BteF85_l.js","./list-plus-1_iMFVqs.js","./comment-chips-DLcjFmVN.js","./square-pen-BlKNuUz7.js","./terminal-CmHqE3At.js","./wrench-JX3g_hHJ.js","./mascot-outline-CtS592mc.js","./skeleton-BZIHOzZH.js","./textarea-BoMa_3jF.js","./thread-client-BprEkf79.js","./thread-draft-staging-X5TsXt3q.js","./agent-presence-B4IC4MV9.js","./use-workspace-uY_J8IXy.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}from"./react-f2sANaYj.js";import{n as i,r as a}from"./dist-Nvb76hAm.js";import{t as o}from"./useQuery-ZeEDLtxh.js";import{t as s}from"./react-dom-DPxgxlDT.js";import{t as c}from"./compiler-runtime-BfE3aGVn.js";import{i as l,n as u,r as d,s as f}from"./local-menu-action-bus-aAi23OVU.js";import{t as p}from"./utils-CPqDy6Hr.js";import{t as ee}from"./overlay-layers-Bj-TVfKw.js";import{t as m}from"./button-CA0dewJJ.js";import{i as te,n as ne,t as h}from"./tooltip-DPvMEqsq.js";import{A as g,C as _,M as v,N as re,O as ie,_ as ae,a as y,c as b,h as x,i as S,l as C,n as oe,r as w,s as T,t as E}from"./terminal-cli-display-Cx78jPxI.js";import{a as D,i as O,m as k,o as A,r as j,t as se,u as M}from"./dropdown-menu-DRIarAms.js";import{i as N}from"./terminal-telemetry-Cm0Met9j.js";import{Xt as ce}from"./dist-C7FVgQnF2.js";import{n as P}from"./dist-DTX2HxC82.js";import{i as le,y as ue}from"./use-settings-route-BBLR_URX.js";import{t as F}from"./dist-BgXDUIPy.js";import{A as de,F as fe,I as pe,L as me,M as he,N as ge,O as _e,S as ve,T as ye,_ as I,a as L,f as R,i as be,j as xe,k as z,s as Se,t as Ce,v as we,x as Te,y as Ee}from"./terminal-launch-events-DHOdsro0.js";import{a as De,r as Oe,t as B}from"./history-BteF85_l.js";import{t as ke}from"./createLucideIcon-CAkY8Blx.js";import{n as V,t as H}from"./RegisteredAgentIcon-D_jDwJpu.js";import{t as Ae}from"./check-Bzwwm-o4.js";import{t as U}from"./chevron-down-xENV92Te.js";import{t as je}from"./chevron-right-BVvjaUfh.js";import{t as Me}from"./spinner-DmibE6UV.js";import{t as Ne}from"./trash-2-BVoWHmfV.js";import{t as Pe}from"./x-wQUDJS55.js";import{i as W,r as G,t as Fe}from"./popover-C7NTz6uK.js";import{a as Ie,d as Le,g as Re,h as ze,n as Be,r as Ve,s as He,t as Ue}from"./sortable.esm-DK-jMveF.js";import{r as We,t as K}from"./input-group-DroArAL7.js";import{i as Ge,n as Ke,r as qe,t as Je}from"./tabs-BuseO5Xi.js";import{c as Ye,l as Xe,o as Ze,r as Qe,t as $e}from"./thread-client-BprEkf79.js";import{t as et}from"./thread-draft-staging-X5TsXt3q.js";import{n as q,t as tt}from"./use-terminal-enabled-Q8tbeQdS.js";var nt=ke(`panel-bottom`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M3 15h18`,key:`5xshup`}]]),rt=e(s(),1),J=c(),Y=e(r(),1),X=n();function it(e){let t=(0,J.c)(26),{archived:n,openThreadIds:r,onOpenThread:i}=e,{_:o}=a(),s=Qe(),[c,l]=(0,Y.useState)(!1),[u,d]=(0,Y.useState)(null),[f,ee]=(0,Y.useState)(0),g=(0,Y.useId)(),_;t[0]===o?_=t[1]:(_=o({id:`V0mbgd`}),t[0]=o,t[1]=_);let v=_,re=Fe,ie;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(ie=e=>{l(e),e?ee(Date.now()):d(null)},t[2]=ie):ie=t[2];let ae;t[3]===o?ae=t[4]:(ae=o({id:`6FCixu`}),t[3]=o,t[4]=ae);let y;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,X.jsx)(B,{"aria-hidden":`true`}),t[5]=y):y=t[5];let b;t[6]===ae?b=t[7]:(b=(0,X.jsx)(te,{asChild:!0,children:(0,X.jsx)(W,{asChild:!0,children:(0,X.jsx)(m,{type:`button`,variant:`ghost`,size:`icon-xs`,className:`shrink-0 cursor-pointer text-muted-foreground hover:text-foreground`,"aria-label":ae,"data-testid":`agent-thread-history`,children:y})})}),t[6]=ae,t[7]=b);let x;t[8]===o?x=t[9]:(x=o({id:`6FCixu`}),t[8]=o,t[9]=x);let S;t[10]===x?S=t[11]:(S=(0,X.jsx)(ne,{side:`bottom`,sideOffset:8,children:x}),t[10]=x,t[11]=S);let C;t[12]!==b||t[13]!==S?(C=(0,X.jsxs)(h,{children:[b,S]}),t[12]=b,t[13]=S,t[14]=C):C=t[14];let oe=G,w=n.map(e=>{let t=r.has(e.threadId);if(u===e.threadId&&!t)return(0,X.jsxs)(`div`,{className:`flex items-center gap-1.5 rounded-md bg-destructive/5 px-2 py-1`,"data-testid":`agent-thread-history-confirm`,children:[(0,X.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs`,children:o({id:`kVgQUA`})}),(0,X.jsx)(m,{type:`button`,size:`sm`,variant:`destructive`,className:`h-6 px-2 text-xs`,onClick:()=>{s.deleteThread(e.threadId),d(null)},"data-testid":`agent-thread-history-confirm-delete`,children:o({id:`cnGeoo`})}),(0,X.jsx)(m,{type:`button`,size:`sm`,variant:`ghost`,className:`h-6 px-2 text-xs`,onClick:()=>d(null),children:o({id:`dEgA5A`})})]},e.threadId);let n=`${g}-${e.threadId}`;return(0,X.jsxs)(`div`,{className:`group flex items-center gap-0.5`,children:[(0,X.jsxs)(m,{type:`button`,variant:`ghost`,className:`h-auto min-w-0 flex-1 justify-start gap-2 px-2 py-1.5`,onClick:()=>{i(e.threadId),l(!1)},"data-testid":`agent-thread-history-open-${e.threadId}`,children:[(0,X.jsx)(H,{agentId:e.agent.id,iconUrl:e.agent.iconUrl,className:`size-4 shrink-0`}),(0,X.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-left text-xs`,children:e.title}),(0,X.jsx)(`span`,{className:`shrink-0 text-[10px] text-muted-foreground`,children:Z(e.lastActivityAt,f)})]}),(0,X.jsxs)(h,{children:[(0,X.jsx)(te,{asChild:!0,children:(0,X.jsxs)(`span`,{className:p(`inline-flex`,t&&`cursor-not-allowed`),children:[(0,X.jsx)(m,{type:`button`,variant:`ghost`,size:`icon-xs`,"aria-label":o({id:`Y2tU6I`,values:{0:e.title}}),"aria-disabled":t||void 0,"aria-describedby":t?n:void 0,className:p(`opacity-0 transition-opacity focus-visible:opacity-100 group-hover:opacity-100`,t?`cursor-not-allowed text-muted-foreground/50`:`text-muted-foreground hover:text-destructive`),onClick:()=>{t||d(e.threadId)},"data-testid":`agent-thread-history-delete-${e.threadId}`,children:(0,X.jsx)(Ne,{className:`size-3`,"aria-hidden":`true`})}),t?(0,X.jsx)(`span`,{id:n,className:`sr-only`,children:v}):null]})}),(0,X.jsx)(ne,{side:`bottom`,sideOffset:8,children:t?v:o({id:`Y2tU6I`,values:{0:e.title}})})]})]},e.threadId)}),T;t[15]===w?T=t[16]:(T=(0,X.jsx)(`div`,{className:`max-h-80 overflow-y-auto`,children:w}),t[15]=w,t[16]=T);let E;t[17]!==oe||t[18]!==T?(E=(0,X.jsx)(oe,{align:`end`,className:`w-72 p-1`,children:T}),t[17]=oe,t[18]=T,t[19]=E):E=t[19];let D;return t[20]!==re||t[21]!==c||t[22]!==E||t[23]!==ie||t[24]!==C?(D=(0,X.jsxs)(re,{open:c,onOpenChange:ie,children:[C,E]}),t[20]=re,t[21]=c,t[22]=E,t[23]=ie,t[24]=C,t[25]=D):D=t[25],D}function at(e){let t=(0,J.c)(18),{archived:n,onOpen:r}=e,{_:i}=a(),[o,s]=(0,Y.useState)(0),c,l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>{s(Date.now())},l=[],t[0]=c,t[1]=l):(c=t[0],l=t[1]),(0,Y.useEffect)(c,l);let u;t[2]===i?u=t[3]:(u=i({id:`Tq9kNX`}),t[2]=i,t[3]=u);let d;t[4]===u?d=t[5]:(d=(0,X.jsx)(`p`,{className:`px-1 text-muted-foreground text-xs`,children:u}),t[4]=u,t[5]=d);let f;if(t[6]!==n||t[7]!==o||t[8]!==r){let e;t[10]!==o||t[11]!==r?(e=e=>(0,X.jsxs)(m,{type:`button`,variant:`ghost`,className:`h-auto w-full min-w-0 justify-start gap-2 px-2 py-1.5`,onClick:()=>r(e.threadId),"data-testid":`agent-thread-empty-open-${e.threadId}`,children:[(0,X.jsx)(H,{agentId:e.agent.id,iconUrl:e.agent.iconUrl,className:`size-4 shrink-0`}),(0,X.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-left text-xs`,children:e.title}),(0,X.jsx)(`span`,{className:`shrink-0 text-[10px] text-muted-foreground`,children:Z(e.lastActivityAt,o)})]},e.threadId),t[10]=o,t[11]=r,t[12]=e):e=t[12],f=n.map(e),t[6]=n,t[7]=o,t[8]=r,t[9]=f}else f=t[9];let p;t[13]===f?p=t[14]:(p=(0,X.jsx)(`div`,{className:`flex flex-col gap-0.5`,children:f}),t[13]=f,t[14]=p);let ee;return t[15]!==d||t[16]!==p?(ee=(0,X.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-2 overflow-y-auto p-3`,"data-testid":`agent-thread-empty-chooser`,children:[d,p]}),t[15]=d,t[16]=p,t[17]=ee):ee=t[17],ee}function Z(e,t){let n=Math.max(0,t-e);if(n<6e4)return F._({id:`xOTzt5`});if(n<36e5){let e=Math.round(n/6e4);return F._({id:`_rP3HI`,values:{minutes:e}})}if(n<864e5){let e=Math.round(n/36e5);return F._({id:`nYeBmY`,values:{hours:e}})}let r=Math.round(n/864e5);return F._({id:`LPAv9E`,values:{days:r}})}var ot=new Set;function st(e,t,n,r,i){let a=`${e.source}:${e.id}`;ot.has(a)||(ot.add(a),Qe().createThread({agent:e,prompt:t??void 0,docName:n??void 0,titleHint:r??void 0}).then(e=>{if(i!=null)try{et(e.threadId,i)}catch(t){console.error(`[agent-threads] draft staging failed for`,e.threadId,t)}}).catch(e=>{console.error(`[agent-threads] launch failed:`,e),P.error(e instanceof $e?F._({id:`aaI6cN`}):F._({id:`2rLM8r`}))}).finally(()=>{ot.delete(a)}))}function ct(){return ot.size>0}var Q={terminal:`ok-dock-session-order-v1`,agents:`ok-agent-session-order-v1`};function lt(e){return{order:Array.isArray(e.order)?e.order.filter(e=>typeof e==`string`):[],activeKey:typeof e.activeKey==`string`?e.activeKey:null}}function ut(e){if(typeof window>`u`)return null;try{let t=window.localStorage.getItem(Q[e]);return t===null?null:lt(JSON.parse(t))}catch{return null}}function dt(e,t){if(!(typeof window>`u`))try{window.localStorage.setItem(Q[e],JSON.stringify(t))}catch{}}async function ft(e,t){if(typeof e?.terminal?.getDockState==`function`)try{let n=await e.terminal.getDockState(),r=n[t];if(r==null)return{sessionOrder:null,terminalSnapshot:n.terminalSnapshot};let{order:i,activeKey:a}=lt(r);return{sessionOrder:i.length===0&&a===null?null:{order:i,activeKey:a},terminalSnapshot:n.terminalSnapshot}}catch(e){return console.warn(`[dock-session-persistence] getDockState failed; cold-starting:`,e),{sessionOrder:null,terminalSnapshot:void 0}}return{sessionOrder:e?.terminal==null?ut(t):null,terminalSnapshot:void 0}}function pt(e,t){return ft(e,t).then(e=>e.sessionOrder)}function mt(e,t,n,r={tabs:[],activeOrdinal:null}){if(typeof e?.terminal?.setDockState==`function`){let i={order:[...n.order],activeKey:n.activeKey},a=t===`terminal`?e.terminal.setDockState({surface:`terminal`,...i,terminalSnapshot:r}):e.terminal.setDockState({surface:`agents`,...i});Promise.resolve(a).then(e=>{e?.ok===!1&&(e.reason===`ipc-unavailable`?console.warn(`[dock-session-persistence] setDockState skipped during window teardown`):console.error(`[dock-session-persistence] setDockState failed:`,e.reason))}).catch(e=>{console.error(`[dock-session-persistence] setDockState rejected:`,e)});return}e?.terminal??dt(t,n)}var ht=`ok-terminal-new-tab-bare-v1`;function gt(e){try{return(e??localStorage).getItem(ht)===`1`}catch{return!1}}function _t(e,t){try{let n=t??localStorage;e?n.setItem(ht,`1`):n.removeItem(ht)}catch{}for(let e of vt)e()}var vt=new Set;function yt(){return Ct()}function bt(){for(let e of vt)e()}typeof window<`u`&&typeof window.addEventListener==`function`&&window.addEventListener(`storage`,e=>{(e.key===`ok-terminal-new-tab-bare-v1`||e.key===null)&&bt()});function xt(e){return vt.add(e),()=>vt.delete(e)}function St(){return(0,Y.useSyncExternalStore)(xt,yt,yt)}function Ct(){try{return typeof localStorage>`u`?!1:gt()}catch{return!1}}var wt=(0,Y.lazy)(()=>t(()=>import(`./TerminalPanel-B2eMtg9W.js`).then(e=>({default:e.TerminalPanel})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35]),import.meta.url));function Tt(e){let t=(0,J.c)(15),{bridge:n,onClose:r,onTitleChange:i,launch:o,commandId:s,adoptPtyId:c,onPtyId:l}=e,u=o===void 0?null:o,d=s===void 0?null:s,p=c===void 0?null:c,{enabled:ee,synced:m}=tt(),te=q(),{_:ne}=a(),h=m&&ee===!1,g;t[0]!==ne||t[1]!==te?(g=function(){if(te===null){P.error(ne({id:`V_6bJ4`}));return}let e=te(!0);e.ok||P.error(ne({id:`jKd3AP`,values:{0:e.error}}))},t[0]=ne,t[1]=te,t[2]=g):g=t[2];let _=g;if(m&&!h){let e;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,X.jsx)(`div`,{className:`h-full w-full bg-background`,"aria-hidden":`true`}),t[3]=e):e=t[3];let a;return t[4]!==p||t[5]!==n||t[6]!==d||t[7]!==u||t[8]!==r||t[9]!==l||t[10]!==i?(a=(0,X.jsx)(f,{fallbackRender:Dt,onError:Et,children:(0,X.jsx)(Y.Suspense,{fallback:e,children:(0,X.jsx)(wt,{bridge:n,className:`h-full`,onClose:r,onTitleChange:i,launch:u,commandId:d,adoptPtyId:p,onPtyId:l})})}),t[4]=p,t[5]=n,t[6]=d,t[7]=u,t[8]=r,t[9]=l,t[10]=i,t[11]=a):a=t[11],a}let v;return t[12]!==_||t[13]!==h?(v=h?(0,X.jsx)(kt,{onEnable:_}):(0,X.jsx)(`div`,{className:`h-full w-full bg-background`,"aria-hidden":`true`}),t[12]=_,t[13]=h,t[14]=v):v=t[14],v}function Et(e,t){console.error(`[TerminalGate] rendered fallback for the terminal panel`,e,t.componentStack)}function Dt(e){return(0,X.jsx)(Ot,{...e})}function Ot(e){let t=(0,J.c)(15),{error:n}=e,{_:r}=a(),i;t[0]!==r||t[1]!==n?(i=n instanceof Error&&/dynamically imported module|Failed to fetch/i.test(n.message)?r({id:`Y8ViJx`}):r({id:`fbsiBw`}),t[0]=r,t[1]=n,t[2]=i):i=t[2];let o=i,s;t[3]===r?s=t[4]:(s=r({id:`6MnZEC`}),t[3]=r,t[4]=s);let c;t[5]===o?c=t[6]:(c=(0,X.jsx)(`p`,{className:`max-w-sm text-sm text-foreground`,children:o}),t[5]=o,t[6]=c);let l;t[7]===r?l=t[8]:(l=r({id:`HpK_8d`}),t[7]=r,t[8]=l);let u;t[9]===l?u=t[10]:(u=(0,X.jsx)(m,{onClick:$,children:l}),t[9]=l,t[10]=u);let d;return t[11]!==s||t[12]!==c||t[13]!==u?(d=(0,X.jsxs)(`section`,{"aria-label":s,className:`flex h-full w-full flex-col items-center justify-center gap-3 bg-background p-6 text-center`,role:`alert`,children:[c,u]}),t[11]=s,t[12]=c,t[13]=u,t[14]=d):d=t[14],d}function $(){return window.location.reload()}function kt(e){let t=(0,J.c)(20),{onEnable:n}=e,{_:r}=a(),i;t[0]===r?i=t[1]:(i=r({id:`_XWY2J`}),t[0]=r,t[1]=i);let o;t[2]===r?o=t[3]:(o=r({id:`oYepHb`}),t[2]=r,t[3]=o);let s;t[4]===o?s=t[5]:(s=(0,X.jsx)(`p`,{className:`max-w-sm text-sm text-foreground`,children:o}),t[4]=o,t[5]=s);let c;t[6]===r?c=t[7]:(c=r({id:`v2ZW0K`}),t[6]=r,t[7]=c);let l;t[8]!==n||t[9]!==c?(l=(0,X.jsx)(m,{onClick:n,children:c}),t[8]=n,t[9]=c,t[10]=l):l=t[10];let u;t[11]===r?u=t[12]:(u=r({id:`ICoNYz`}),t[11]=r,t[12]=u);let d;t[13]===u?d=t[14]:(d=(0,X.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:u}),t[13]=u,t[14]=d);let f;return t[15]!==i||t[16]!==s||t[17]!==l||t[18]!==d?(f=(0,X.jsxs)(`section`,{"aria-label":i,className:`flex h-full w-full flex-col items-center justify-center gap-3 bg-background p-6 text-center`,children:[s,l,d]}),t[15]=i,t[16]=s,t[17]=l,t[18]=d,t[19]=f):f=t[19],f}function At(e){let t=(0,J.c)(67),{selected:n,onLaunchSelected:r,showAgents:s,registeredAgents:c,onPickAgent:u,onOpenSettings:f,liveThreadCount:ee,showClis:g,onPickCli:_,onPickTerminal:v,visibleClis:re,className:ie}=e,ae=re===void 0?E:re,{_:y}=a(),[b,x]=(0,Y.useState)(!1),C;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(C=[`acp-catalog`],t[0]=C):C=t[0];let T=b&&s,N;t[1]===T?N=t[2]:(N={queryKey:C,queryFn:jt,enabled:T,staleTime:3e5},t[1]=T,t[2]=N);let P=ee>=(o(N).data?.maxThreads??8),le=s||g,ue;t[3]!==y||t[4]!==n.agent||t[5]!==n.cli||t[6]!==n.kind?(ue=n.kind===`terminal`?y({id:`AB4qw9`}):n.kind===`cli`?y({id:`nP-KFo`,values:{0:ce[n.cli].displayName}}):n.agent===null?y({id:`G7bn_N`}):y({id:`nP-KFo`,values:{0:n.agent.name}}),t[3]=y,t[4]=n.agent,t[5]=n.cli,t[6]=n.kind,t[7]=ue):ue=t[7];let F=ue,de;t[8]===ie?de=t[9]:(de=p(`flex shrink-0 items-center`,ie),t[8]=ie,t[9]=de);let pe=le&&`rounded-r-none`,me;t[10]===pe?me=t[11]:(me=p(`cursor-pointer gap-0.5 px-1.5 text-muted-foreground hover:text-foreground`,pe),t[10]=pe,t[11]=me);let he;t[12]===n?he=t[13]:(he=n.kind===`terminal`?null:(0,X.jsx)(Mt,{selected:n,className:`size-3.5`}),t[12]=n,t[13]=he);let ge;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(ge=(0,X.jsx)(l,{"aria-hidden":`true`,className:`size-3`}),t[14]=ge):ge=t[14];let _e;t[15]!==r||t[16]!==F||t[17]!==me||t[18]!==he?(_e=(0,X.jsx)(te,{asChild:!0,children:(0,X.jsxs)(m,{type:`button`,variant:`ghost`,size:`xs`,"aria-label":F,"data-testid":`terminal-new-chat`,className:me,onClick:r,children:[he,ge]})}),t[15]=r,t[16]=F,t[17]=me,t[18]=he,t[19]=_e):_e=t[19];let ve;t[20]===F?ve=t[21]:(ve=(0,X.jsx)(ne,{side:`bottom`,sideOffset:8,children:F}),t[20]=F,t[21]=ve);let ye;t[22]!==_e||t[23]!==ve?(ye=(0,X.jsxs)(h,{children:[_e,ve]}),t[22]=_e,t[23]=ve,t[24]=ye):ye=t[24];let I;t[25]!==y||t[26]!==le?(I=le?(0,X.jsx)(k,{asChild:!0,children:(0,X.jsx)(m,{type:`button`,variant:`ghost`,size:`icon-xs`,"aria-label":y({id:`l87Deg`}),"data-testid":`terminal-new-chat-menu`,className:`cursor-pointer rounded-l-none text-muted-foreground hover:text-foreground`,children:(0,X.jsx)(U,{"aria-hidden":`true`,className:`size-3`})})}):null,t[25]=y,t[26]=le,t[27]=I):I=t[27];let L;t[28]!==y||t[29]!==P||t[30]!==u||t[31]!==c||t[32]!==n.agent?.id||t[33]!==n.agent?.source||t[34]!==n.kind||t[35]!==s?(L=s&&c.length>0?(0,X.jsxs)(O,{"aria-label":y({id:`vPKX2i`}),children:[(0,X.jsxs)(A,{className:`flex items-center gap-1.5`,children:[(0,X.jsx)(i,{id:`RXEbZy`}),(0,X.jsx)(S,{})]}),c.map(e=>{let t=n.kind===`agent`&&n.agent?.source===e.source&&n.agent?.id===e.id;return(0,X.jsxs)(D,{onSelect:()=>u(e),disabled:P,"data-testid":`terminal-new-chat-agent-${e.id}`,"aria-current":t?`true`:void 0,children:[(0,X.jsx)(H,{agentId:e.id,iconUrl:e.iconUrl,className:`size-4`}),(0,X.jsx)(`span`,{className:`flex-1 truncate`,children:e.name}),t?(0,X.jsx)(Ae,{"aria-hidden":`true`,className:`size-4 text-muted-foreground`}):null]},`${e.source}:${e.id}`)}),P?(0,X.jsx)(A,{className:`py-1 font-normal text-muted-foreground text-xs`,"data-testid":`terminal-new-chat-cap`,children:(0,X.jsx)(i,{id:`0QVrvp`})}):null]}):null,t[28]=y,t[29]=P,t[30]=u,t[31]=c,t[32]=n.agent?.id,t[33]=n.agent?.source,t[34]=n.kind,t[35]=s,t[36]=L):L=t[36];let R;t[37]!==c||t[38]!==s||t[39]!==g?(R=s&&c.length>0&&g?(0,X.jsx)(M,{}):null,t[37]=c,t[38]=s,t[39]=g,t[40]=R):R=t[40];let be;t[41]!==y||t[42]!==_||t[43]!==v||t[44]!==n.cli||t[45]!==n.kind||t[46]!==g||t[47]!==ae?(be=g?(0,X.jsxs)(O,{"aria-label":y({id:`ALhMYW`}),children:[(0,X.jsx)(A,{children:(0,X.jsx)(i,{id:`ALhMYW`})}),ae.map(e=>{let{displayName:t}=ce[e],r=n.kind===`cli`&&n.cli===e;return(0,X.jsxs)(D,{onSelect:()=>_(e),"data-testid":`terminal-new-chat-cli-${e}`,"aria-label":y({id:`9mEZeD`,values:{name:t}}),"aria-current":r?`true`:void 0,children:[(0,X.jsx)(w,{id:oe(e),className:`size-4`,"aria-hidden":`true`}),(0,X.jsx)(`span`,{className:`flex-1`,children:t}),r?(0,X.jsx)(Ae,{"aria-hidden":`true`,className:`size-4 text-muted-foreground`}):null]},e)}),(0,X.jsxs)(D,{onSelect:v,"data-testid":`terminal-new-chat-terminal`,"aria-current":n.kind===`terminal`?`true`:void 0,children:[(0,X.jsx)(fe,{"aria-hidden":`true`,className:`size-4`}),(0,X.jsx)(`span`,{className:`flex-1`,children:(0,X.jsx)(i,{id:`ALhMYW`})}),n.kind===`terminal`?(0,X.jsx)(Ae,{"aria-hidden":`true`,className:`size-4 text-muted-foreground`}):null]})]}):null,t[41]=y,t[42]=_,t[43]=v,t[44]=n.cli,t[45]=n.kind,t[46]=g,t[47]=ae,t[48]=be):be=t[48];let xe;t[49]!==f||t[50]!==c||t[51]!==s||t[52]!==g?(xe=s?(0,X.jsxs)(X.Fragment,{children:[c.length>0||g?(0,X.jsx)(M,{}):null,(0,X.jsxs)(D,{onSelect:f,"data-testid":`terminal-new-chat-settings`,children:[(0,X.jsx)(d,{"aria-hidden":`true`,className:`size-4 text-muted-foreground`}),(0,X.jsx)(`span`,{className:`flex-1`,children:(0,X.jsx)(i,{id:`jRAGrQ`})})]})]}):null,t[49]=f,t[50]=c,t[51]=s,t[52]=g,t[53]=xe):xe=t[53];let z;t[54]!==L||t[55]!==R||t[56]!==be||t[57]!==xe?(z=(0,X.jsxs)(j,{align:`start`,className:`max-h-80 min-w-[200px]`,children:[L,R,be,xe]}),t[54]=L,t[55]=R,t[56]=be,t[57]=xe,t[58]=z):z=t[58];let Se;t[59]!==b||t[60]!==I||t[61]!==z?(Se=(0,X.jsxs)(se,{open:b,onOpenChange:x,children:[I,z]}),t[59]=b,t[60]=I,t[61]=z,t[62]=Se):Se=t[62];let Ce;return t[63]!==ye||t[64]!==Se||t[65]!==de?(Ce=(0,X.jsxs)(`div`,{className:de,children:[ye,Se]}),t[63]=ye,t[64]=Se,t[65]=de,t[66]=Ce):Ce=t[66],Ce}function jt(e){let{signal:t}=e;return N(t)}function Mt(e){let t=(0,J.c)(13),{selected:n,className:r}=e;if(n.kind===`terminal`){let e;return t[0]===r?e=t[1]:(e=(0,X.jsx)(fe,{"aria-hidden":`true`,className:r}),t[0]=r,t[1]=e),e}if(n.kind===`cli`){let e;t[2]===n.cli?e=t[3]:(e=oe(n.cli),t[2]=n.cli,t[3]=e);let i;return t[4]!==r||t[5]!==e?(i=(0,X.jsx)(w,{id:e,className:r,"aria-hidden":`true`}),t[4]=r,t[5]=e,t[6]=i):i=t[6],i}if(n.agent!==null){let e;return t[7]!==r||t[8]!==n.agent.iconUrl||t[9]!==n.agent.id?(e=(0,X.jsx)(H,{agentId:n.agent.id,iconUrl:n.agent.iconUrl,className:r}),t[7]=r,t[8]=n.agent.iconUrl,t[9]=n.agent.id,t[10]=e):e=t[10],e}let i;return t[11]===r?i=t[12]:(i=(0,X.jsx)(V,{"aria-hidden":`true`,className:r}),t[11]=r,t[12]=i),i}var Nt=`[data-terminal-tab-sortable]`;function Pt(e){let t=(0,J.c)(11),{id:n,disabled:r,children:i}=e,a;t[0]!==r||t[1]!==n?(a={id:n,disabled:r},t[0]=r,t[1]=n,t[2]=a):a=t[2];let{setNodeRef:o,listeners:s,rect:c,transform:l,transition:u,isDragging:d}=Ie(a),f;return t[3]!==i||t[4]!==d||t[5]!==s||t[6]!==c.current?.width||t[7]!==o||t[8]!==l||t[9]!==u?(f=i({setNodeRef:o,listeners:s,style:R({activeWidth:c.current?.width,isDragging:d,transform:l,transition:u})}),t[3]=i,t[4]=d,t[5]=s,t[6]=c.current?.width,t[7]=o,t[8]=l,t[9]=u,t[10]=f):f=t[10],f}function Ft(e){let t=(0,J.c)(11),{children:n,onMoveRight:r}=e,a=(0,Y.useRef)(null);if(r==null)return n;let o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=e=>{if(!we(e))return;e.preventDefault(),a.current=document.activeElement instanceof HTMLElement?document.activeElement:null;let t=e.currentTarget.getBoundingClientRect();e.currentTarget.dispatchEvent(new MouseEvent(`contextmenu`,{bubbles:!0,cancelable:!0,clientX:t.left,clientY:t.bottom}))},t[0]=o):o=t[0];let s;t[1]===n?s=t[2]:(s=(0,X.jsx)(x,{asChild:!0,onKeyDown:o,children:n}),t[1]=n,t[2]=s);let c;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=e=>{a.current!=null&&(e.preventDefault(),a.current.focus(),a.current=null)},t[3]=c):c=t[3];let l,u;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,X.jsx)(pe,{"aria-hidden":`true`}),u=(0,X.jsx)(i,{id:`jcEoUi`}),t[4]=l,t[5]=u):(l=t[4],u=t[5]);let d;t[6]===r?d=t[7]:(d=(0,X.jsx)(T,{onCloseAutoFocus:c,children:(0,X.jsx)(b,{children:(0,X.jsxs)(C,{onSelect:r,children:[l,u]})})}),t[6]=r,t[7]=d);let f;return t[8]!==s||t[9]!==d?(f=(0,X.jsxs)(y,{children:[s,d]}),t[8]=s,t[9]=d,t[10]=f):f=t[10],f}function It(e){let t=(0,J.c)(111),{sessions:n,sessionKind:r,activeSessionId:o,onSelect:s,onTabActivate:c,newButton:l,trailingControls:u,onClose:d,onRename:f,onReorder:ee,onDragActiveChange:g,edge:_,onPlacementChange:v,reserveRightRevealTabGutter:re,onCollapse:ie,children:ae,className:y,draggable:b}=e,{_:x}=a(),S=_===`right`,C=S?`bottom`:`right`,oe;t[0]!==x||t[1]!==S?(oe=x(S?{id:`Tofsyo`}:{id:`PrWQiT`}),t[0]=x,t[1]=S,t[2]=oe):oe=t[2];let w=oe,T;t[3]!==_||t[4]!==v||t[5]!==r?(T=r===`terminal`&&_===`bottom`&&v!=null?()=>v(`right`):void 0,t[3]=_,t[4]=v,t[5]=r,t[6]=T):T=t[6];let E=T,[D,O]=(0,Y.useState)(null),[k,A]=(0,Y.useState)(``),[j,se]=(0,Y.useState)(null),M=(0,Y.useRef)(null),N=(0,Y.useRef)(!1),ce=f!=null,P,le;t[7]===D?(P=t[8],le=t[9]):(P=()=>{D!=null&&(M.current?.focus(),M.current?.select())},le=[D],t[7]=D,t[8]=P,t[9]=le),(0,Y.useEffect)(P,le);let ue,F;t[10]!==D||t[11]!==n?(ue=()=>{D!=null&&!n.some(e=>e.id===D)&&(N.current=!1,O(null),A(``))},F=[n,D],t[10]=D,t[11]=n,t[12]=ue,t[13]=F):(ue=t[12],F=t[13]),(0,Y.useEffect)(ue,F);let de=function(e){ce&&(N.current=!1,O(e.id),A(e.label))},fe;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(fe=function(e){let t=typeof CSS<`u`&&CSS.escape?CSS.escape(e):e;queueMicrotask(()=>{document.querySelector(`[role="tab"][data-tab-id="${t}"]`)?.focus()})},t[14]=fe):fe=t[14];let me=fe,he=function(e){N.current||f?.(e,k.trim()),N.current=!1,O(null),A(``),me(e)},ge=(0,Y.useRef)(null),_e=(0,Y.useRef)(null),[ve,ye]=(0,Y.useState)(null),R;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(R={activationConstraint:{distance:8}},t[15]=R):R=t[15];let be=Re(ze(Le,R)),xe=ee!=null,z;t[16]===ve?z=t[17]:(z=Se(ve),t[16]=ve,t[17]=z);let Ce;t[18]===z?Ce=t[19]:(Ce=[z],t[18]=z,t[19]=Ce);let we=Ce,Te;t[20]!==o||t[21]!==n?(Te=o===``?null:`${o}\u0000${n.map(zt).join(`\0`)}`,t[20]=o,t[21]=n,t[22]=Te):Te=t[22];let De=Te,Oe,B;t[23]===De?(Oe=t[24],B=t[25]):(Oe=()=>{if(De===null)return;let[e]=De.split(`\0`,1),t=typeof CSS<`u`&&CSS.escape?CSS.escape(e):e;_e.current?.querySelector(`[data-tab-id="${t}"]`)?.scrollIntoView({block:`nearest`,inline:`nearest`})},B=[De],t[23]=De,t[24]=Oe,t[25]=B),(0,Y.useEffect)(Oe,B);let ke;t[26]===g?ke=t[27]:(ke=function(){ye(I(ge.current,Nt)),g?.(!0)},t[26]=g,t[27]=ke);let V=ke,H;t[28]!==g||t[29]!==ee||t[30]!==n?(H=function(e){ye(null),g?.(!1);let t=String(e.active.id),r=e.over?String(e.over.id):null;if(!r||t===r)return;let i=n.map(Rt),a=i.indexOf(t),o=i.indexOf(r);a<0||o<0||a===o||ee?.(Be(i,a,o))},t[28]=g,t[29]=ee,t[30]=n,t[31]=H):H=t[31];let Ae=H,Me;t[32]===g?Me=t[33]:(Me=function(){ye(null),g?.(!1)},t[32]=g,t[33]=Me);let Ne=Me,W=Je,G;t[34]===y?G=t[35]:(G=p(`flex min-h-0 min-w-0 flex-1 flex-col`,y),t[34]=y,t[35]=G);let Fe=Ft,Ie=b?``:void 0,Ke=S&&re&&`pr-9`,Ye=b&&`h-[62px] [-webkit-app-region:drag] pr-[22px] pl-[calc(var(--ok-titlebar-reserve-left,1rem)+0.75rem)]`,Xe;t[36]!==Ke||t[37]!==Ye?(Xe=p(`flex shrink-0 flex-row items-center gap-1 px-1.5 py-1`,Ke,Ye),t[36]=Ke,t[37]=Ye,t[38]=Xe):Xe=t[38];let Ze=He,Qe=Ee,$e;t[39]===Symbol.for(`react.memo_cache_sentinel`)?($e={container:typeof document<`u`?document.body:void 0},t[39]=$e):$e=t[39];let et=Ue,q;t[40]===n?q=t[41]:(q=n.map(Lt),t[40]=n,t[41]=q);let tt=Ve,rt=L,it=b&&`[-webkit-app-region:no-drag]`,at;t[42]===it?at=t[43]:(at=p(`grid h-auto w-fit max-w-full min-w-0 grid-flow-col items-center justify-start gap-0.5 overflow-x-auto overflow-y-hidden [grid-auto-columns:max-content] [scrollbar-width:none] scroll-fade-mask-x`,it),t[42]=it,t[43]=at);let Z;t[44]!==x||t[45]!==r?(Z=x(r===`agent`?{id:`GjsGAu`}:{id:`1MGRQl`}),t[44]=x,t[45]=r,t[46]=Z):Z=t[46];let ot=n.map((e,t)=>{let n=e.id===o,r=D===e.id;return(0,X.jsx)(Pt,{id:e.id,disabled:!xe||D!=null,children:i=>{let{setNodeRef:a,listeners:o,style:s}=i;return(0,X.jsxs)(h,{children:[(0,X.jsx)(te,{asChild:!0,children:(0,X.jsxs)(Ge,{ref:a,value:e.id,"data-terminal-tab-sortable":``,"data-tab-id":e.id,style:{...s,gridColumn:t+1,gridRow:1},...o,onMouseEnter:()=>se(e.id),onMouseLeave:()=>se(null),onClick:t=>{t.detail>=2||c?.(e.id)},onDoubleClick:()=>de(e),onKeyDown:t=>{t.key===`F2`&&(t.preventDefault(),de(e))},className:p(`h-7 flex-none gap-1.5 rounded-md py-0 pr-7 pl-2 text-xs transition-colors motion-reduce:transition-none`,n?`bg-muted`:`hover:bg-muted/50`,r&&`w-40 opacity-0`,b&&`[-webkit-app-region:no-drag]`),children:[e.icon,(0,X.jsx)(`span`,{className:`max-w-40 truncate`,children:e.label})]})}),(0,X.jsx)(ne,{side:`bottom`,sideOffset:8,children:e.label})]})}},e.id)}),st;t[47]!==Z||t[48]!==ot?(st=(0,X.jsx)(qe,{ref:_e,variant:`line`,"aria-label":Z,className:`contents`,children:ot}),t[47]=Z,t[48]=ot,t[49]=st):st=t[49];let ct=n.map((e,t)=>{let n=e.id===o;return D===e.id?(0,X.jsx)(K,{style:{gridColumn:t+1,gridRow:1},className:p(`z-20 h-7 w-40 rounded-md border-0 bg-transparent dark:bg-transparent`,b&&`[-webkit-app-region:no-drag]`),children:(0,X.jsx)(We,{ref:M,value:k,"aria-label":x({id:`0TnCvC`,values:{0:e.label}}),"data-testid":`terminal-tab-rename-input`,className:`h-7 px-2 text-xs`,onChange:e=>A(e.target.value),onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),M.current?.blur()):e.key===`Escape`&&(e.preventDefault(),N.current=!0,M.current?.blur())},onBlur:()=>he(e.id)})},e.id):(0,X.jsx)(m,{type:`button`,variant:`ghost`,size:`icon-xs`,"aria-label":x({id:`nzHlj8`,values:{0:e.label}}),tabIndex:n?0:-1,style:{gridColumn:t+1,gridRow:1},className:p(`z-20 mr-0.5 justify-self-end text-muted-foreground opacity-0 transition-opacity hover:text-foreground hover:opacity-100 focus-visible:opacity-100`,(n||j===e.id)&&`opacity-100`,ve!=null&&`pointer-events-none opacity-0`,b&&`[-webkit-app-region:no-drag]`),onMouseEnter:()=>se(e.id),onMouseLeave:()=>se(null),onClick:t=>{t.stopPropagation(),d(e.id)},children:(0,X.jsx)(Pe,{"aria-hidden":`true`})},e.id)}),Q;t[50]===ct?Q=t[51]:(Q=(0,X.jsx)(`div`,{className:`contents`,children:ct}),t[50]=ct,t[51]=Q);let lt;t[52]!==rt||t[53]!==at||t[54]!==st||t[55]!==Q?(lt=(0,X.jsxs)(`div`,{onWheel:rt,className:at,children:[st,Q]}),t[52]=rt,t[53]=at,t[54]=st,t[55]=Q,t[56]=lt):lt=t[56];let ut;t[57]!==et||t[58]!==q||t[59]!==tt||t[60]!==lt?(ut=(0,X.jsx)(et,{items:q,strategy:tt,children:lt}),t[57]=et,t[58]=q,t[59]=tt,t[60]=lt,t[61]=ut):ut=t[61];let dt;t[62]!==Ze||t[63]!==Ne||t[64]!==Ae||t[65]!==V||t[66]!==we||t[67]!==be||t[68]!==!1||t[69]!==Qe||t[70]!==$e||t[71]!==ut?(dt=(0,X.jsx)(Ze,{sensors:be,autoScroll:!1,collisionDetection:Qe,modifiers:we,onDragStart:V,onDragEnd:Ae,onDragCancel:Ne,accessibility:$e,children:ut}),t[62]=Ze,t[63]=Ne,t[64]=Ae,t[65]=V,t[66]=we,t[67]=be,t[68]=!1,t[69]=Qe,t[70]=$e,t[71]=ut,t[72]=dt):dt=t[72];let ft;t[73]!==b||t[74]!==l?(ft=l==null?null:(0,X.jsx)(`div`,{className:p(`shrink-0`,b&&`[-webkit-app-region:no-drag]`),children:l}),t[73]=b,t[74]=l,t[75]=ft):ft=t[75];let pt;t[76]===Symbol.for(`react.memo_cache_sentinel`)?(pt=(0,X.jsx)(`div`,{className:`flex-1`}),t[76]=pt):pt=t[76];let mt;t[77]!==b||t[78]!==u?(mt=u==null?null:(0,X.jsx)(`div`,{className:p(`shrink-0`,b&&`[-webkit-app-region:no-drag]`),children:u}),t[77]=b,t[78]=u,t[79]=mt):mt=t[79];let ht;t[80]!==_||t[81]!==v||t[82]!==w||t[83]!==C||t[84]!==S||t[85]!==r?(ht=r===`terminal`&&_!=null&&v!=null?(0,X.jsxs)(h,{children:[(0,X.jsx)(te,{asChild:!0,children:(0,X.jsx)(m,{type:`button`,variant:`ghost`,size:`icon-xs`,"aria-label":w,className:`shrink-0 cursor-pointer text-muted-foreground hover:text-foreground`,onClick:()=>v(C),children:S?(0,X.jsx)(nt,{"aria-hidden":`true`}):(0,X.jsx)(pe,{"aria-hidden":`true`})})}),(0,X.jsx)(ne,{side:`bottom`,sideOffset:8,children:w})]}):null,t[80]=_,t[81]=v,t[82]=w,t[83]=C,t[84]=S,t[85]=r,t[86]=ht):ht=t[86];let gt;t[87]!==x||t[88]!==ie||t[89]!==S||t[90]!==r?(gt=ie==null?null:(0,X.jsxs)(h,{children:[(0,X.jsx)(te,{asChild:!0,children:(0,X.jsx)(m,{type:`button`,variant:`ghost`,size:`icon-xs`,"aria-label":x(r===`terminal`?{id:`MU_NVW`}:{id:`g5V4_P`}),className:`shrink-0 cursor-pointer text-muted-foreground hover:text-foreground`,onClick:ie,children:S?(0,X.jsx)(je,{"aria-hidden":`true`}):(0,X.jsx)(U,{"aria-hidden":`true`})})}),(0,X.jsx)(ne,{side:`bottom`,sideOffset:8,children:r===`terminal`?(0,X.jsx)(i,{id:`MU_NVW`}):(0,X.jsx)(i,{id:`g5V4_P`})})]}),t[87]=x,t[88]=ie,t[89]=S,t[90]=r,t[91]=gt):gt=t[91];let _t;t[92]!==Ie||t[93]!==Xe||t[94]!==dt||t[95]!==ft||t[96]!==mt||t[97]!==ht||t[98]!==gt?(_t=(0,X.jsxs)(`div`,{ref:ge,"data-terminal-tab-row":``,"data-electron-drag":Ie,className:Xe,children:[dt,ft,pt,mt,ht,gt]}),t[92]=Ie,t[93]=Xe,t[94]=dt,t[95]=ft,t[96]=mt,t[97]=ht,t[98]=gt,t[99]=_t):_t=t[99];let vt;t[100]!==Fe||t[101]!==E||t[102]!==_t?(vt=(0,X.jsx)(Fe,{onMoveRight:E,children:_t}),t[100]=Fe,t[101]=E,t[102]=_t,t[103]=vt):vt=t[103];let yt;return t[104]!==W||t[105]!==o||t[106]!==ae||t[107]!==s||t[108]!==G||t[109]!==vt?(yt=(0,X.jsxs)(W,{value:o,onValueChange:s,className:G,children:[vt,ae]}),t[104]=W,t[105]=o,t[106]=ae,t[107]=s,t[108]=G,t[109]=vt,t[110]=yt):yt=t[110],yt}function Lt(e){return e.id}function Rt(e){return e.id}function zt(e){return e.id}var Bt=(0,Y.lazy)(()=>t(()=>import(`./ThreadView-D4orJWbz.js`).then(e=>({default:e.ThreadView})),__vite__mapDeps([36,1,3,2,4,5,6,7,8,9,10,37,11,12,13,38,39,15,23,40,41,42,43,44,45,46,47,48,20,49,17,18,16,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,21,22,65,33,34,66,67,68,69,70,71,72,73,74,75,76,77,78,79,27,26,28,29,30,80,81,82,14,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,19,25,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124]),import.meta.url));function Vt(e){return`terminal-session-${e}`}function Ht(e){return typeof CSS<`u`&&CSS.escape?CSS.escape(e):e}function Ut(e){e!==``&&document.querySelector(`[data-terminal-session="${Ht(e)}"] .xterm-helper-textarea`)?.focus()}function Wt(e){e!==``&&document.querySelector(`[data-session-id="${Ht(e)}"] [data-testid="agent-thread-composer"]`)?.focus()}function Gt(e){e.kind===`terminal`?Ut(e.id):Wt(e.id)}function Kt(e){return e?.contains(document.activeElement)??!1}function qt(e,t){return t||Kt(e)}function Jt(e){switch(e){case`running`:return`bg-amber-500 animate-pulse`;case`installing`:case`spawning`:case`authenticating`:return`bg-sky-500 animate-pulse`;case`auth_required`:case`awaiting_permission`:return`bg-amber-500`;case`ready`:return`bg-emerald-500`;case`error`:return`bg-red-500`;default:return`bg-muted-foreground`}}function Yt(){return(0,X.jsx)(fe,{className:`size-3.5 shrink-0 text-muted-foreground`,"aria-hidden":`true`})}function Xt(e){return(0,X.jsxs)(`span`,{className:`relative inline-flex shrink-0`,children:[(0,X.jsx)(H,{agentId:e?.agent.id??``,iconUrl:e?.agent.iconUrl,className:`size-3.5`}),e==null?null:(0,X.jsx)(`span`,{className:p(`-right-0.5 -bottom-0.5 absolute size-1.5 rounded-full ring-1 ring-background`,Jt(e.status)),"aria-hidden":`true`})]})}var Zt={cli:!0,terminal:!0,desktop:!0};function Qt(e){let t=(0,J.c)(132),{bridge:n,terminalCapable:r,surface:i,terminalPlacement:o,onTerminalPlacementChange:s,reserveRightRevealTabGutter:c,terminalRestoreRevealNonce:l,visible:d,onVisibleChange:f,launch:m,commandLaunch:te,threadLaunch:ne,installedClis:h,container:y,isShowing:b,onRequestEditorFocus:x}=e,S=r===void 0?!1:r,C=o===void 0?`bottom`:o,oe=l===void 0?0:l,w=m===void 0?null:m,T=te===void 0?null:te,E=ne===void 0?null:ne,{_:D}=a(),O=i===`terminal-window`,k=i===`agents-panel`,A=!k,j=A&&S&&n?.terminal!=null,se=k?`right`:C,M=k?`agents`:`terminal`,N=!O,P=n?.platform===`darwin`?`mac`:n?.platform===`linux`||n?.platform===`win32`?`windowsLinux`:void 0,[F]=(0,Y.useState)(xn),fe,pe;t[0]!==y||t[1]!==F?(fe=()=>{F==null||y==null||F.parentElement!==y&&y.appendChild(F)},pe=[F,y],t[0]=y,t[1]=F,t[2]=fe,t[3]=pe):(fe=t[2],pe=t[3]),(0,Y.useLayoutEffect)(fe,pe);let I=A&&typeof n?.terminal?.list==`function`,L=!I&&j&&d,R;t[4]!==n?.terminal?.getDockState||t[5]!==I||t[6]!==L||t[7]!==M||t[8]!==N?(R=()=>I||!N||L||typeof n?.terminal?.getDockState==`function`?null:ut(M),t[4]=n?.terminal?.getDockState,t[5]=I,t[6]=L,t[7]=M,t[8]=N,t[9]=R):R=t[9];let[Se]=(0,Y.useState)(R),we;t[10]===Se?.order?we=t[11]:(we=Se?.order??[],t[10]=Se?.order,t[11]=we);let Ee=(0,Y.useRef)(we),B=(0,Y.useRef)(Se?.activeKey??null),ke;t[12]!==L||t[13]!==w?(ke=()=>L?[{kind:`terminal`,id:Vt(1),launch:w,commandId:null,title:null,customLabel:null,ordinal:1,adoptPtyId:null}]:[],t[12]=L,t[13]=w,t[14]=ke):ke=t[14];let[V,H]=(0,Y.useState)(ke),Ae;t[15]===L?Ae=t[16]:(Ae=()=>L?Vt(1):``,t[15]=L,t[16]=Ae);let[U,je]=(0,Y.useState)(Ae),[Me,Ne]=(0,Y.useState)(!I),Pe=(0,Y.useRef)(!1),W=(0,Y.useRef)(U),G=(0,Y.useRef)(V),Fe=(0,Y.useRef)(+!!L),Ie=(0,Y.useRef)(L&&w?w.nonce:null),Le=(0,Y.useRef)(null),Re=(0,Y.useRef)(null),ze=(0,Y.useRef)(!1),Be=(0,Y.useRef)(null),Ve=(0,Y.useRef)(O?!1:d),He=(0,Y.useRef)(oe),Ue=(0,Y.useRef)(new Map),We=(0,Y.useRef)(0),K=Xe(),Ge=Ye(),qe=Ze(),Je=qe===`connecting`||qe===`closed`,$e=re(),q=_(),tt;t[17]===q?tt=t[18]:(tt=e=>ae(q,e.source,e.id,!0,e.supported),t[17]=q,t[18]=tt);let nt=$e.filter(tt),Z=ie(nt,v()),ot;t[19]===K?ot=t[20]:(ot=K.filter(bn),t[19]=K,t[20]=ot);let Q=ot.length,lt=new Map(K.map(yn)),dt=new Set(lt.keys()),ht;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(ht=function(e){Qe().openArchivedThread(e)},t[21]=ht):ht=t[21];let gt=ht,vt=function(){if(!N||I&&!Me)return;let e=Ue.current,t=G.current.map(t=>Tn(t,e)).filter(vn),r=G.current.find(e=>e.id===W.current);mt(n,M,{order:t,activeKey:r==null?null:Tn(r,e)},En(G.current,W.current))},yt=function(e,t){if(t===null){Ue.current.delete(e),Qt(G.current,W.current);return}Ue.current.set(e,t),Qt(G.current,W.current);let r=G.current.find(t=>t.id===e);r!=null&&r.kind===`terminal`&&n?.terminal?.setMeta?.(t,{ordinal:r.ordinal,customLabel:r.customLabel}),vt()},bt=function(e,t){let n=t===void 0?null:t;B.current=null,Fe.current+=1;let r=Vt(Fe.current);H(t=>[...t,{kind:`terminal`,id:r,launch:e,commandId:n,title:null,customLabel:null,ordinal:Fe.current,adoptPtyId:null}]),je(r)},xt=he(),Ct=St(),wt;t[22]===h?wt=t[23]:(wt=h??{},t[22]=h,t[23]=wt);let Et;t[24]===h?Et=t[25]:(Et=h??{},t[24]=h,t[25]=Et);let Dt=ve({sticky:xt,effectiveThreadAgent:Z,enabledClis:Te(q,wt),enabledDesktopTargets:[],installedClis:Et,terminalAvailable:j,threadsAvailable:k,desktopSelectable:!1,preferBareTerminal:Ct,bareTerminalFallback:!0}),Ot=_e(xt),$=Dt.kind===`thread`?{kind:`agent`,agent:Dt.agent}:Dt.kind===`cli`?Dt.cli===Ot?{kind:`cli`,cli:Dt.cli}:{kind:`terminal`}:Dt.kind===`terminal`?{kind:`terminal`}:{kind:`agent`,agent:null},kt=function(e){We.current+=1,bt({prompt:null,cli:e,nonce:We.current})},jt=function(){$.kind===`terminal`?bt(null):$.kind===`cli`?kt($.cli):$.kind===`agent`&&$.agent!=null?st({source:$.agent.source,id:$.agent.id},null,null,null):le()},Mt=function(){return k?$.kind!==`agent`||$.agent==null?!1:(st({source:$.agent.source,id:$.agent.id},null,null,null),!0):($.kind===`terminal`?bt(null):$.kind===`cli`&&kt($.cli),!0)},Nt;t[26]===h?Nt=t[27]:(Nt=h??{},t[26]=h,t[27]=Nt);let Pt;t[28]===h?Pt=t[29]:(Pt=h??{},t[28]=h,t[29]=Pt);let Ft=ve({sticky:xt,effectiveThreadAgent:Z,enabledClis:Te(q,Nt),enabledDesktopTargets:[],installedClis:Pt,terminalAvailable:S,threadsAvailable:!O,desktopSelectable:!1,preferBareTerminal:!1,bareTerminalFallback:!1}),Lt=ve({sticky:xt,effectiveThreadAgent:Z,enabledClis:[],enabledDesktopTargets:[],installedClis:{},terminalAvailable:!1,threadsAvailable:k,desktopSelectable:!1,preferBareTerminal:!1,bareTerminalFallback:!1}),Rt;t[30]===h?Rt=t[31]:(Rt=h??{},t[30]=h,t[31]=Rt);let zt;t[32]===h?zt=t[33]:(zt=h??{},t[32]=h,t[33]=zt);let Bt=ve({sticky:xt,effectiveThreadAgent:Z,enabledClis:Te(q,Rt),enabledDesktopTargets:[],installedClis:zt,terminalAvailable:S,threadsAvailable:!O,desktopSelectable:!1,preferBareTerminal:Ct,bareTerminalFallback:!0}),Ht;t[34]!==k||t[35]!==O?(Ht=function(e){return O?!0:k?e===`thread`||e===`none`:e in Zt},t[34]=k,t[35]=O,t[36]=Ht):Ht=t[36];let Jt=Ht;function Qt(e,t){let r=e.find(e=>e.id===t);if(r==null){me(M,null);return}if(r.kind===`thread`){let e=lt.get(r.threadId);me(M,{id:r.id,kind:`thread`,label:e?.agent.name??D({id:`bcm0pR`}),agentId:e?.agent.id??``,iconUrl:e?.agent.iconUrl});return}let i=Ue.current.get(r.id),a=r.launch?.cli;if(i==null||n?.terminal==null||a==null){me(M,null);return}me(M,{id:r.id,kind:`terminal`,label:ce[a].displayName,cli:a})}let Cn;t[37]!==U||t[38]!==K||t[39]!==V?(Cn=[U,V,K],t[37]=U,t[38]=K,t[39]=V,t[40]=Cn):Cn=t[40],(0,Y.useEffect)(()=>{Qt(V,U)},Cn);let On;t[41]!==f||t[42]!==d?(On=function(){d||f(!0)},t[41]=f,t[42]=d,t[43]=On):On=t[43];let kn=On,An=function(e){let{text:t,newTab:r,submit:i,target:a}=e,o=a===`agents`?Lt:Ft;if(a===`agents`){if(!k)return}else if(!Jt(o.kind))return;d||f(!0);let s=W.current,c=G.current.find(e=>e.id===s);if(!r&&c!=null){if(c.kind===`thread`){et(c.threadId,t),kn(),queueMicrotask(()=>Gt(c));return}let e=Ue.current.get(c.id),r=n?.terminal;if(e!=null&&r!=null&&c.launch?.cli!=null){r.input(e,t),kn(),queueMicrotask(()=>Ut(s));return}}if(o.kind===`thread`){let e={source:o.agent.source,id:o.agent.id};i?st(e,t,null,null,null):st(e,null,null,null,t)}else o.kind===`cli`?Ce(t,o.cli,{stage:!i}):le()},jn=function(e){_t(!1),z(de(e)),kt(e)},Mn=function(){_t(!0),bt(null)},Nn;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(Nn=function(e){g(e),_t(!1),z(xe(e)),st({source:e.source,id:e.id},null,null,null)},t[44]=Nn):Nn=t[44];let Pn=Nn,Fn;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(Fn=function(e,t){let n=t.trim()===``?null:t.trim();H(t=>t.some(t=>t.id===e&&t.kind===`terminal`&&t.title!==n)?t.map(t=>t.id===e&&t.kind===`terminal`?{...t,title:n}:t):t)},t[45]=Fn):Fn=t[45];let In=Fn,Ln=function(e,t){let r=G.current.find(t=>t.id===e);if(r==null)return;if(r.kind===`thread`){Qe().renameThread(r.threadId,t);return}let i=t.trim()===``?null:t.trim();H(t=>t.some(t=>t.id===e&&t.kind===`terminal`&&t.customLabel!==i)?t.map(t=>t.id===e&&t.kind===`terminal`?{...t,customLabel:i}:t):t);let a=Ue.current.get(e);a!=null&&n?.terminal?.setMeta?.(a,{customLabel:i})},Rn=function(e){return e.kind===`terminal`?e.customLabel??e.title??D({id:`OVjNeX`,values:{0:e.ordinal}}):lt.get(e.threadId)?.title??D({id:`iEQQyu`})},zn=(0,Y.useRef)(!1),Bn=(0,Y.useRef)(null),Vn=(0,Y.useRef)(null),Hn=function(e){H(t=>{if(e.length!==t.length)return t;let n=new Map(t.map(_n)),r=[];for(let i of e){let e=n.get(i);if(e==null)return t;r.push(e)}return r.every((e,n)=>e===t[n])?t:r});let t=e.map(e=>Ue.current.get(e)).filter(gn);t.length>0&&n?.terminal?.setOrder?.(t)},Un=function(e){let t=G.current,n=t.findIndex(e=>e.id===W.current);if(n<0)return null;let r=n+e;if(r<0||r>=t.length)return null;let i=t.map(hn),[a]=i.splice(n,1);return i.splice(r,0,a),Hn(i),{label:Rn(t[n]),position:r+1,total:t.length}},Wn=function(){Jt(Bt.kind)&&(d||f(!0),jt())},Gn=(0,Y.useRef)(Un),Kn=(0,Y.useRef)(bt),qn=(0,Y.useRef)(Mt),Jn=(0,Y.useRef)(An),Yn=(0,Y.useRef)(kn),Xn=(0,Y.useRef)(Wn),Zn=function(e){let t=G.current,n=t.findIndex(t=>t.id===e);if(n===-1)return;let r=t[n],i=t.length===1;if(B.current=null,e===W.current){let e=t[n-1]??t[n+1];je(e?.id??``),e!=null&&queueMicrotask(()=>Gt(e))}r.kind===`thread`?Qe().closeThread(r.threadId):H(t.filter(t=>t.id!==e)),i&&(f(!1),x())},Qn=(0,Y.useRef)(mn);(0,Y.useEffect)(()=>{Kn.current=bt,qn.current=Mt,Jn.current=An,Yn.current=kn,Xn.current=Wn,Gn.current=Un,W.current=U,G.current=V,Qn.current=()=>{let e=G.current.find(e=>e.id===W.current);if(e?.kind===`terminal`){Zn(e.id);return}let t=[...G.current].reverse().find(pn);t!=null&&Zn(t.id)}});let $n;t[46]!==U||t[47]!==n||t[48]!==M||t[49]!==N||t[50]!==Me||t[51]!==V?($n=[V,U,N,M,n,Me],t[46]=U,t[47]=n,t[48]=M,t[49]=N,t[50]=Me,t[51]=V,t[52]=$n):$n=t[52],(0,Y.useEffect)(()=>{if(!N||!Me)return;let e=Ue.current,t=V.map(t=>Tn(t,e)).filter(fn),r=V.find(e=>e.id===U);mt(n,M,{order:t,activeKey:r==null?null:Tn(r,e)},En(V,U))},$n);let er;t[53]!==k||t[54]!==K?(er=[K,k],t[53]=k,t[54]=K,t[55]=er):er=t[55],(0,Y.useEffect)(()=>{if(!k)return;let e=new Set(K.map(dn)),t=G.current,n=new Set(t.filter(un).map(ln)),r=[];for(let e of K)n.has(e.threadId)||(Fe.current+=1,r.push({kind:`thread`,id:e.threadId,threadId:e.threadId,ordinal:Fe.current}));let i=t.some(t=>t.kind===`thread`&&!e.has(t.threadId));r.length===0&&!i||H(t=>{let n=t.filter(t=>t.kind!==`thread`||e.has(t.threadId)),i=new Set(n.filter(cn).map(sn)),a=r.filter(e=>!i.has(e.threadId)),o=Ue.current,s=a.length>0?Dn(n,a,Ee.current,e=>Tn(e,o)):n;return s.length===t.length&&s.every((e,n)=>e===t[n])?t:s})},er);let tr;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(tr=[],t[56]=tr):tr=t[56];let nr=(0,Y.useRef)(tr),rr,ir;t[57]!==k||t[58]!==K?(rr=()=>{if(!k)return;let e=K.map(on),t=nr.current;if(nr.current=e,B.current!=null)return;let n=e.filter(e=>!t.includes(e)),r=n[n.length-1];r!=null&&(je(r),queueMicrotask(()=>Wt(r)))},ir=[K,k],t[57]=k,t[58]=K,t[59]=rr,t[60]=ir):(rr=t[59],ir=t[60]),(0,Y.useEffect)(rr,ir);let ar=(0,Y.useRef)(Q),or,sr;t[61]!==k||t[62]!==Q||t[63]!==f||t[64]!==d?(or=()=>{if(!k)return;let e=ar.current;ar.current=Q,Q>e&&!d&&f(!0)},sr=[Q,d,k,f],t[61]=k,t[62]=Q,t[63]=f,t[64]=d,t[65]=or,t[66]=sr):(or=t[65],sr=t[66]),(0,Y.useEffect)(or,sr);let cr;t[67]!==U||t[68]!==V?(cr=[V,U],t[67]=U,t[68]=V,t[69]=cr):cr=t[69],(0,Y.useEffect)(()=>{let e=B.current;if(e!=null){let t=Ue.current,n=V.find(n=>Tn(n,t)===e);if(n!=null){B.current=null,je(n.id);return}if(V.some(e=>e.id===U))return}if(!(U!==``&&V.some(e=>e.id===U))){if(V.length===0){U!==``&&je(``);return}je(V[V.length-1].id)}},cr),(0,Y.useEffect)(()=>{if(!Me)return;let e=Ve.current;if(Ve.current=d,w!=null&&w.nonce!==Ie.current){Ie.current=w.nonce,Kn.current(w);return}if(T!=null&&T.nonce!==Be.current){Be.current=T.nonce,Kn.current(null,T.id);return}let t=k&&E!=null&&E.nonce!==Le.current,n=A&&oe!==He.current;if(n&&(He.current=oe),d&&!e&&V.length===0&&!t&&!(k&&ct())){if(n)return;ze.current=!qn.current();return}if(ze.current){if(!d||V.length>0||t){ze.current=!1;return}Z!==null&&qn.current()&&(ze.current=!1)}},[d,w,T,E,V.length,Me,k,Z,A,oe]);let lr;t[70]!==Z||t[71]!==k||t[72]!==E?(lr=[E,k,Z],t[70]=Z,t[71]=k,t[72]=E,t[73]=lr):lr=t[73],(0,Y.useEffect)(()=>{if(!k||E==null||E.nonce===Le.current)return;let e=E.agentId===``?null:{source:E.agentSource,id:E.agentId};if(e===null&&Z!==null&&(e={source:Z.source,id:Z.id}),e===null){Re.current!==E.nonce&&(Re.current=E.nonce,le());return}Le.current=E.nonce,st(e,E.prompt,E.docName,E.titleHint)},lr);let ur;t[74]!==n||t[75]!==A||t[76]!==M?(ur=[n,A,M],t[74]=n,t[75]=A,t[76]=M,t[77]=ur):ur=t[77],(0,Y.useEffect)(()=>{if(!A||typeof n?.terminal?.list!=`function`||Pe.current)return;Pe.current=!0;let e=!1;return(async()=>{let{sessionOrder:t,terminalSnapshot:r}=await ft(n,M);!e&&t!=null&&(Ee.current=t.order,B.current=t.activeKey);let i=null;try{i=await n.terminal.list()??[]}catch(e){console.error(`[terminal] reload session list() failed; preserving restart snapshot:`,e)}if(!e){if(i!=null&&i.length>0){let e=Ee.current,t=t=>{let n=e.indexOf(t);return n===-1?1/0:n},n=i.map(an).sort((e,n)=>{let r=t(e.adoptPtyId),i=t(n.adoptPtyId);return r===i?0:r-i});Fe.current=Math.max(n.length,...n.map(rn)),H(n)}else if(i!=null&&r!=null&&r.tabs.length>0){let e=r.tabs.map(nn);Fe.current=Math.max(e.length,...e.map(tn)),B.current=null,H(e);let t=e.find(e=>e.ordinal===r?.activeOrdinal);t!=null&&je(t.id)}Ne(!0),window.setTimeout(()=>{e||(B.current=null)},9e3)}})(),()=>{e=!0,Pe.current=!1}},ur);let dr,fr;t[78]!==n||t[79]!==I||t[80]!==M||t[81]!==N?(dr=()=>{if(I||!N||typeof n?.terminal?.getDockState!=`function`)return;let e=!1;return pt(n,M).then(t=>{e||t==null||(Ee.current=t.order,B.current===null&&(B.current=t.activeKey))}),()=>{e=!0}},fr=[n,I,N,M],t[78]=n,t[79]=I,t[80]=M,t[81]=N,t[82]=dr,t[83]=fr):(dr=t[82],fr=t[83]),(0,Y.useEffect)(dr,fr);let pr,mr;t[84]===I?(pr=t[85],mr=t[86]):(pr=()=>{if(I)return;let e=window.setTimeout(()=>{B.current=null},9e3);return()=>window.clearTimeout(e)},mr=[I],t[84]=I,t[85]=pr,t[86]=mr),(0,Y.useEffect)(pr,mr);let hr;t[87]!==k||t[88]!==j?(hr=[j,k],t[87]=k,t[88]=j,t[89]=hr):hr=t[89],(0,Y.useEffect)(()=>{if(!(!j&&!k))return ye(e=>Jn.current(e))},hr);let gr;t[90]===k?gr=t[91]:(gr=[k],t[90]=k,t[91]=gr),(0,Y.useEffect)(()=>{if(k)return De(e=>{let{threadIds:t}=e,n=W.current,r=G.current.find(e=>e.id===n);r?.kind===`thread`&&(Oe(r.threadId,t),Yn.current(),queueMicrotask(()=>Gt(r)))})},gr);let _r;t[92]===Symbol.for(`react.memo_cache_sentinel`)?(_r=[],t[92]=_r):_r=t[92],(0,Y.useEffect)(()=>be(()=>Xn.current()),_r);let vr;t[93]!==A||t[94]!==O||t[95]!==j?(vr=[O,A,j],t[93]=A,t[94]=O,t[95]=j,t[96]=vr):vr=t[96],(0,Y.useEffect)(()=>{if(A)return u(e=>{e===`new-terminal`?j&&Kn.current(null):(e===`kill-terminal`||e===`close-active-tab-or-window`&&O)&&Qn.current()})},vr);let yr;t[97]!==F||t[98]!==O||t[99]!==P?(yr=[F,O,P],t[97]=F,t[98]=O,t[99]=P,t[100]=yr):yr=t[100],(0,Y.useEffect)(()=>{let e=function(e){if(!ue(e,P)||e.altKey||e.shiftKey||!/^[1-9]$/.test(e.key)||!qt(F,O)||ee())return;let t=G.current[Number(e.key)-1];t!=null&&(e.preventDefault(),e.stopPropagation(),je(t.id),queueMicrotask(()=>Gt(t)))};return window.addEventListener(`keydown`,e,{capture:!0}),()=>window.removeEventListener(`keydown`,e,{capture:!0})},yr);let br;t[101]!==D||t[102]!==F||t[103]!==O||t[104]!==P?(br=[F,O,P,D],t[101]=D,t[102]=F,t[103]=O,t[104]=P,t[105]=br):br=t[105],(0,Y.useEffect)(()=>{let e=function(e){if(!ue(e,P)||!e.shiftKey||e.altKey)return;let t=e.key===`ArrowLeft`?-1:+(e.key===`ArrowRight`);if(t===0||!qt(F,O)||ee()||zn.current)return;let n=e.target;if(n?.tagName===`INPUT`||n?.isContentEditable)return;let r=Gn.current(t);if(r==null)return;e.preventDefault(),e.stopPropagation();let i=W.current,a=G.current.find(e=>e.id===i);a!=null&&queueMicrotask(()=>Gt(a));let o=D({id:`CoHvYd`,values:{0:r.label,1:r.position,2:r.total}});Vn.current!=null&&window.clearTimeout(Vn.current),Vn.current=window.setTimeout(()=>{Vn.current=null,Bn.current!=null&&(Bn.current.textContent=o)},60)};return window.addEventListener(`keydown`,e,{capture:!0}),()=>{window.removeEventListener(`keydown`,e,{capture:!0}),Vn.current!=null&&(window.clearTimeout(Vn.current),Vn.current=null)}},br);let xr;t[106]!==n?.editor||t[107]!==A||t[108]!==V?(xr=()=>{if(!A)return;let e=V.some(en);ge({terminalLive:e}),n?.editor.notifyViewMenuStateChanged({terminalLive:e})},t[106]=n?.editor,t[107]=A,t[108]=V,t[109]=xr):xr=t[109];let Sr;t[110]!==n||t[111]!==A||t[112]!==V?(Sr=[n,V,A],t[110]=n,t[111]=A,t[112]=V,t[113]=Sr):Sr=t[113],(0,Y.useEffect)(xr,Sr);let Cr,wr;t[114]!==F||t[115]!==b||t[116]!==x||t[117]!==d?(Cr=()=>{b||d||Kt(F)&&x()},wr=[b,d,F,x],t[114]=F,t[115]=b,t[116]=x,t[117]=d,t[118]=Cr,t[119]=wr):(Cr=t[118],wr=t[119]),(0,Y.useLayoutEffect)(Cr,wr);let Tr;t[120]===b?Tr=t[121]:(Tr=[b],t[120]=b,t[121]=Tr),(0,Y.useEffect)(()=>{if(!b)return;let e=G.current.find(e=>e.id===W.current);e!=null&&Gt(e)},Tr);let Er=V.map(e=>({id:e.id,label:Rn(e),icon:e.kind===`terminal`?Yt():Xt(lt.get(e.threadId))})),Dr=[...V].sort($t),Or;t[122]===h?Or=t[123]:(Or=h??{},t[122]=h,t[123]=Or);let kr;t[124]!==q||t[125]!==Or?(kr=Te(q,Or),t[124]=q,t[125]=Or,t[126]=kr):kr=t[126];let Ar=(0,X.jsx)(At,{selected:$,onLaunchSelected:jt,showAgents:k,registeredAgents:nt,onPickAgent:Pn,onOpenSettings:le,liveThreadCount:Q,showClis:j,onPickCli:jn,onPickTerminal:Mn,visibleClis:kr}),jr=k&&Ge.length>0?(0,X.jsx)(it,{archived:Ge,openThreadIds:dt,onOpenThread:gt}):null,Mr=V.length>0||d&&!O?(0,X.jsx)(It,{sessions:Er,sessionKind:k?`agent`:`terminal`,activeSessionId:U,onSelect:e=>{B.current=null,je(e)},onTabActivate:e=>{let t=G.current.find(t=>t.id===e);t!=null&&queueMicrotask(()=>Gt(t))},newButton:Ar,trailingControls:jr,onClose:Zn,onRename:Ln,onReorder:Hn,onDragActiveChange:e=>{zn.current=e},edge:se,onPlacementChange:i===`terminal-dock`?s:void 0,reserveRightRevealTabGutter:c,onCollapse:O?void 0:()=>f(!1),draggable:O,className:`h-full`,children:V.length===0?j?null:k&&Ge.length>0?(0,X.jsx)(at,{archived:Ge,onOpen:gt}):(0,X.jsx)(wn,{}):Dr.map(e=>(0,X.jsx)(Ke,{value:e.id,forceMount:!0,"data-session-id":e.id,...e.kind===`terminal`?{"data-terminal-session":e.id}:{},className:p(`m-0 flex min-h-0 flex-1 flex-col overflow-hidden data-[state=inactive]:hidden`,O&&`px-[22px] pb-[22px]`),children:e.kind===`terminal`?n!=null&&j?(0,X.jsx)(Tt,{bridge:n,launch:e.launch,commandId:e.commandId,adoptPtyId:e.adoptPtyId,onPtyId:t=>yt(e.id,t),onTitleChange:t=>In(e.id,t),onClose:()=>Zn(e.id)}):null:(0,X.jsx)(Sn,{threadId:e.threadId,info:lt.get(e.threadId),showConnectionBanner:Je&&e.id===U,active:d&&e.id===U})},e.id))}):null,Nr;t[127]!==F||t[128]!==Mr?(Nr=F==null?null:(0,rt.createPortal)((0,X.jsxs)(X.Fragment,{children:[Mr,(0,X.jsx)(`span`,{ref:Bn,"aria-live":`polite`,"aria-atomic":`true`,className:`sr-only`,"data-testid":`terminal-reorder-announcer`})]}),F),t[127]=F,t[128]=Mr,t[129]=Nr):Nr=t[129];let Pr;return t[130]===Nr?Pr=t[131]:(Pr=(0,X.jsx)(X.Fragment,{children:Nr}),t[130]=Nr,t[131]=Pr),Pr}function $t(e,t){return e.ordinal-t.ordinal}function en(e){return e.kind===`terminal`}function tn(e){return e.ordinal}function nn(e,t){return{kind:`terminal`,commandId:null,id:Vt(t+1),launch:null,title:null,customLabel:e.customLabel,ordinal:e.ordinal,adoptPtyId:null}}function rn(e){return e.ordinal}function an(e,t){return{kind:`terminal`,commandId:null,id:Vt(t+1),launch:null,title:null,customLabel:e.customLabel??null,ordinal:e.ordinal??t+1,adoptPtyId:e.ptyId}}function on(e){return e.threadId}function sn(e){return e.threadId}function cn(e){return e.kind===`thread`}function ln(e){return e.threadId}function un(e){return e.kind===`thread`}function dn(e){return e.threadId}function fn(e){return e!=null}function pn(e){return e.kind===`terminal`}function mn(){}function hn(e){return e.id}function gn(e){return e!=null}function _n(e){return[e.id,e]}function vn(e){return e!=null}function yn(e){return[e.threadId,e]}function bn(e){return e.archived!==!0}function xn(){if(typeof document>`u`)return null;let e=document.createElement(`div`);return e.className=`flex min-h-0 flex-1 flex-col overflow-hidden`,e}function Sn(e){let t=(0,J.c)(10),{threadId:n,info:r,showConnectionBanner:i,active:a}=e;if(r===void 0)return null;let o;t[0]===i?o=t[1]:(o=i?(0,X.jsx)(Cn,{}):null,t[0]=i,t[1]=o);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,X.jsx)(`div`,{role:`status`,"aria-busy":`true`,className:`flex min-h-0 flex-1 items-center justify-center text-muted-foreground`,children:(0,X.jsx)(Me,{className:`size-5`,"aria-hidden":`true`})}),t[2]=s):s=t[2];let c;t[3]!==a||t[4]!==r||t[5]!==n?(c=(0,X.jsx)(Y.Suspense,{fallback:s,children:(0,X.jsx)(Bt,{info:r,active:a},n)}),t[3]=a,t[4]=r,t[5]=n,t[6]=c):c=t[6];let l;return t[7]!==o||t[8]!==c?(l=(0,X.jsxs)(X.Fragment,{children:[o,c]}),t[7]=o,t[8]=c,t[9]=l):l=t[9],l}function Cn(){let e=(0,J.c)(4),{_:t}=a(),n;e[0]===t?n=e[1]:(n=t({id:`k0dL2I`}),e[0]=t,e[1]=n);let r;return e[2]===n?r=e[3]:(r=(0,X.jsx)(`div`,{className:`shrink-0 border-amber-500/30 border-b bg-amber-500/5 px-3 py-1 text-amber-700 text-xs dark:text-amber-400`,"data-testid":`agent-thread-reconnecting`,children:n}),e[2]=n,e[3]=r),r}function wn(){let e=(0,J.c)(4),{_:t}=a(),n;e[0]===t?n=e[1]:(n=t({id:`-l6jM7`}),e[0]=t,e[1]=n);let r;return e[2]===n?r=e[3]:(r=(0,X.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center px-6 text-center text-muted-foreground text-sm`,"data-testid":`sessions-dock-empty`,children:n}),e[2]=n,e[3]=r),r}function Tn(e,t){return e.kind===`thread`?e.threadId:e.adoptPtyId??t.get(e.id)??null}function En(e,t){let n=e.filter(e=>e.kind===`terminal`),r=n.find(e=>e.id===t);return{tabs:n.map(e=>({ordinal:e.ordinal,customLabel:e.customLabel})),activeOrdinal:r?.ordinal??null}}function Dn(e,t,n,r){let i=e=>{let t=r(e);if(t==null)return 1/0;let i=n.indexOf(t);return i===-1?1/0:i},a=[...e];for(let e of t){let t=i(e);if(t===1/0){a.push(e);continue}let n=a.length;for(let e=0;e<a.length;e++)if(i(a[e])>t){n=e;break}a.splice(n,0,e)}return a}export{Qt as SessionsHost};