@inkeep/open-knowledge 0.42.0-beta.9 → 0.42.1
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.
- package/dist/{acp-harness-probe-DOzi_1ED.mjs → acp-harness-probe-BC8-tjIs.mjs} +2 -2
- package/dist/assets/skills/discovery/SKILL.md +1 -1
- package/dist/assets/skills/project/SKILL.md +1 -1
- package/dist/assets/skills/write-skill/SKILL.md +1 -1
- package/dist/cli.mjs +50 -50
- package/dist/constants-DafFdWJR.mjs +2 -0
- package/dist/{git-handle-B1TJqyoh.mjs → git-handle-BFhoHYr0.mjs} +2 -2
- package/dist/git-handle-CRnnMEIm.mjs +1 -0
- package/dist/index.mjs +1 -1
- package/dist/init-CY3jgzP0.mjs +1 -0
- package/dist/{init-CJBY0h7f.mjs → init-D7cD6zok.mjs} +4 -4
- package/dist/{launch-json-removal-CFvmMnMo.mjs → launch-json-removal-CTJjliTF.mjs} +2 -2
- package/dist/loader-BjQNNJAX.mjs +1 -0
- package/dist/{loader-CvlOZSkR.mjs → loader-CiE2EBJO.mjs} +2 -2
- package/dist/md-manager-CAqfesEA.mjs +2 -0
- package/dist/{open-browser-CXby8R3t.mjs → open-browser-Be1y1t9d.mjs} +2 -2
- package/dist/parse-worker.mjs +1 -1
- package/dist/preview-BMVXzzrS.mjs +1 -0
- package/dist/{preview-AkwIJF-W.mjs → preview-DXg4YbDp.mjs} +2 -2
- package/dist/public/assets/{ActivityModeContent-BYOU34x5.js → ActivityModeContent-CnhDNi-c.js} +1 -1
- package/dist/public/assets/{AgentDiffPane-CnYpYKgw.js → AgentDiffPane-BKvov9S5.js} +1 -1
- package/dist/public/assets/{AgentThreadClientBinder-aNRlyBpl.js → AgentThreadClientBinder-MaSL3zla.js} +1 -1
- package/dist/public/assets/{CodeMirrorPropInput-8sqIlsVF.js → CodeMirrorPropInput-ZGACWLSy.js} +1 -1
- package/dist/public/assets/{DocumentContext-D5LU2-RZ.js → DocumentContext-DDkluS7D.js} +20 -20
- package/dist/public/assets/{EditorModeToggle-D64ZxCxZ.js → EditorModeToggle-D0Db8Ydu.js} +1 -1
- package/dist/public/assets/{EnableSyncConfirmDialog-BeUuMUfa.js → EnableSyncConfirmDialog-B2sHRtLY.js} +1 -1
- package/dist/public/assets/FeedbackForm-DuEQbMOb.js +1 -0
- package/dist/public/assets/{GraphPanel-C_ZvUO1o.js → GraphPanel-1CKwHElx.js} +1 -1
- package/dist/public/assets/{LintConfigEditor-CmWBO8eN.js → LintConfigEditor-DKgxJcvl.js} +1 -1
- package/dist/public/assets/{ManagedArtifactProperties-hL8Gk4O1.js → ManagedArtifactProperties-9e_jj3hZ.js} +1 -1
- package/dist/public/assets/{McpConsentDialogBody-BqvQlEmy.js → McpConsentDialogBody-CYOKF_sf.js} +1 -1
- package/dist/public/assets/{MermaidDocEditor-C4nx_bCP.js → MermaidDocEditor-BNURUYJE.js} +1 -1
- package/dist/public/assets/{PropertyPanel-DlcDB4qF.js → PropertyPanel-BMIcO_AS.js} +1 -1
- package/dist/public/assets/{ReportBugDialogBody-Cz6r8X4G.js → ReportBugDialogBody-ByMe7BRT.js} +2 -2
- package/dist/public/assets/{SchemaConfigEditor-CRmLZgz9.js → SchemaConfigEditor-D7xbhgl6.js} +1 -1
- package/dist/public/assets/{SettingsDialogBody-DqSzMMsr.js → SettingsDialogBody-Bkz3Bpgp.js} +1 -1
- package/dist/public/assets/{ShareBranchSwitchDialog-CIds8xzv.js → ShareBranchSwitchDialog-C6G5A_aK.js} +1 -1
- package/dist/public/assets/{ShareReceiveDialog-BAEP9cfe.js → ShareReceiveDialog-DLEkjmkI.js} +1 -1
- package/dist/public/assets/{ShareReceiveMissDialog-DgHALd8T.js → ShareReceiveMissDialog-Ls1ECEge.js} +1 -1
- package/dist/public/assets/{SkillEditorActions-CJRnDLA3.js → SkillEditorActions-AGeWFFyT.js} +1 -1
- package/dist/public/assets/{SourceEditor-DBo24Kh4.js → SourceEditor-DI6JkRTr.js} +1 -1
- package/dist/public/assets/{TerminalPanel-DyeEsFY8.js → TerminalPanel-Bf_h8SIB.js} +1 -1
- package/dist/public/assets/{TerminalSessionsHost-C_Kpm1av.js → TerminalSessionsHost-B2cWbpj-.js} +2 -2
- package/dist/public/assets/{TerminalWindowApp-B2Q31qSO.js → TerminalWindowApp-2yCXBcQc.js} +1 -1
- package/dist/public/assets/ThreadView-D2BFrI_O.js +6 -0
- package/dist/public/assets/{TimelineDiffPane-94ZlUQPR.js → TimelineDiffPane-B9KqEt7q.js} +1 -1
- package/dist/public/assets/{agent-diff-store-Nx0XQusg.js → agent-diff-store-Bi0IQPgd.js} +1 -1
- package/dist/public/assets/{agent-visibility-CnzdlhVC.js → agent-visibility-HpfSUFqP.js} +1 -1
- package/dist/public/assets/{auth-state-cache-D-o9mDQf.js → auth-state-cache-BUVYaS5m.js} +1 -1
- package/dist/public/assets/client-version-FVbajnsJ.js +1 -0
- package/dist/public/assets/{config-provider-CGoD2yzK.js → config-provider-DIuwNlqX.js} +1 -1
- package/dist/public/assets/{dist-Dxs5l5f3.js → dist-Cal4LUep.js} +1 -1
- package/dist/public/assets/{doc-hash-BmhDnlQv.js → doc-hash-BSK-KaTu.js} +1 -1
- package/dist/public/assets/{documents-events-CnYTr2EX.js → documents-events-1HWCdfoh.js} +1 -1
- package/dist/public/assets/{file-tree-adapter-CqsJyRKs.js → file-tree-adapter-Dw7Dgyj1.js} +1 -1
- package/dist/public/assets/{file-tree-utils-DT-xGfQd.js → file-tree-utils-DiUPuK3N.js} +1 -1
- package/dist/public/assets/{globals-C6WpSvCs.js → globals-CXEWtNVL.js} +1 -1
- package/dist/public/assets/globals-GYHxaktb.css +1 -0
- package/dist/public/assets/index-Bh6-_Nba.js +2014 -0
- package/dist/public/assets/{lint-config-client-DWwcbNDR.js → lint-config-client-G_mrikOJ.js} +1 -1
- package/dist/public/assets/{markdownlint-rule-browser-FIuqfE86.js → markdownlint-rule-browser-rS3aDGOb.js} +1 -1
- package/dist/public/assets/{navigation-targets-WiJR7LAU.js → navigation-targets-Ci2h-vaL.js} +1 -1
- package/dist/public/assets/{open-managed-artifact-tab-epta6SQV.js → open-managed-artifact-tab-DfGutPkc.js} +1 -1
- package/dist/public/assets/{pending-receive-nav-store-DEu4B-Yy.js → pending-receive-nav-store-BuGLGemz.js} +1 -1
- package/dist/public/assets/{prop-types-Dq1Y_y68.js → prop-types-B-N3_i3c.js} +1 -1
- package/dist/public/assets/{receive-store-iF35zQOA.js → receive-store-CL0RH8Oa.js} +1 -1
- package/dist/public/assets/{selection-context-ES61tXh3.js → selection-context-zsjvL-8N.js} +1 -1
- package/dist/public/assets/{skill-actions-CnQNy6QY.js → skill-actions-C_5-d4BC.js} +1 -1
- package/dist/public/assets/{skills-api-D3bQVQ4F.js → skills-api-ChYiP1Zv.js} +1 -1
- package/dist/public/assets/{src-DL0JxhQ2.js → src-D8jPu2QV.js} +1 -1
- package/dist/public/assets/{tag-pill-input-DC-n23FS.js → tag-pill-input-B27HgfRy.js} +1 -1
- package/dist/public/assets/{target-navigation-intent-B61RCsTX.js → target-navigation-intent-ClG4AlV8.js} +1 -1
- package/dist/public/assets/{telemetry-impl-B0xfYfCD.js → telemetry-impl-DXiL3sBk.js} +1 -1
- package/dist/public/assets/{telemetry-startup-BYP0kNl2.js → telemetry-startup-Db44p95P.js} +1 -1
- package/dist/public/assets/{terminal-launch-events-CY0gttpS.js → terminal-launch-events-N4CMVbPT.js} +1 -1
- package/dist/public/assets/{terminal-telemetry-BO22BE3r.js → terminal-telemetry-DxTZB2oZ.js} +1 -1
- package/dist/public/assets/thread-client-CurKSSA8.js +1 -0
- package/dist/public/assets/{typing-burst-detector-CqVsFepb.js → typing-burst-detector-BP7d86JP.js} +1 -1
- package/dist/public/assets/{uninstall-CU9G6dEv.js → uninstall-DHjtqCbn.js} +1 -1
- package/dist/public/assets/{use-activity-panel-AnCM2KLb.js → use-activity-panel-35_3901z.js} +1 -1
- package/dist/public/assets/{use-apply-config-color-theme-r5IzVx3u.js → use-apply-config-color-theme-CK97Jvup.js} +1 -1
- package/dist/public/assets/{use-collab-url-C1DXOS9I.js → use-collab-url-D0INpn_f.js} +1 -1
- package/dist/public/assets/{use-live-xterm-theme-rgABb9gP.js → use-live-xterm-theme-C-fHLeXw.js} +1 -1
- package/dist/public/assets/{use-settings-route-B-L25JMs.js → use-settings-route-CXFzIfYo.js} +1 -1
- package/dist/public/assets/{use-terminal-enabled-8hGsIhI1.js → use-terminal-enabled-fhwpyN81.js} +1 -1
- package/dist/public/assets/{use-timeline-entry-diff-BigQON95.js → use-timeline-entry-diff-CHWJnnz2.js} +1 -1
- package/dist/public/assets/{use-workspace-NdYT_dp2.js → use-workspace-3T40FR83.js} +1 -1
- package/dist/public/assets/{workspace-paths-ai6F0DQ3.js → workspace-paths-B-NChZS2.js} +1 -1
- package/dist/public/index.html +37 -37
- package/dist/public/uninstall.html +4 -4
- package/dist/{repair-launch-json-CAdtcpGt.mjs → repair-launch-json-CyiLC6sz.mjs} +2 -2
- package/dist/{repair-mcp-configs-BlUiHB3J.mjs → repair-mcp-configs-MZhuDeWK.mjs} +2 -2
- package/dist/repair-skills-B1Zc-g_X.mjs +1 -0
- package/dist/{repair-skills-DllMOsvZ.mjs → repair-skills-CBmnNSO7.mjs} +2 -2
- package/dist/server-lock-DKRUWCqU.mjs +1 -0
- package/dist/{server-lock-Cr23NqXF.mjs → server-lock-vdpThyb4.mjs} +2 -2
- package/dist/{src-C4H4J7S8.mjs → src--Oy-0xgD.mjs} +2 -2
- package/dist/{src-CJ8mKCzo.mjs → src-DtcKZLt0.mjs} +87 -87
- package/dist/{src-CIFd3tOE.mjs → src-mOlBaMpr.mjs} +320 -320
- package/dist/{src-DHVO9P4d.mjs → src-o9XsfdYT.mjs} +1 -1
- package/dist/{start-DsU4nHte.mjs → start-BRjY-38U.mjs} +2 -2
- package/dist/start-BnM87E8e.mjs +1 -0
- package/dist/{write-project-skill-CeYehb7h.mjs → write-project-skill-B_HecSEZ.mjs} +4 -4
- package/package.json +4 -4
- package/dist/constants-BU4A6vbq.mjs +0 -2
- package/dist/git-handle-Dqp-QyuN.mjs +0 -1
- package/dist/init-Byoir7UR.mjs +0 -1
- package/dist/loader-BlJfxAty.mjs +0 -1
- package/dist/md-manager-B4llsKsm.mjs +0 -2
- package/dist/preview-ChQ6Nj5u.mjs +0 -1
- package/dist/public/assets/FeedbackForm-3Fe-DlHM.js +0 -1
- package/dist/public/assets/ThreadView-_sgiyOMC.js +0 -6
- package/dist/public/assets/client-version-CaNXATg1.js +0 -1
- package/dist/public/assets/globals-DF_8aGgC.css +0 -1
- package/dist/public/assets/index-e9suledE.js +0 -2014
- package/dist/public/assets/thread-client-CXDtD9Ce.js +0 -1
- package/dist/repair-skills-Buq5QlSJ.mjs +0 -1
- package/dist/server-lock-D335a5oG.mjs +0 -1
- package/dist/start-BcW2zDmT.mjs +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Aa as e,C as t,Ga as n,d as r,ho as i,ja as a,ka as o,l as s,qa as c,ro as l,y as u}from"./src-CJ8mKCzo.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,Br as w,Bt as T,C 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,Ei as L,En as R,Er as z,Et as B,F as V,Fi as H,Fn as U,Fr as W,Ft as G,G as K,Gi as q,Gn as J,Gr as Y,Gt as X,H as Z,Hi as Q,Hn as $,Hr 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,Jt as ue,K as de,Ki as fe,Kn as pe,Kr as me,Kt as he,L as ge,Li as _e,Ln as ve,Lr as ye,Lt as be,M as xe,Mi as Se,Mn as Ce,Mr as we,Mt as Te,N as Ee,Ni as De,Nn as Oe,Nr as ke,Nt as Ae,O as je,Oi as Me,On as Ne,Or as Pe,Ot as Fe,P as Ie,Pi as Le,Pn as Re,Pr as ze,Pt as Be,Q as Ve,Qi as He,Qn as Ue,Qr as We,Qt as Ge,R as Ke,Ri as qe,Rn as Je,Rr as Ye,Rt as Xe,S as Ze,Si as Qe,Sn as $e,Sr as et,St as tt,T as nt,Ti as rt,Tn as it,Tr as at,Tt as ot,U as st,Ui as ct,Un as lt,Ur as ut,Ut as dt,V as ft,Vi as pt,Vn as mt,Vr as ht,Vt as gt,W as _t,Wi as vt,Wn as yt,Wr as bt,Wt as xt,X as St,Xi as Ct,Xn as wt,Xt as Tt,Y as Et,Yi as Dt,Yn as Ot,Yt as kt,Z as At,Zi as jt,Zn as Mt,Zt as Nt,_ as Pt,_i as Ft,_n as It,_r as Lt,a as Rt,aa as zt,ai as Bt,an as Vt,ar as Ht,at as Ut,b as Wt,bi as Gt,bn as Kt,br as qt,bt as Jt,c as Yt,ca as Xt,ci as Zt,cn as Qt,cr as $t,ct as en,d as tn,da as nn,di as rn,dn as an,dr as on,dt as sn,ea as cn,ei as ln,en as un,er as dn,et as fn,f as pn,fa as mn,fi as hn,fn as gn,fr as _n,ft as vn,g as yn,gi as bn,gn as xn,gr as Sn,h as Cn,ha as wn,hi as Tn,hn as En,hr as Dn,i as On,ia as kn,ii as An,in as jn,ir as Mn,it as Nn,j as Pn,ji as Fn,jn as In,jr as Ln,jt as Rn,k as zn,ki as Bn,kn as Vn,kr as Hn,kt as Un,l as Wn,la as Gn,li as Kn,ln as qn,lr as Jn,lt as Yn,m as Xn,ma as Zn,mi as Qn,mn as $n,mr as er,n as tr,na as nr,ni as rr,nn as ir,nr as ar,nt as or,o as sr,oa as cr,oi as lr,on as ur,or as dr,ot as fr,p as pr,pa as mr,pi as hr,pn as gr,pr as _r,q as vr,qi as yr,qn as br,qt as xr,r as Sr,ra as Cr,ri as wr,rn as Tr,rr as Er,rt as Dr,s as Or,sa as kr,si as Ar,sn as jr,sr as Mr,st as Nr,t as Pr,ta as Fr,ti as Ir,tn as Lr,tr as Rr,tt as zr,u as Br,ua as Vr,ui as Hr,un as Ur,ur as Wr,ut as Gr,v as Kr,vi as qr,vn as Jr,vr as Yr,w as Xr,wi as Zr,wn as Qr,wr as $r,wt as ei,x as ti,xi as ni,xn as ri,xr as ii,xt as ai,y as oi,yi as si,yn as ci,yr as li,yt as ui,z as di,zi as fi,zn as pi,zr as mi,zt as hi}from"./src-CIFd3tOE.mjs";import{C as gi,E as _i,T as vi,_ as yi,b as bi,c as xi,d as Si,g as Ci,i as wi,l as Ti,m as Ei,n as Di,p as Oi,s as ki,t as Ai,u as ji,v as Mi,w as Ni,x as Pi,y as Fi}from"./fs-traced-Cc6WsRtP.mjs";import{a as Ii,d as Li,f as Ri,i as zi,l as Bi,n as Vi,r as Hi,t as Ui,u as Wi}from"./logger-B7Z8XO-z.mjs";import{_ as Gi,a as Ki,b as qi,c as Ji,f as Yi,g as Xi,h as Zi,i as Qi,l as $i,m as ea,n as ta,o as na,p as ra,r as ia,s as aa,t as oa,u as sa,v as ca,y as la}from"./server-lock-Cr23NqXF.mjs";export{cr as AGENT_ID_MAX_LEN,kr as AGENT_ID_RE,S as AGENT_WRITE_ORIGIN,mr as AcpPermissionStore,Vr as AcpRegistry,_e as AcpThreadManager,H as AgentFocusBroadcaster,Le as AgentPresenceBroadcaster,pt as AgentSessionCapacityError,Q as AgentSessionManager,Jt as AutoStartDisabledError,we as BUNDLE_IDS,ke as BUNDLE_SCOPE,ze as BUNDLE_SKILL_NAME,Mt as BacklinkIndex,Dt as CC1Broadcaster,c as CC1_CONTRACT_VERSION,jr as CONFIG_FILENAME,pe as CONFLICT_MARKER_RE,rr as CURSOR_BUNDLE_PATHS_BY_PLATFORM,Pt as ConfigSchema,In as DEFAULT_CHECKPOINT_RETENTION,qr as DEFAULT_EMBEDDINGS_DIMENSIONS,Xe as DEFAULT_PACK_ID,K as DocumentDurabilityState,si as EMBEDDINGS_API_KEY_ENV,nn as FEATURED_AGENT_IDS,Ce as FILE_SYSTEM_WRITER,wt as FILE_WATCHER_ORIGIN,hn as FileEmbeddingsBackend,ir as GIT_PREFLIGHT_FAIL_SPAN_NAME,Oe as GIT_UPSTREAM_WRITER,Zn as GitDirAccessError,Mn as GitNotAvailableError,Ht as GitTooOldError,ai as HOCUSPOCUS_AUTH_REJECTION_REASONS,tt as HocuspocusAuthRejection,A as HocuspocusAuthTokenSchema,Zt as INSTALLED_AGENTS_SCHEMES,n as LINEAGE_EPOCH_KEY,Z as LIVE_DERIVED_INDEX_DEBOUNCE_MS,hi as LOG_MD_TEMPLATE,Un as MANAGED_RENAME_ORIGIN,qe as MAX_ACP_THREADS,ct as MAX_AGENT_SESSIONS,sn as MCP_CONNECTION_ID_HEADER,o as MCP_SERVER_NAME,vt as MIN_EVICTABLE_IDLE_MS,dr as MIN_GIT_VERSION,de as MISSING_OK_CONFIG_MESSAGE,wn as MalformedGitPointerError,Dr as McpLogger,vr as MissingOkConfigError,V as OBSERVER_SYNC_ORIGIN,Qt as OK_OKIGNORE_TEMPLATE,e as ORPHAN_MODES,i as PROTOCOL_VERSION,Ui as PinoLogger,Ji as ProcessLockCollisionError,Wn as ProjectGitInitError,b as ROLLBACK_ORIGIN,qn as ROOT_GITIGNORE_TEMPLATE,Xi as RUNTIME_VERSION,Re as SERVICE_WRITER,P as SKILL_INSTALL_EVENTS_FILE_REL,u as SKILL_STATE_TARGETS,T as STARTER_FOLDERS,gt as STARTER_FOLDER_FRONTMATTER_FILENAME,te as STARTER_PACKS,dt as STARTER_PACK_IDS,xt as STARTER_TEMPLATES,I as STATE_MANIFEST_FILENAME,Gi as STATE_SCHEMA_VERSION,l as SYSTEM_DOC_NAME,Tt as SeedPrerequisiteError,Nt as SeedRootDirError,oa as ServerLockCollisionError,Pr as SingleFileNotAFileError,tr as SingleFileNotFoundError,Sr as SingleFileNotMarkdownError,j as StateManifestError,nt as TagIndex,W as USER_GLOBAL_BUNDLE_IDS,p as UiLockCollisionError,Rn as __getShowAllWalkStatsForTesting,Te as __resetShowAllWalkStatsForTesting,$i as acquireProcessLock,ta as acquireServerLock,dn as acquireUiLock,q as applyAgentMarkdownWrite,Vn as applyExternalChange,be as applySeed,je as assertCompatibleStateManifest,Mr as assertGitAvailable,It as assertNeverDiskEvent,re as attachAcpThreadSocket,ui as attachIdleShutdown,Kr as bootServer,Sn as buildAndOpenSkill,Ur as buildConfigYmlContent,Ve as buildExecResult,fi as buildOkMcpStdioCommand,Hn as buildSkillZip,X as buildStarterFolderFrontmatterYaml,U as buildWipTree,ae as bundleSkillMdPath,hr as canonicalProjectKey,Jr as classifyEvents,Ai as classifyFsPath,Qn as clearAllEmbeddingsKeys,ni as clearContributors,he as coercePackId,s as colorFromSeed,ie as commitUpstreamImport,ve as commitWip,Je as commitWipFromTree,$t as compareSemver,mi as composeEffectiveLinterConfig,w as composeFrontmatterSchemasConfig,br as containsConflictMarkers,ci as contentHash,Qe as contributorCount,Ke as countShadowObjects,di as countStaleAgentWipRefs,x as countWipRefs,Ae as createApiExtension,Fn as createAssetServeMiddleware,We as createContentFilter,m as createContentFilterAsync,Tn as createEmbeddingsSecretStore,On as createEphemeralProjectDir,v as createExternalChangeHandler,pn as createFileLogger,st as createLiveDerivedIndexExtension,St as createMcpHttpHandler,Kn as createOsProbe,Ie as createPersistenceExtension,E as createServer,xe as createServerObserverExtension,fe as createStreamingErrorWriter,Vi as createTestLogger,bn as describeStoredEmbeddingsKey,yn as detectClaudeDesktopPresence,Jn as detectGit,zn as detectProjectShape,Lt as detectUserSkillHosts,fr as discoverLockDirs,ut as discoverMarkdownlintConfig,Tr as emitPreflightFailureSpan,d as encodeDocName,fn as encodeFolderRoute,zr as encodeSkillRoute,Br as ensureProjectGit,an as ensureProjectSkillGitignore,yr as errorResponse,Kt as evictStaleTrackerEntries,Nr as extractOkBinaryPath,Ue as extractWikiLinksFromMarkdown,Wr as fallbackPaths,tn as findEnclosingGitRoot,En as findEnclosingProjectRoot,bt as findNativeMarkdownlintFile,pr as flushFileLogger,ei as formatAuthRejectionWire,D as formatContributors,Zr as formatContributorsFrom,G as formatPackRationale,pi as gcCheckpointRefs,Nn as getCurrentMcpLogger,Me as getLocalDir,Xn as getLogFilePath,Hi as getLogger,Cn as getLogsDir,qi as getMachineId,Fi as getMeter,Fr as getMetrics,bi as getTracer,nr as handleCollabSocketError,wr as handleSpawnCursor,ft as hasGcLogLatch,r as iconFromClientName,Cr as incrementCollabSocketFilteredError,kn as incrementServerObserverFire,gn as initContent,C as initShadowRepo,Pi as initTelemetry,Wt as initToleranceTelemetryWriter,Gr as installPrettyZodErrors,zi as installTestLoggers,Yr as installUserSkill,De as isAllowedApiOrigin,Ge as isAllowedWorkspaceHostHeader,Ct as isConfigDoc,ot as isHocuspocusAuthRejectionReason,xr as isKnownPackId,jt as isLinkIndexExcludedDoc,h as isLoopbackAddress,He as isManagedArtifactDoc,a as isOrphanMode,ne as isPairedWriteOrigin,An as isPathWithinDir,ca as isProcessAlive,xn as isProjectRoot,_n as isProjectSkillManaged,f as isReservedForUserTree,ri as isSelfWrite,cn as isSystemDoc,ti as isToleranceTelemetryEnabled,la as isValidLockPid,$e as lastKnownHash,mt as listRescueCheckpoints,ue as listStarterPacks,mn as loadCustomAgents,Ee as loadPrincipal,sa as lockFilePath,Ii as loggerFactory,Bi as logsCurrentPath,Wi as logsPreviousPath,Ft as makeLazyEmbeddingsKeyStore,ia as markServerLockDraining,se as mountMcpAndApi,Di as normalizeFsPath,ye as originGitHubHost,gr as packageVersionMajorMinor,B as parseAuthRejectionWire,on as parseGitVersion,F as parseHocuspocusAuthToken,Et as parseKeepaliveConnectionId,O as pathToDocName,oe as planSeed,Rt as prepareSingleFileOpen,en as processCommand,Yn as processUsage,li as readAllTargets,qt as readBundleDecision,Y as readOwnNativeRules,Yi as readProcessLock,ra as readProcessLockDetailed,_t as readProjectHeadState,rn as readProjectLocalSemanticConfig,Qi as readServerLock,ii as readServerPackageVersion,et as readSkillInstallStateSnapshot,_r as readSkillManagement,g as readStateManifest,k as readTargetRecordedAt,$r as readTargetVersion,Rr as readUiLock,le as reconcile,rt as recordContributor,Pe as recordSkillInstallEvent,At as registerAllTools,Qr as registerWrite,ea as releaseProcessLock,Ki as releaseServerLock,ar as releaseUiLock,it as removeLastKnownHash,zt as resetMetrics,t as resolveBundleEnabled,y as resolveBundledSkillDir,Bn as resolveContentDir,Bt as resolveCursorBinaryDefault,lr as resolveCursorSpawnInvocation,ht as resolveEffectiveLinterConfig,Gt as resolveEmbeddingsCredential,_ as resolveLockDir,ee as resolveNativeConfigForDoc,me as resolveNativeMarkdownlintConfig,kt as resolvePack,Or as resolvePackageVersion,or as resolveUiInfo,L as restoreContributors,oi as restoreLifecycleFromConflictsJson,ln as rewriteMarkdownLinksForDocumentRename,Ir as rewriteWikiLinksForDocumentRename,jn as runAuthReposSubprocess,Vt as runAuthStatusSubprocess,un as runCloneSubprocess,ur as runDeviceFlowSubprocess,Ut as runWithMcpLogger,Se as safeContentPath,Be as safeSubdir,$ as safetyCheckpoint,vn as sanitizeClientName,lt as saveInMemoryCheckpoint,yt as saveVersion,Fe as seedBasenameIndex,sr as serializeError,gi as setActiveSpanAttributes,ge as setupServerObservers,J as shadowGit,Ni as shutdownTelemetry,er as skillManagementPath,Li as spansCurrentPath,Ri as spansPreviousPath,Ar as spawnDetached,Ot as splitMarkdownBlocks,R as startWatcher,ce as streamingProblemEvent,M as swapContributors,Ze as teardownToleranceTelemetryWriter,Xt as toBroadcasterKey,wi as tracedAppendFileSync,ki as tracedLinkSync,xi as tracedMkdir,Ti as tracedMkdirSync,ji as tracedRename,Si as tracedRenameSync,Oi as tracedRmSync,Ei as tracedRmdirSync,Ci as tracedUnlinkSync,yi as tracedWriteFile,Mi as tracedWriteFileSync,Xr as trustSystemCertificates,Yt as untrackTrackedProjectSkillProjection,N as updateLastKnownHash,Zi as updateProcessLockPort,na as updateServerLockPort,Er as updateUiLockPort,Gn as validateAgentId,Lr as validateCloneInputs,Ln as validateSkillZip,aa as waitForServerLockDrain,Hr as withHiddenWindowsConsole,vi as withSpan,_i as withSpanSync,at as writeBundleDecision,Ye as writeMarkdownlintRule,$n as writeRootGitignoreForNewRepo,Dn as writeSkillManagement,Pn as writeStateManifest,z as writeTargetVersion,Ne as writeTracker};
|
|
1
|
+
import{Aa as e,C as t,Ka as n,Oa as r,Wa as i,d as a,ka as o,l as s,mo as c,no as l,y as u}from"./src-DtcKZLt0.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,Br as w,Bt as T,C 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,Ei as L,En as R,Er as z,Et as B,F as V,Fi as H,Fn as U,Fr as W,Ft as G,G as K,Gi as q,Gn as J,Gr as Y,Gt as X,H as Z,Hi as Q,Hn as $,Hr 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,Jt as ue,K as de,Ki as fe,Kn as pe,Kr as me,Kt as he,L as ge,Li as _e,Ln as ve,Lr as ye,Lt as be,M as xe,Mi as Se,Mn as Ce,Mr as we,Mt as Te,N as Ee,Ni as De,Nn as Oe,Nr as ke,Nt as Ae,O as je,Oi as Me,On as Ne,Or as Pe,Ot as Fe,P as Ie,Pi as Le,Pn as Re,Pr as ze,Pt as Be,Q as Ve,Qi as He,Qn as Ue,Qr as We,Qt as Ge,R as Ke,Ri as qe,Rn as Je,Rr as Ye,Rt as Xe,S as Ze,Si as Qe,Sn as $e,Sr as et,St as tt,T as nt,Ti as rt,Tn as it,Tr as at,Tt as ot,U as st,Ui as ct,Un as lt,Ur as ut,Ut as dt,V as ft,Vi as pt,Vn as mt,Vr as ht,Vt as gt,W as _t,Wi as vt,Wn as yt,Wr as bt,Wt as xt,X as St,Xi as Ct,Xn as wt,Xt as Tt,Y as Et,Yi as Dt,Yn as Ot,Yt as kt,Z as At,Zi as jt,Zn as Mt,Zt as Nt,_ as Pt,_i as Ft,_n as It,_r as Lt,a as Rt,aa as zt,ai as Bt,an as Vt,ar as Ht,at as Ut,b as Wt,bi as Gt,bn as Kt,br as qt,bt as Jt,c as Yt,ca as Xt,ci as Zt,cn as Qt,cr as $t,ct as en,d as tn,da as nn,di as rn,dn as an,dr as on,dt as sn,ea as cn,ei as ln,en as un,er as dn,et as fn,f as pn,fa as mn,fi as hn,fn as gn,fr as _n,ft as vn,g as yn,gi as bn,gn as xn,gr as Sn,h as Cn,ha as wn,hi as Tn,hn as En,hr as Dn,i as On,ia as kn,ii as An,in as jn,ir as Mn,it as Nn,j as Pn,ji as Fn,jn as In,jr as Ln,jt as Rn,k as zn,ki as Bn,kn as Vn,kr as Hn,kt as Un,l as Wn,la as Gn,li as Kn,ln as qn,lr as Jn,lt as Yn,m as Xn,ma as Zn,mi as Qn,mn as $n,mr as er,n as tr,na as nr,ni as rr,nn as ir,nr as ar,nt as or,o as sr,oa as cr,oi as lr,on as ur,or as dr,ot as fr,p as pr,pa as mr,pi as hr,pn as gr,pr as _r,q as vr,qi as yr,qn as br,qt as xr,r as Sr,ra as Cr,ri as wr,rn as Tr,rr as Er,rt as Dr,s as Or,sa as kr,si as Ar,sn as jr,sr as Mr,st as Nr,t as Pr,ta as Fr,ti as Ir,tn as Lr,tr as Rr,tt as zr,u as Br,ua as Vr,ui as Hr,un as Ur,ur as Wr,ut as Gr,v as Kr,vi as qr,vn as Jr,vr as Yr,w as Xr,wi as Zr,wn as Qr,wr as $r,wt as ei,x as ti,xi as ni,xn as ri,xr as ii,xt as ai,y as oi,yi as si,yn as ci,yr as li,yt as ui,z as di,zi as fi,zn as pi,zr as mi,zt as hi}from"./src-mOlBaMpr.mjs";import{C as gi,E as _i,T as vi,_ as yi,b as bi,c as xi,d as Si,g as Ci,i as wi,l as Ti,m as Ei,n as Di,p as Oi,s as ki,t as Ai,u as ji,v as Mi,w as Ni,x as Pi,y as Fi}from"./fs-traced-Cc6WsRtP.mjs";import{a as Ii,d as Li,f as Ri,i as zi,l as Bi,n as Vi,r as Hi,t as Ui,u as Wi}from"./logger-B7Z8XO-z.mjs";import{_ as Gi,a as Ki,b as qi,c as Ji,f as Yi,g as Xi,h as Zi,i as Qi,l as $i,m as ea,n as ta,o as na,p as ra,r as ia,s as aa,t as oa,u as sa,v as ca,y as la}from"./server-lock-vdpThyb4.mjs";export{cr as AGENT_ID_MAX_LEN,kr as AGENT_ID_RE,S as AGENT_WRITE_ORIGIN,mr as AcpPermissionStore,Vr as AcpRegistry,_e as AcpThreadManager,H as AgentFocusBroadcaster,Le as AgentPresenceBroadcaster,pt as AgentSessionCapacityError,Q as AgentSessionManager,Jt as AutoStartDisabledError,we as BUNDLE_IDS,ke as BUNDLE_SCOPE,ze as BUNDLE_SKILL_NAME,Mt as BacklinkIndex,Dt as CC1Broadcaster,n as CC1_CONTRACT_VERSION,jr as CONFIG_FILENAME,pe as CONFLICT_MARKER_RE,rr as CURSOR_BUNDLE_PATHS_BY_PLATFORM,Pt as ConfigSchema,In as DEFAULT_CHECKPOINT_RETENTION,qr as DEFAULT_EMBEDDINGS_DIMENSIONS,Xe as DEFAULT_PACK_ID,K as DocumentDurabilityState,si as EMBEDDINGS_API_KEY_ENV,nn as FEATURED_AGENT_IDS,Ce as FILE_SYSTEM_WRITER,wt as FILE_WATCHER_ORIGIN,hn as FileEmbeddingsBackend,ir as GIT_PREFLIGHT_FAIL_SPAN_NAME,Oe as GIT_UPSTREAM_WRITER,Zn as GitDirAccessError,Mn as GitNotAvailableError,Ht as GitTooOldError,ai as HOCUSPOCUS_AUTH_REJECTION_REASONS,tt as HocuspocusAuthRejection,A as HocuspocusAuthTokenSchema,Zt as INSTALLED_AGENTS_SCHEMES,i as LINEAGE_EPOCH_KEY,Z as LIVE_DERIVED_INDEX_DEBOUNCE_MS,hi as LOG_MD_TEMPLATE,Un as MANAGED_RENAME_ORIGIN,qe as MAX_ACP_THREADS,ct as MAX_AGENT_SESSIONS,sn as MCP_CONNECTION_ID_HEADER,r as MCP_SERVER_NAME,vt as MIN_EVICTABLE_IDLE_MS,dr as MIN_GIT_VERSION,de as MISSING_OK_CONFIG_MESSAGE,wn as MalformedGitPointerError,Dr as McpLogger,vr as MissingOkConfigError,V as OBSERVER_SYNC_ORIGIN,Qt as OK_OKIGNORE_TEMPLATE,o as ORPHAN_MODES,c as PROTOCOL_VERSION,Ui as PinoLogger,Ji as ProcessLockCollisionError,Wn as ProjectGitInitError,b as ROLLBACK_ORIGIN,qn as ROOT_GITIGNORE_TEMPLATE,Xi as RUNTIME_VERSION,Re as SERVICE_WRITER,P as SKILL_INSTALL_EVENTS_FILE_REL,u as SKILL_STATE_TARGETS,T as STARTER_FOLDERS,gt as STARTER_FOLDER_FRONTMATTER_FILENAME,te as STARTER_PACKS,dt as STARTER_PACK_IDS,xt as STARTER_TEMPLATES,I as STATE_MANIFEST_FILENAME,Gi as STATE_SCHEMA_VERSION,l as SYSTEM_DOC_NAME,Tt as SeedPrerequisiteError,Nt as SeedRootDirError,oa as ServerLockCollisionError,Pr as SingleFileNotAFileError,tr as SingleFileNotFoundError,Sr as SingleFileNotMarkdownError,j as StateManifestError,nt as TagIndex,W as USER_GLOBAL_BUNDLE_IDS,p as UiLockCollisionError,Rn as __getShowAllWalkStatsForTesting,Te as __resetShowAllWalkStatsForTesting,$i as acquireProcessLock,ta as acquireServerLock,dn as acquireUiLock,q as applyAgentMarkdownWrite,Vn as applyExternalChange,be as applySeed,je as assertCompatibleStateManifest,Mr as assertGitAvailable,It as assertNeverDiskEvent,re as attachAcpThreadSocket,ui as attachIdleShutdown,Kr as bootServer,Sn as buildAndOpenSkill,Ur as buildConfigYmlContent,Ve as buildExecResult,fi as buildOkMcpStdioCommand,Hn as buildSkillZip,X as buildStarterFolderFrontmatterYaml,U as buildWipTree,ae as bundleSkillMdPath,hr as canonicalProjectKey,Jr as classifyEvents,Ai as classifyFsPath,Qn as clearAllEmbeddingsKeys,ni as clearContributors,he as coercePackId,s as colorFromSeed,ie as commitUpstreamImport,ve as commitWip,Je as commitWipFromTree,$t as compareSemver,mi as composeEffectiveLinterConfig,w as composeFrontmatterSchemasConfig,br as containsConflictMarkers,ci as contentHash,Qe as contributorCount,Ke as countShadowObjects,di as countStaleAgentWipRefs,x as countWipRefs,Ae as createApiExtension,Fn as createAssetServeMiddleware,We as createContentFilter,m as createContentFilterAsync,Tn as createEmbeddingsSecretStore,On as createEphemeralProjectDir,v as createExternalChangeHandler,pn as createFileLogger,st as createLiveDerivedIndexExtension,St as createMcpHttpHandler,Kn as createOsProbe,Ie as createPersistenceExtension,E as createServer,xe as createServerObserverExtension,fe as createStreamingErrorWriter,Vi as createTestLogger,bn as describeStoredEmbeddingsKey,yn as detectClaudeDesktopPresence,Jn as detectGit,zn as detectProjectShape,Lt as detectUserSkillHosts,fr as discoverLockDirs,ut as discoverMarkdownlintConfig,Tr as emitPreflightFailureSpan,d as encodeDocName,fn as encodeFolderRoute,zr as encodeSkillRoute,Br as ensureProjectGit,an as ensureProjectSkillGitignore,yr as errorResponse,Kt as evictStaleTrackerEntries,Nr as extractOkBinaryPath,Ue as extractWikiLinksFromMarkdown,Wr as fallbackPaths,tn as findEnclosingGitRoot,En as findEnclosingProjectRoot,bt as findNativeMarkdownlintFile,pr as flushFileLogger,ei as formatAuthRejectionWire,D as formatContributors,Zr as formatContributorsFrom,G as formatPackRationale,pi as gcCheckpointRefs,Nn as getCurrentMcpLogger,Me as getLocalDir,Xn as getLogFilePath,Hi as getLogger,Cn as getLogsDir,qi as getMachineId,Fi as getMeter,Fr as getMetrics,bi as getTracer,nr as handleCollabSocketError,wr as handleSpawnCursor,ft as hasGcLogLatch,a as iconFromClientName,Cr as incrementCollabSocketFilteredError,kn as incrementServerObserverFire,gn as initContent,C as initShadowRepo,Pi as initTelemetry,Wt as initToleranceTelemetryWriter,Gr as installPrettyZodErrors,zi as installTestLoggers,Yr as installUserSkill,De as isAllowedApiOrigin,Ge as isAllowedWorkspaceHostHeader,Ct as isConfigDoc,ot as isHocuspocusAuthRejectionReason,xr as isKnownPackId,jt as isLinkIndexExcludedDoc,h as isLoopbackAddress,He as isManagedArtifactDoc,e as isOrphanMode,ne as isPairedWriteOrigin,An as isPathWithinDir,ca as isProcessAlive,xn as isProjectRoot,_n as isProjectSkillManaged,f as isReservedForUserTree,ri as isSelfWrite,cn as isSystemDoc,ti as isToleranceTelemetryEnabled,la as isValidLockPid,$e as lastKnownHash,mt as listRescueCheckpoints,ue as listStarterPacks,mn as loadCustomAgents,Ee as loadPrincipal,sa as lockFilePath,Ii as loggerFactory,Bi as logsCurrentPath,Wi as logsPreviousPath,Ft as makeLazyEmbeddingsKeyStore,ia as markServerLockDraining,se as mountMcpAndApi,Di as normalizeFsPath,ye as originGitHubHost,gr as packageVersionMajorMinor,B as parseAuthRejectionWire,on as parseGitVersion,F as parseHocuspocusAuthToken,Et as parseKeepaliveConnectionId,O as pathToDocName,oe as planSeed,Rt as prepareSingleFileOpen,en as processCommand,Yn as processUsage,li as readAllTargets,qt as readBundleDecision,Y as readOwnNativeRules,Yi as readProcessLock,ra as readProcessLockDetailed,_t as readProjectHeadState,rn as readProjectLocalSemanticConfig,Qi as readServerLock,ii as readServerPackageVersion,et as readSkillInstallStateSnapshot,_r as readSkillManagement,g as readStateManifest,k as readTargetRecordedAt,$r as readTargetVersion,Rr as readUiLock,le as reconcile,rt as recordContributor,Pe as recordSkillInstallEvent,At as registerAllTools,Qr as registerWrite,ea as releaseProcessLock,Ki as releaseServerLock,ar as releaseUiLock,it as removeLastKnownHash,zt as resetMetrics,t as resolveBundleEnabled,y as resolveBundledSkillDir,Bn as resolveContentDir,Bt as resolveCursorBinaryDefault,lr as resolveCursorSpawnInvocation,ht as resolveEffectiveLinterConfig,Gt as resolveEmbeddingsCredential,_ as resolveLockDir,ee as resolveNativeConfigForDoc,me as resolveNativeMarkdownlintConfig,kt as resolvePack,Or as resolvePackageVersion,or as resolveUiInfo,L as restoreContributors,oi as restoreLifecycleFromConflictsJson,ln as rewriteMarkdownLinksForDocumentRename,Ir as rewriteWikiLinksForDocumentRename,jn as runAuthReposSubprocess,Vt as runAuthStatusSubprocess,un as runCloneSubprocess,ur as runDeviceFlowSubprocess,Ut as runWithMcpLogger,Se as safeContentPath,Be as safeSubdir,$ as safetyCheckpoint,vn as sanitizeClientName,lt as saveInMemoryCheckpoint,yt as saveVersion,Fe as seedBasenameIndex,sr as serializeError,gi as setActiveSpanAttributes,ge as setupServerObservers,J as shadowGit,Ni as shutdownTelemetry,er as skillManagementPath,Li as spansCurrentPath,Ri as spansPreviousPath,Ar as spawnDetached,Ot as splitMarkdownBlocks,R as startWatcher,ce as streamingProblemEvent,M as swapContributors,Ze as teardownToleranceTelemetryWriter,Xt as toBroadcasterKey,wi as tracedAppendFileSync,ki as tracedLinkSync,xi as tracedMkdir,Ti as tracedMkdirSync,ji as tracedRename,Si as tracedRenameSync,Oi as tracedRmSync,Ei as tracedRmdirSync,Ci as tracedUnlinkSync,yi as tracedWriteFile,Mi as tracedWriteFileSync,Xr as trustSystemCertificates,Yt as untrackTrackedProjectSkillProjection,N as updateLastKnownHash,Zi as updateProcessLockPort,na as updateServerLockPort,Er as updateUiLockPort,Gn as validateAgentId,Lr as validateCloneInputs,Ln as validateSkillZip,aa as waitForServerLockDrain,Hr as withHiddenWindowsConsole,vi as withSpan,_i as withSpanSync,at as writeBundleDecision,Ye as writeMarkdownlintRule,$n as writeRootGitignoreForNewRepo,Dn as writeSkillManagement,Pn as writeStateManifest,z as writeTargetVersion,Ne as writeTracker};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{L as e,P as t}from"./src-CJ8mKCzo.mjs";import{_i as n,a as r,gn as i,ui as a}from"./src-CIFd3tOE.mjs";import{C as o,w as s}from"./write-project-skill-CeYehb7h.mjs";import{a as c,n as l,t as u}from"./acp-harness-probe-DOzi_1ED.mjs";import{n as d}from"./constants-BU4A6vbq.mjs";import{spawn as f}from"node:child_process";import{basename as p,dirname as m,join as h,win32 as g}from"node:path";import{closeSync as _,existsSync as v,mkdirSync as y,openSync as b,statSync as x}from"node:fs";import{homedir as S}from"node:os";import{rm as C}from"node:fs/promises";import{setTimeout as w}from"node:timers/promises";function T(e){let t={...e};return delete t.ELECTRON_RUN_AS_NODE,t}function E(e,t,n={}){let r=(n.spawn??f)(e,[...t],a({detached:!0,stdio:`ignore`,env:T(n.env??process.env)}));return r.unref(),r}const D=`OpenKnowledge.app`,O=`/Applications/${D}`;function k(){return{platform:process.platform,env:process.env,execPath:process.execPath,isTTY:process.stdout.isTTY,statSync:e=>{try{return x(e,{throwIfNoEntry:!1})??null}catch{return null}}}}function A(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`){let t=/(.+?\.app)\/Contents\/MacOS\//.exec(e.execPath);if(t?.[1])return t[1]}if(j(e,O))return O;let t=h(e.homeDir??S(),`Applications`,D);return j(e,t)?t:null}function j(e,t){return M(e,h(t,`Contents`,`MacOS`,`OpenKnowledge`))}function M(e,t){try{let n=e.statSync(t);return n&&typeof n.isFile==`function`?n.isFile():!1}catch{return!1}}const N=[`@inkeepopen-knowledge-desktop`,`OpenKnowledge`];function P(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`&&/\\OpenKnowledge\.exe$/i.test(e.execPath))return e.execPath;let t=e.env.LOCALAPPDATA;if(t)for(let n of N){let r=g.join(t,`Programs`,n,`OpenKnowledge.exe`);if(M(e,r))return r}return null}function F(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`&&e.execPath.endsWith(`/openknowledge`))return e.execPath;let t=`/opt/OpenKnowledge/openknowledge`;return M(e,t)?t:null}function I(e){if(e.env.OK_FORCE_BROWSER===`1`)return{available:!1,reason:`force-browser`};if(e.platform!==`darwin`&&e.platform!==`win32`&&e.platform!==`linux`)return{available:!1,reason:`unsupported-platform`};let t;try{t=e.platform===`darwin`?A(e):e.platform===`win32`?P(e):F(e)}catch{return{available:!1,reason:`stat-error`}}return t?e.env.OK_FORCE_DESKTOP===`1`?{available:!0,reason:`available`,bundlePath:t}:!(e.isTTY===!0||e.platform===`win32`&&e.isTTY===void 0&&!e.env.CI)||e.env.SSH_CONNECTION||e.env.SSH_TTY||e.platform===`linux`&&!e.env.DISPLAY&&!e.env.WAYLAND_DISPLAY?{available:!1,reason:`headless`,bundlePath:t}:{available:!0,reason:`available`,bundlePath:t}:{available:!1,reason:`no-bundle`}}function L(e,t){let n=e.log??(e=>console.error(e)),r=e.platform??process.platform;if(n("Launching OpenKnowledge desktop (use `ok start` for the browser server, or `OK_FORCE_BROWSER=1` to always skip)"),r===`darwin`){E(`open`,[`-b`,`com.inkeep.open-knowledge`],{spawn:e.spawn});return}let i=t?.bundlePath;if(!i){n(`Desktop launch skipped: no resolved desktop executable (caller bug).`);return}E(i,[],{spawn:e.spawn})}function R(e=`no-bundle`){switch(e){case`no-bundle`:return`Desktop app not found (checked the standard install locations for this OS). Install it, or omit --mode for browser mode.`;case`darwin-only`:case`unsupported-platform`:return`Desktop app is not available on this platform. Use --mode=browser, or omit --mode for the server fallback.`;case`headless`:return`Desktop launch is gated in headless contexts (CI, SSH, non-TTY stdout). Set OK_FORCE_DESKTOP=1 to override, or use --mode=browser.`;case`force-browser`:return`OK_FORCE_BROWSER=1 is set — desktop dispatch is disabled. Unset it to use --mode=app.`;case`stat-error`:return`Failed to inspect the desktop install (filesystem error). Check permissions or use --mode=browser.`;case`available`:return`Desktop app appears available but launch dispatch did not fire (caller bug).`}}function z(e){return h(m(e),`..`,`Frameworks`,`OpenKnowledge Server.app`,`Contents`,`MacOS`,`OpenKnowledge Helper`)}const B=/\/[^/]+\.app\/Contents\/MacOS\/[^/]+$/;function ee(e){if(e.platform!==`darwin`||!B.test(e.execPath))return null;let t=z(e.execPath);return e.exists(t)?t:null}function V(e={}){let t=e.execPath??process.execPath,n=e.platform??process.platform,r=e.argv??process.argv,i=e.exists??v,a=r[1];return a?{command:ee({execPath:t,platform:n,exists:i})??t,prefixArgs:[a]}:(console.warn(`[self-spawn] process.argv[1] is empty — falling back to \`npx -y @inkeep/open-knowledge@latest\`. This re-introduces the registry-fetch surface that re-exec was fixing. Observed argv: ${JSON.stringify(r)}`),{command:`npx`,prefixArgs:[`-y`,`@inkeep/open-knowledge@latest`]})}function te(e,t){return e.host??t.HOST??`127.0.0.1`}function H(e){let t=p(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var U=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 W(e){return e.uiLock?e.isAlive(e.uiLock.pid)?{action:`skip`,reason:`alive`,pid:e.uiLock.pid,port:e.uiLock.port}:{action:`spawn`,reason:`stale`,stalePid:e.uiLock.pid}:{action:`spawn`,reason:`absent`}}function G(t){v(t.lockDir)||y(t.lockDir,{recursive:!0});let n=b(h(t.lockDir,e),`w`),r=t.spawn??f,{PORT:i,...a}=process.env,o=V();try{let e=r(o.command,[...o.prefixArgs,...t.args??[`ui`]],{detached:!0,stdio:[`ignore`,`ignore`,n],windowsHide:!0,cwd:t.cwd,env:{...a,ELECTRON_RUN_AS_NODE:`1`}});return e.unref(),e}finally{try{_(n)}catch{}}}function K(e,t,n){return e??(n===void 0?t:void 0)}function q(e,t){return e!==void 0&&t!==null&&t.port>0&&t.draining!==!0}function J(e,t,n){return e??+(t!=null&&!n)}async function Y(e){let t=e.spawn??f,n=V(),{PORT:r,...i}=process.env,a=t(n.command,[...n.prefixArgs,`ui`,`--port`,String(e.uiPort)],{cwd:e.cwd,stdio:`inherit`,windowsHide:!0,env:{...i,ELECTRON_RUN_AS_NODE:`1`}}),o=!1,s=e=>{o=!0;try{a.kill(e)}catch{}},c=()=>s(`SIGINT`),l=()=>s(`SIGTERM`);process.once(`SIGINT`,c),process.once(`SIGTERM`,l),await new Promise(e=>{a.on(`exit`,(t,n)=>{process.exitCode=J(t,n,o),e()}),a.on(`error`,t=>{console.error(`[start] connect fallback: failed to spawn ok ui — ${t instanceof Error?t.message:String(t)}`),process.exitCode=1,e()})}),process.removeListener(`SIGINT`,c),process.removeListener(`SIGTERM`,l)}async function X(e){let t=e.now()+e.timeoutMs;for(;e.now()<t;){let t=e.readUiLock();if(t&&t.port>0)return t.port;await e.sleep(e.pollIntervalMs)}let n=e.readUiLock();return n&&n.port>0?n.port:null}const ne=t;function Z(e,t,n=e=>C(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 Q(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 $(e){let t=e.sigtermGraceMs??ne,n=e.sigtermPollIntervalMs??200,r=e.sleep??(e=>w(e)),i=e.reason??`teardown`;try{let a=e.readUiLock(),o=e.spawnedUiPid();if(a&&e.isAlive(a.pid)&&a.pid!==o)e.log?.info({pid:a.pid,port:a.port,spawnedUiPid:o},`${i}: ui.lock holder is not our spawned sibling — leaving it alone`);else if(a&&e.isAlive(a.pid))try{e.killPid(a.pid,`SIGTERM`),e.log?.info({pid:a.pid,port:a.port},`${i}: SIGTERM UI sibling`);let o=Date.now()+t;for(;Date.now()<o&&e.isAlive(a.pid);)await r(n);if(e.isAlive(a.pid))try{e.killPid(a.pid,`SIGKILL`),e.log?.warn({pid:a.pid,graceMs:t},`${i}: SIGTERM grace expired — escalated to SIGKILL`)}catch(t){e.log?.error({pid:a.pid,err:t},`${i}: SIGKILL failed`)}}catch(t){e.log?.warn({pid:a.pid,err:t},`${i}: failed to SIGTERM UI sibling`)}}catch(t){e.log?.warn({err:t},`${i}: UI lookup failed; proceeding`)}}function re(e){let{destroy:t,...n}=e;return async()=>{await $({...n,reason:`idle-shutdown`}),await t()}}async function ie(e){let{config:t,cwd:a,host:o}=e,s=e.skipAutoInit??!1,d=e.skipUiAutoSpawn??!1,f=e.idleThresholdMs??18e5,{existsSync:p,mkdirSync:m}=await import(`node:fs`),{basename:h,dirname:g}=await import(`node:path`),{bootServer:_,getLogger:v,isProcessAlive:y,readUiLock:b,resolveContentDir:x,resolveLockDir:S,waitForServerLockDrain:C}=await import(`./src-DHVO9P4d.mjs`),T=e.log??v(`start`),E=e.singleFile!==void 0,D=e.projectDir??a,O=E?r(e.singleFile).canonicalFilePath:void 0,k=O?g(O):void 0,A=O?h(O):void 0;if(!E){if(!s&&!i(a))throw new U(a);let t=process.env.OK_RECLAIM_DISABLE??null,n=e=>{let t=typeof e.event==`string`?e.event:``;(t.endsWith(`-failed`)||t.endsWith(`-error`)||t.endsWith(`-missing`))&&T.warn({event:e},`[start] reclaim sweep reported a problem`)};try{(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-BlUiHB3J.mjs`)).repairMcpConfigs)({projectDir:a,reclaimDisableEnv:t,logger:n})}catch(e){T.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-CAdtcpGt.mjs`)).repairLaunchJson)({projectDir:a,reclaimDisableEnv:t,logger:n})}catch(e){T.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}try{await(e.repairSkillsFn??(await import(`./repair-skills-Buq5QlSJ.mjs`)).repairSkills)({projectDir:a,reclaimDisableEnv:t,logger:n})}catch(e){T.warn({err:e},`[start] skill repair sweep failed; continuing`)}}let j=k??x(t,a);!E&&!p(j)&&(m(j,{recursive:!0}),T.info({contentDir:j},`Created content directory`));let M=null,N=null,P=async({lockDir:t})=>{if(M=W({uiLock:b(t),isAlive:y}),M.action===`spawn`&&!d)try{let n=e.uiPort===void 0?void 0:[`ui`,`--port`,String(e.uiPort)];N=G({lockDir:t,cwd:a,spawn:e.spawn,args:n}).pid??null,T.info({reason:M.reason,uiPort:e.uiPort},`[start] auto-spawned ok ui sibling`)}catch(e){console.warn(`[start] failed to auto-spawn ok ui: ${e instanceof Error?e.message:String(e)}`)}else M.action===`skip`&&T.info({port:M.port,pid:M.pid},`UI already running at port ${M.port}`)},F=e.reactShellDistDir===void 0,I=c(),L=n();{let e=S(E?D:a),t=Date.now(),n=await C(e);n!==`no-drain`&&T.info({event:`start-waited-for-draining-predecessor`,outcome:n,waitedMs:Date.now()-t,drainLockDir:e},n===`released`?`[start] predecessor server finished draining — proceeding`:`[start] predecessor server still draining after wait — proceeding to collide`)}let R=await _({config:t,contentDir:j,projectDir:E?D:a,contentRoot:E?void 0:t.content.dir,port:e.port,host:o,quiet:!1,detectGh:l,tokenStore:I,embeddingsKeyStore:L,...E?{ephemeral:!0,singleDocRelPath:A,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],probeHarnessManagedMcpEntry:(e,t)=>u(e,t),attachUiSibling:F,idleShutdownMs:f,skipAutoInit:!0,...F?{spawnUiSiblingFn:P}:{},idleShutdownHandler:t=>{let n=re({readUiLock:()=>b(R.lockDir),spawnedUiPid:()=>N,isAlive:y,killPid:(e,t)=>{process.kill(e,t)},destroy:t,log:T});return Q(E?Z(n,D):n,{log:T,exit:e.idleExit})},log:T,...e.serveContentAssets===void 0?{}:{serveContentAssets:e.serveContentAssets},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{}});M||={action:`skip`,reason:`alive`,pid:0,port:0};let z=M,B=null;if(z.action===`skip`)B=z.port>0?z.port:null;else if(!d){let t=e.uiBindTimeoutMs??3e3;B=await X({readUiLock:()=>b(R.lockDir),now:Date.now,sleep:e=>w(e),timeoutMs:t,pollIntervalMs:50}),B===null&&T.warn({timeoutMs:t},`[start] ok ui did not bind within timeout — banner falls back to API URL`)}return{httpServer:R.httpServer,destroy:R.destroy,lockDir:R.lockDir,contentDir:j,port:R.port,ready:R.ready,degraded:R.degraded,uiSpawnDecision:M,spawnedUiPid:N,resolvedUiPort:B}}function ae(e){if(e===`browser`||e===`app`)return e;throw new s(`--mode must be 'browser' or 'app'`)}function oe(e){let t=Number.parseInt(e,10);if(Number.isNaN(t)||t<1||t>65535)throw new s(`--ui-port must be a port number between 1 and 65535`);return t}function se(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function ce(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 le(e,t){let n=se(process.env);n!==null&&(process.env.OK_CONSOLE_LEVEL=n);let{renderBanner:r}=await import(`./banner--DGfdMN8.mjs`),{accent:i,dim:a,error:o,warning:s}=await import(`./colors-MGDi6UGf.mjs`),c=process.cwd(),l=e;process.title=H(c);let u=te(t,process.env),f=t.port===void 0?void 0:Number(t.port),p=process.env.PORT?Number(process.env.PORT):void 0,m=t.uiPort===void 0?void 0:Number(t.uiPort),h=K(f,p,m);if(m!==void 0){let{readServerLock:e,resolveLockDir:t}=await import(`./src-DHVO9P4d.mjs`);if(q(m,e(t(c)))){await Y({cwd:c,uiPort:m});return}}let g;try{g=await ie({config:l,cwd:c,host:u,port:h,...m===void 0?{}:{uiPort:m},...t.serveContentAssets===void 0?{}:{serveContentAssets:t.serveContentAssets},...t.reactShellDistDir?{reactShellDistDir:t.reactShellDistDir}:{},...t.singleFile?{singleFile:t.singleFile}:{},...t.projectDir?{projectDir:t.projectDir}:{}})}catch(e){e instanceof U&&(console.error(o(e.message)),process.exit(1));let t=await import(`./src-DHVO9P4d.mjs`);if((e instanceof t.GitNotAvailableError||e instanceof t.GitTooOldError)&&process.exit(78),(e instanceof t.SingleFileNotFoundError||e instanceof t.SingleFileNotAFileError||e instanceof t.SingleFileNotMarkdownError)&&(console.error(o(e.message)),process.exit(1)),m!==void 0&&ue(e,t)){await Y({cwd:c,uiPort:m});return}let n=de(e,c,t);n!==null&&(console.error(o(n)),process.exit(1)),console.error(`${o(`Failed to start:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exit(1)}let _=!1,v=async e=>{if(_)return;_=!0;let[t,...n]=ce(e);console.log(i(`\n${t}`));for(let e of n)console.log(a(` ${e}`));if(g.spawnedUiPid!==null)try{let{getLogger:e,isProcessAlive:t,readUiLock:n}=await import(`./src-DHVO9P4d.mjs`);await $({readUiLock:()=>n(g.lockDir),spawnedUiPid:()=>g.spawnedUiPid,isAlive:t,killPid:(e,t)=>process.kill(e,t),log:e(`start`),reason:`shutdown`})}catch(e){console.error(`${o(`ui sibling teardown failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`)}try{await g.destroy()}catch(e){console.error(`${o(`destroy() failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exitCode=1}process.exit(process.exitCode??0)};process.once(`SIGINT`,()=>{v(`SIGINT`)}),process.once(`SIGTERM`,()=>{v(`SIGTERM`)});let y=`http://${u}:${g.port}`,b=u===`0.0.0.0`||u===`::`?`http://0.0.0.0:${g.port}`:void 0,x=g.resolvedUiPort,S=x!==null&&x>0?`http://${u}:${x}`:y;console.log(r({name:`open-knowledge`,version:d,localUrl:S,apiUrl:S===y?void 0:y,networkUrl:b,nextSteps:[`Open the Editor URL in your browser to start editing.`]}));let C={"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`};g.ready.then(async()=>{if(g.degraded.length>0){console.log();for(let e of g.degraded){let t=C[e]??`${e} (check server logs for details)`;console.warn(` ${s(`⚠`)} ${s(e)}: ${a(t)}`)}console.log()}if(t.open){let{openBrowser:e}=await import(`./open-browser-CXby8R3t.mjs`);e(S)}}).catch(e=>{console.error(` ${o(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})}function ue(e,t){let n=t.ServerLockCollisionError;return n!==void 0&&e instanceof n}function de(e,t,n){let r=n.ServerLockCollisionError;if(r===void 0||!(e instanceof r))return null;try{let e=h(t,`.ok`),r=n.readServerLock(e);return r?r.kind===`interactive`?`OpenKnowledge desktop is currently running on this project. Quit it or use --cwd to point elsewhere.`:r.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`.":"OpenKnowledge server is already running on this project — check `ok status` or `ok stop`."}catch{return null}}function fe(e){return new o(`start`).description(`Start the knowledge base collab server`).option(`-p, --port <port>`,`Server port`,void 0).option(`--ui-port <port>`,`Pin the ok ui sibling to <port> and connect (not exit) if a server already runs here — the worktree-preview recipe path`,oe).option(`-H, --host <host>`,`Server host`,void 0).option(`--open`,`Open browser after start`).option(`--mode <mode>`,`Force dispatch mode: 'browser' or 'app'`,ae).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> (suppresses ok ui sibling)`).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)`).action(async t=>{let n=e();if(t.mode===`app`){t.open&&(process.stderr.write(`error: option '--mode=app' cannot be combined with '--open' (--open opens a browser tab against the local server, which app mode does not boot)
|
|
1
|
+
import{L as e,P as t}from"./src-DtcKZLt0.mjs";import{_i as n,a as r,gn as i,ui as a}from"./src-mOlBaMpr.mjs";import{C as o,w as s}from"./write-project-skill-B_HecSEZ.mjs";import{a as c,n as l,t as u}from"./acp-harness-probe-BC8-tjIs.mjs";import{n as d}from"./constants-DafFdWJR.mjs";import{spawn as f}from"node:child_process";import{basename as p,dirname as m,join as h,win32 as g}from"node:path";import{closeSync as _,existsSync as v,mkdirSync as y,openSync as b,statSync as x}from"node:fs";import{homedir as S}from"node:os";import{rm as C}from"node:fs/promises";import{setTimeout as w}from"node:timers/promises";function T(e){let t={...e};return delete t.ELECTRON_RUN_AS_NODE,t}function E(e,t,n={}){let r=(n.spawn??f)(e,[...t],a({detached:!0,stdio:`ignore`,env:T(n.env??process.env)}));return r.unref(),r}const D=`OpenKnowledge.app`,O=`/Applications/${D}`;function k(){return{platform:process.platform,env:process.env,execPath:process.execPath,isTTY:process.stdout.isTTY,statSync:e=>{try{return x(e,{throwIfNoEntry:!1})??null}catch{return null}}}}function A(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`){let t=/(.+?\.app)\/Contents\/MacOS\//.exec(e.execPath);if(t?.[1])return t[1]}if(j(e,O))return O;let t=h(e.homeDir??S(),`Applications`,D);return j(e,t)?t:null}function j(e,t){return M(e,h(t,`Contents`,`MacOS`,`OpenKnowledge`))}function M(e,t){try{let n=e.statSync(t);return n&&typeof n.isFile==`function`?n.isFile():!1}catch{return!1}}const N=[`@inkeepopen-knowledge-desktop`,`OpenKnowledge`];function P(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`&&/\\OpenKnowledge\.exe$/i.test(e.execPath))return e.execPath;let t=e.env.LOCALAPPDATA;if(t)for(let n of N){let r=g.join(t,`Programs`,n,`OpenKnowledge.exe`);if(M(e,r))return r}return null}function F(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`&&e.execPath.endsWith(`/openknowledge`))return e.execPath;let t=`/opt/OpenKnowledge/openknowledge`;return M(e,t)?t:null}function I(e){if(e.env.OK_FORCE_BROWSER===`1`)return{available:!1,reason:`force-browser`};if(e.platform!==`darwin`&&e.platform!==`win32`&&e.platform!==`linux`)return{available:!1,reason:`unsupported-platform`};let t;try{t=e.platform===`darwin`?A(e):e.platform===`win32`?P(e):F(e)}catch{return{available:!1,reason:`stat-error`}}return t?e.env.OK_FORCE_DESKTOP===`1`?{available:!0,reason:`available`,bundlePath:t}:!(e.isTTY===!0||e.platform===`win32`&&e.isTTY===void 0&&!e.env.CI)||e.env.SSH_CONNECTION||e.env.SSH_TTY||e.platform===`linux`&&!e.env.DISPLAY&&!e.env.WAYLAND_DISPLAY?{available:!1,reason:`headless`,bundlePath:t}:{available:!0,reason:`available`,bundlePath:t}:{available:!1,reason:`no-bundle`}}function L(e,t){let n=e.log??(e=>console.error(e)),r=e.platform??process.platform;if(n("Launching OpenKnowledge desktop (use `ok start` for the browser server, or `OK_FORCE_BROWSER=1` to always skip)"),r===`darwin`){E(`open`,[`-b`,`com.inkeep.open-knowledge`],{spawn:e.spawn});return}let i=t?.bundlePath;if(!i){n(`Desktop launch skipped: no resolved desktop executable (caller bug).`);return}E(i,[],{spawn:e.spawn})}function R(e=`no-bundle`){switch(e){case`no-bundle`:return`Desktop app not found (checked the standard install locations for this OS). Install it, or omit --mode for browser mode.`;case`darwin-only`:case`unsupported-platform`:return`Desktop app is not available on this platform. Use --mode=browser, or omit --mode for the server fallback.`;case`headless`:return`Desktop launch is gated in headless contexts (CI, SSH, non-TTY stdout). Set OK_FORCE_DESKTOP=1 to override, or use --mode=browser.`;case`force-browser`:return`OK_FORCE_BROWSER=1 is set — desktop dispatch is disabled. Unset it to use --mode=app.`;case`stat-error`:return`Failed to inspect the desktop install (filesystem error). Check permissions or use --mode=browser.`;case`available`:return`Desktop app appears available but launch dispatch did not fire (caller bug).`}}function z(e){return h(m(e),`..`,`Frameworks`,`OpenKnowledge Server.app`,`Contents`,`MacOS`,`OpenKnowledge Helper`)}const B=/\/[^/]+\.app\/Contents\/MacOS\/[^/]+$/;function ee(e){if(e.platform!==`darwin`||!B.test(e.execPath))return null;let t=z(e.execPath);return e.exists(t)?t:null}function V(e={}){let t=e.execPath??process.execPath,n=e.platform??process.platform,r=e.argv??process.argv,i=e.exists??v,a=r[1];return a?{command:ee({execPath:t,platform:n,exists:i})??t,prefixArgs:[a]}:(console.warn(`[self-spawn] process.argv[1] is empty — falling back to \`npx -y @inkeep/open-knowledge@latest\`. This re-introduces the registry-fetch surface that re-exec was fixing. Observed argv: ${JSON.stringify(r)}`),{command:`npx`,prefixArgs:[`-y`,`@inkeep/open-knowledge@latest`]})}function te(e,t){return e.host??t.HOST??`127.0.0.1`}function H(e){let t=p(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var U=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 W(e){return e.uiLock?e.isAlive(e.uiLock.pid)?{action:`skip`,reason:`alive`,pid:e.uiLock.pid,port:e.uiLock.port}:{action:`spawn`,reason:`stale`,stalePid:e.uiLock.pid}:{action:`spawn`,reason:`absent`}}function G(t){v(t.lockDir)||y(t.lockDir,{recursive:!0});let n=b(h(t.lockDir,e),`w`),r=t.spawn??f,{PORT:i,...a}=process.env,o=V();try{let e=r(o.command,[...o.prefixArgs,...t.args??[`ui`]],{detached:!0,stdio:[`ignore`,`ignore`,n],windowsHide:!0,cwd:t.cwd,env:{...a,ELECTRON_RUN_AS_NODE:`1`}});return e.unref(),e}finally{try{_(n)}catch{}}}function K(e,t,n){return e??(n===void 0?t:void 0)}function q(e,t){return e!==void 0&&t!==null&&t.port>0&&t.draining!==!0}function J(e,t,n){return e??+(t!=null&&!n)}async function Y(e){let t=e.spawn??f,n=V(),{PORT:r,...i}=process.env,a=t(n.command,[...n.prefixArgs,`ui`,`--port`,String(e.uiPort)],{cwd:e.cwd,stdio:`inherit`,windowsHide:!0,env:{...i,ELECTRON_RUN_AS_NODE:`1`}}),o=!1,s=e=>{o=!0;try{a.kill(e)}catch{}},c=()=>s(`SIGINT`),l=()=>s(`SIGTERM`);process.once(`SIGINT`,c),process.once(`SIGTERM`,l),await new Promise(e=>{a.on(`exit`,(t,n)=>{process.exitCode=J(t,n,o),e()}),a.on(`error`,t=>{console.error(`[start] connect fallback: failed to spawn ok ui — ${t instanceof Error?t.message:String(t)}`),process.exitCode=1,e()})}),process.removeListener(`SIGINT`,c),process.removeListener(`SIGTERM`,l)}async function X(e){let t=e.now()+e.timeoutMs;for(;e.now()<t;){let t=e.readUiLock();if(t&&t.port>0)return t.port;await e.sleep(e.pollIntervalMs)}let n=e.readUiLock();return n&&n.port>0?n.port:null}const ne=t;function Z(e,t,n=e=>C(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 Q(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 $(e){let t=e.sigtermGraceMs??ne,n=e.sigtermPollIntervalMs??200,r=e.sleep??(e=>w(e)),i=e.reason??`teardown`;try{let a=e.readUiLock(),o=e.spawnedUiPid();if(a&&e.isAlive(a.pid)&&a.pid!==o)e.log?.info({pid:a.pid,port:a.port,spawnedUiPid:o},`${i}: ui.lock holder is not our spawned sibling — leaving it alone`);else if(a&&e.isAlive(a.pid))try{e.killPid(a.pid,`SIGTERM`),e.log?.info({pid:a.pid,port:a.port},`${i}: SIGTERM UI sibling`);let o=Date.now()+t;for(;Date.now()<o&&e.isAlive(a.pid);)await r(n);if(e.isAlive(a.pid))try{e.killPid(a.pid,`SIGKILL`),e.log?.warn({pid:a.pid,graceMs:t},`${i}: SIGTERM grace expired — escalated to SIGKILL`)}catch(t){e.log?.error({pid:a.pid,err:t},`${i}: SIGKILL failed`)}}catch(t){e.log?.warn({pid:a.pid,err:t},`${i}: failed to SIGTERM UI sibling`)}}catch(t){e.log?.warn({err:t},`${i}: UI lookup failed; proceeding`)}}function re(e){let{destroy:t,...n}=e;return async()=>{await $({...n,reason:`idle-shutdown`}),await t()}}async function ie(e){let{config:t,cwd:a,host:o}=e,s=e.skipAutoInit??!1,d=e.skipUiAutoSpawn??!1,f=e.idleThresholdMs??18e5,{existsSync:p,mkdirSync:m}=await import(`node:fs`),{basename:h,dirname:g}=await import(`node:path`),{bootServer:_,getLogger:v,isProcessAlive:y,readUiLock:b,resolveContentDir:x,resolveLockDir:S,waitForServerLockDrain:C}=await import(`./src-o9XsfdYT.mjs`),T=e.log??v(`start`),E=e.singleFile!==void 0,D=e.projectDir??a,O=E?r(e.singleFile).canonicalFilePath:void 0,k=O?g(O):void 0,A=O?h(O):void 0;if(!E){if(!s&&!i(a))throw new U(a);let t=process.env.OK_RECLAIM_DISABLE??null,n=e=>{let t=typeof e.event==`string`?e.event:``;(t.endsWith(`-failed`)||t.endsWith(`-error`)||t.endsWith(`-missing`))&&T.warn({event:e},`[start] reclaim sweep reported a problem`)};try{(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-MZhuDeWK.mjs`)).repairMcpConfigs)({projectDir:a,reclaimDisableEnv:t,logger:n})}catch(e){T.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-CyiLC6sz.mjs`)).repairLaunchJson)({projectDir:a,reclaimDisableEnv:t,logger:n})}catch(e){T.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}try{await(e.repairSkillsFn??(await import(`./repair-skills-B1Zc-g_X.mjs`)).repairSkills)({projectDir:a,reclaimDisableEnv:t,logger:n})}catch(e){T.warn({err:e},`[start] skill repair sweep failed; continuing`)}}let j=k??x(t,a);!E&&!p(j)&&(m(j,{recursive:!0}),T.info({contentDir:j},`Created content directory`));let M=null,N=null,P=async({lockDir:t})=>{if(M=W({uiLock:b(t),isAlive:y}),M.action===`spawn`&&!d)try{let n=e.uiPort===void 0?void 0:[`ui`,`--port`,String(e.uiPort)];N=G({lockDir:t,cwd:a,spawn:e.spawn,args:n}).pid??null,T.info({reason:M.reason,uiPort:e.uiPort},`[start] auto-spawned ok ui sibling`)}catch(e){console.warn(`[start] failed to auto-spawn ok ui: ${e instanceof Error?e.message:String(e)}`)}else M.action===`skip`&&T.info({port:M.port,pid:M.pid},`UI already running at port ${M.port}`)},F=e.reactShellDistDir===void 0,I=c(),L=n();{let e=S(E?D:a),t=Date.now(),n=await C(e);n!==`no-drain`&&T.info({event:`start-waited-for-draining-predecessor`,outcome:n,waitedMs:Date.now()-t,drainLockDir:e},n===`released`?`[start] predecessor server finished draining — proceeding`:`[start] predecessor server still draining after wait — proceeding to collide`)}let R=await _({config:t,contentDir:j,projectDir:E?D:a,contentRoot:E?void 0:t.content.dir,port:e.port,host:o,quiet:!1,detectGh:l,tokenStore:I,embeddingsKeyStore:L,...E?{ephemeral:!0,singleDocRelPath:A,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],probeHarnessManagedMcpEntry:(e,t)=>u(e,t),attachUiSibling:F,idleShutdownMs:f,skipAutoInit:!0,...F?{spawnUiSiblingFn:P}:{},idleShutdownHandler:t=>{let n=re({readUiLock:()=>b(R.lockDir),spawnedUiPid:()=>N,isAlive:y,killPid:(e,t)=>{process.kill(e,t)},destroy:t,log:T});return Q(E?Z(n,D):n,{log:T,exit:e.idleExit})},log:T,...e.serveContentAssets===void 0?{}:{serveContentAssets:e.serveContentAssets},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{}});M||={action:`skip`,reason:`alive`,pid:0,port:0};let z=M,B=null;if(z.action===`skip`)B=z.port>0?z.port:null;else if(!d){let t=e.uiBindTimeoutMs??3e3;B=await X({readUiLock:()=>b(R.lockDir),now:Date.now,sleep:e=>w(e),timeoutMs:t,pollIntervalMs:50}),B===null&&T.warn({timeoutMs:t},`[start] ok ui did not bind within timeout — banner falls back to API URL`)}return{httpServer:R.httpServer,destroy:R.destroy,lockDir:R.lockDir,contentDir:j,port:R.port,ready:R.ready,degraded:R.degraded,uiSpawnDecision:M,spawnedUiPid:N,resolvedUiPort:B}}function ae(e){if(e===`browser`||e===`app`)return e;throw new s(`--mode must be 'browser' or 'app'`)}function oe(e){let t=Number.parseInt(e,10);if(Number.isNaN(t)||t<1||t>65535)throw new s(`--ui-port must be a port number between 1 and 65535`);return t}function se(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function ce(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 le(e,t){let n=se(process.env);n!==null&&(process.env.OK_CONSOLE_LEVEL=n);let{renderBanner:r}=await import(`./banner--DGfdMN8.mjs`),{accent:i,dim:a,error:o,warning:s}=await import(`./colors-MGDi6UGf.mjs`),c=process.cwd(),l=e;process.title=H(c);let u=te(t,process.env),f=t.port===void 0?void 0:Number(t.port),p=process.env.PORT?Number(process.env.PORT):void 0,m=t.uiPort===void 0?void 0:Number(t.uiPort),h=K(f,p,m);if(m!==void 0){let{readServerLock:e,resolveLockDir:t}=await import(`./src-o9XsfdYT.mjs`);if(q(m,e(t(c)))){await Y({cwd:c,uiPort:m});return}}let g;try{g=await ie({config:l,cwd:c,host:u,port:h,...m===void 0?{}:{uiPort:m},...t.serveContentAssets===void 0?{}:{serveContentAssets:t.serveContentAssets},...t.reactShellDistDir?{reactShellDistDir:t.reactShellDistDir}:{},...t.singleFile?{singleFile:t.singleFile}:{},...t.projectDir?{projectDir:t.projectDir}:{}})}catch(e){e instanceof U&&(console.error(o(e.message)),process.exit(1));let t=await import(`./src-o9XsfdYT.mjs`);if((e instanceof t.GitNotAvailableError||e instanceof t.GitTooOldError)&&process.exit(78),(e instanceof t.SingleFileNotFoundError||e instanceof t.SingleFileNotAFileError||e instanceof t.SingleFileNotMarkdownError)&&(console.error(o(e.message)),process.exit(1)),m!==void 0&&ue(e,t)){await Y({cwd:c,uiPort:m});return}let n=de(e,c,t);n!==null&&(console.error(o(n)),process.exit(1)),console.error(`${o(`Failed to start:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exit(1)}let _=!1,v=async e=>{if(_)return;_=!0;let[t,...n]=ce(e);console.log(i(`\n${t}`));for(let e of n)console.log(a(` ${e}`));if(g.spawnedUiPid!==null)try{let{getLogger:e,isProcessAlive:t,readUiLock:n}=await import(`./src-o9XsfdYT.mjs`);await $({readUiLock:()=>n(g.lockDir),spawnedUiPid:()=>g.spawnedUiPid,isAlive:t,killPid:(e,t)=>process.kill(e,t),log:e(`start`),reason:`shutdown`})}catch(e){console.error(`${o(`ui sibling teardown failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`)}try{await g.destroy()}catch(e){console.error(`${o(`destroy() failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exitCode=1}process.exit(process.exitCode??0)};process.once(`SIGINT`,()=>{v(`SIGINT`)}),process.once(`SIGTERM`,()=>{v(`SIGTERM`)});let y=`http://${u}:${g.port}`,b=u===`0.0.0.0`||u===`::`?`http://0.0.0.0:${g.port}`:void 0,x=g.resolvedUiPort,S=x!==null&&x>0?`http://${u}:${x}`:y;console.log(r({name:`open-knowledge`,version:d,localUrl:S,apiUrl:S===y?void 0:y,networkUrl:b,nextSteps:[`Open the Editor URL in your browser to start editing.`]}));let C={"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`};g.ready.then(async()=>{if(g.degraded.length>0){console.log();for(let e of g.degraded){let t=C[e]??`${e} (check server logs for details)`;console.warn(` ${s(`⚠`)} ${s(e)}: ${a(t)}`)}console.log()}if(t.open){let{openBrowser:e}=await import(`./open-browser-Be1y1t9d.mjs`);e(S)}}).catch(e=>{console.error(` ${o(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})}function ue(e,t){let n=t.ServerLockCollisionError;return n!==void 0&&e instanceof n}function de(e,t,n){let r=n.ServerLockCollisionError;if(r===void 0||!(e instanceof r))return null;try{let e=h(t,`.ok`),r=n.readServerLock(e);return r?r.kind===`interactive`?`OpenKnowledge desktop is currently running on this project. Quit it or use --cwd to point elsewhere.`:r.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`.":"OpenKnowledge server is already running on this project — check `ok status` or `ok stop`."}catch{return null}}function fe(e){return new o(`start`).description(`Start the knowledge base collab server`).option(`-p, --port <port>`,`Server port`,void 0).option(`--ui-port <port>`,`Pin the ok ui sibling to <port> and connect (not exit) if a server already runs here — the worktree-preview recipe path`,oe).option(`-H, --host <host>`,`Server host`,void 0).option(`--open`,`Open browser after start`).option(`--mode <mode>`,`Force dispatch mode: 'browser' or 'app'`,ae).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> (suppresses ok ui sibling)`).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)`).action(async t=>{let n=e();if(t.mode===`app`){t.open&&(process.stderr.write(`error: option '--mode=app' cannot be combined with '--open' (--open opens a browser tab against the local server, which app mode does not boot)
|
|
2
2
|
`),process.exit(2));let e=[];if(t.port!==void 0&&e.push(`--port`),t.uiPort!==void 0&&e.push(`--ui-port`),t.host!==void 0&&e.push(`--host`),e.length>0){let t=process.env.OK_LOG_LEVEL??`info`;(t===`debug`||t===`trace`)&&console.error(`--mode=app: ignoring ${e.join(`, `)}`)}let n=I(k());if(n.available){L({spawn:f},n);return}console.error(R(n.reason)),process.exit(1)}await le(n,t)})}export{k as C,E,V as S,L as T,fe as _,J as a,Z as b,H as c,K as d,te as f,G as g,q as h,re as i,ce as l,le as m,X as n,Y as o,se as p,ie as r,W as s,U as t,ue as u,$ as v,I as w,Q as x,de as y};
|
|
3
|
-
//# sourceMappingURL=start-
|
|
3
|
+
//# sourceMappingURL=start-BRjY-38U.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as e,f as t,r as n}from"./start-BRjY-38U.mjs";export{n as bootStartServer,t as resolveHost,e as startCommand};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{i as e,o as t,t as n}from"./chunk-DTipWd-i.mjs";import{
|
|
1
|
+
import{i as e,o as t,t as n}from"./chunk-DTipWd-i.mjs";import{Fa as r,Ia as i,Oa as a,za as o}from"./src-DtcKZLt0.mjs";import{Ar as s,Fr as c,Pr as l,Xr as u}from"./src-mOlBaMpr.mjs";import{basename as d,dirname as f,isAbsolute as p,join as m,posix as h,relative as g,resolve as _,sep as v,win32 as y}from"node:path";import{cpSync as ee,existsSync as b,lstatSync as x,mkdirSync as te,readFileSync as ne,readdirSync as re,realpathSync as S,rmSync as C,rmdirSync as ie,statSync as ae}from"node:fs";import{homedir as w}from"node:os";var T=n((e=>{var t=class extends Error{constructor(e,t,n){super(n),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=t,this.exitCode=e,this.nestedError=void 0}},n=class extends t{constructor(e){super(1,`commander.invalidArgument`,e),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}};e.CommanderError=t,e.InvalidArgumentError=n})),E=n((e=>{let{InvalidArgumentError:t}=T();var n=class{constructor(e,t){switch(this.description=t||``,this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,e[0]){case`<`:this.required=!0,this._name=e.slice(1,-1);break;case`[`:this.required=!1,this._name=e.slice(1,-1);break;default:this.required=!0,this._name=e;break}this._name.endsWith(`...`)&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_collectValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:(t.push(e),t)}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}argParser(e){return this.parseArg=e,this}choices(e){return this.argChoices=e.slice(),this.parseArg=(e,n)=>{if(!this.argChoices.includes(e))throw new t(`Allowed choices are ${this.argChoices.join(`, `)}.`);return this.variadic?this._collectValue(e,n):e},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}};function r(e){let t=e.name()+(e.variadic===!0?`...`:``);return e.required?`<`+t+`>`:`[`+t+`]`}e.Argument=n,e.humanReadableArgName=r})),D=n((e=>{let{humanReadableArgName:t}=E();var n=class{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(e){this.helpWidth=this.helpWidth??e.helpWidth??80}visibleCommands(e){let t=e.commands.filter(e=>!e._hidden),n=e._getHelpCommand();return n&&!n._hidden&&t.push(n),this.sortSubcommands&&t.sort((e,t)=>e.name().localeCompare(t.name())),t}compareOptions(e,t){let n=e=>e.short?e.short.replace(/^-/,``):e.long.replace(/^--/,``);return n(e).localeCompare(n(t))}visibleOptions(e){let t=e.options.filter(e=>!e.hidden),n=e._getHelpOption();if(n&&!n.hidden){let r=n.short&&e._findOption(n.short),i=n.long&&e._findOption(n.long);!r&&!i?t.push(n):n.long&&!i?t.push(e.createOption(n.long,n.description)):n.short&&!r&&t.push(e.createOption(n.short,n.description))}return this.sortOptions&&t.sort(this.compareOptions),t}visibleGlobalOptions(e){if(!this.showGlobalOptions)return[];let t=[];for(let n=e.parent;n;n=n.parent){let e=n.options.filter(e=>!e.hidden);t.push(...e)}return this.sortOptions&&t.sort(this.compareOptions),t}visibleArguments(e){return e._argsDescription&&e.registeredArguments.forEach(t=>{t.description=t.description||e._argsDescription[t.name()]||``}),e.registeredArguments.find(e=>e.description)?e.registeredArguments:[]}subcommandTerm(e){let n=e.registeredArguments.map(e=>t(e)).join(` `);return e._name+(e._aliases[0]?`|`+e._aliases[0]:``)+(e.options.length?` [options]`:``)+(n?` `+n:``)}optionTerm(e){return e.flags}argumentTerm(e){return e.name()}longestSubcommandTermLength(e,t){return t.visibleCommands(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleSubcommandTerm(t.subcommandTerm(n)))),0)}longestOptionTermLength(e,t){return t.visibleOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestGlobalOptionTermLength(e,t){return t.visibleGlobalOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestArgumentTermLength(e,t){return t.visibleArguments(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleArgumentTerm(t.argumentTerm(n)))),0)}commandUsage(e){let t=e._name;e._aliases[0]&&(t=t+`|`+e._aliases[0]);let n=``;for(let t=e.parent;t;t=t.parent)n=t.name()+` `+n;return n+t+` `+e.usage()}commandDescription(e){return e.description()}subcommandDescription(e){return e.summary()||e.description()}optionDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&(e.required||e.optional||e.isBoolean()&&typeof e.defaultValue==`boolean`)&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),e.presetArg!==void 0&&e.optional&&t.push(`preset: ${JSON.stringify(e.presetArg)}`),e.envVar!==void 0&&t.push(`env: ${e.envVar}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}argumentDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}formatItemList(e,t,n){return t.length===0?[]:[n.styleTitle(e),...t,``]}groupItems(e,t,n){let r=new Map;return e.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[])}),t.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[]),r.get(t).push(e)}),r}formatHelp(e,t){let n=t.padWidth(e,t),r=t.helpWidth??80;function i(e,r){return t.formatItem(e,n,r,t)}let a=[`${t.styleTitle(`Usage:`)} ${t.styleUsage(t.commandUsage(e))}`,``],o=t.commandDescription(e);o.length>0&&(a=a.concat([t.boxWrap(t.styleCommandDescription(o),r),``]));let s=t.visibleArguments(e).map(e=>i(t.styleArgumentTerm(t.argumentTerm(e)),t.styleArgumentDescription(t.argumentDescription(e))));if(a=a.concat(this.formatItemList(`Arguments:`,s,t)),this.groupItems(e.options,t.visibleOptions(e),e=>e.helpGroupHeading??`Options:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),t.showGlobalOptions){let n=t.visibleGlobalOptions(e).map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(`Global Options:`,n,t))}return this.groupItems(e.commands,t.visibleCommands(e),e=>e.helpGroup()||`Commands:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleSubcommandTerm(t.subcommandTerm(e)),t.styleSubcommandDescription(t.subcommandDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),a.join(`
|
|
2
2
|
`)}displayWidth(e){return r(e).length}styleTitle(e){return e}styleUsage(e){return e.split(` `).map(e=>e===`[options]`?this.styleOptionText(e):e===`[command]`?this.styleSubcommandText(e):e[0]===`[`||e[0]===`<`?this.styleArgumentText(e):this.styleCommandText(e)).join(` `)}styleCommandDescription(e){return this.styleDescriptionText(e)}styleOptionDescription(e){return this.styleDescriptionText(e)}styleSubcommandDescription(e){return this.styleDescriptionText(e)}styleArgumentDescription(e){return this.styleDescriptionText(e)}styleDescriptionText(e){return e}styleOptionTerm(e){return this.styleOptionText(e)}styleSubcommandTerm(e){return e.split(` `).map(e=>e===`[options]`?this.styleOptionText(e):e[0]===`[`||e[0]===`<`?this.styleArgumentText(e):this.styleSubcommandText(e)).join(` `)}styleArgumentTerm(e){return this.styleArgumentText(e)}styleOptionText(e){return e}styleArgumentText(e){return e}styleSubcommandText(e){return e}styleCommandText(e){return e}padWidth(e,t){return Math.max(t.longestOptionTermLength(e,t),t.longestGlobalOptionTermLength(e,t),t.longestSubcommandTermLength(e,t),t.longestArgumentTermLength(e,t))}preformatted(e){return/\n[^\S\r\n]/.test(e)}formatItem(e,t,n,r){let i=` `.repeat(2);if(!n)return i+e;let a=e.padEnd(t+e.length-r.displayWidth(e)),o=(this.helpWidth??80)-t-2-2,s;return s=o<this.minWidthToWrap||r.preformatted(n)?n:r.boxWrap(n,o).replace(/\n/g,`
|
|
3
3
|
`+` `.repeat(t+2)),i+a+` `.repeat(2)+s.replace(/\n/g,`\n${i}`)}boxWrap(e,t){if(t<this.minWidthToWrap)return e;let n=e.split(/\r\n|\n/),r=/[\s]*[^\s]+/g,i=[];return n.forEach(e=>{let n=e.match(r);if(n===null){i.push(``);return}let a=[n.shift()],o=this.displayWidth(a[0]);n.forEach(e=>{let n=this.displayWidth(e);if(o+n<=t){a.push(e),o+=n;return}i.push(a.join(``));let r=e.trimStart();a=[r],o=this.displayWidth(r)}),i.push(a.join(``))}),i.join(`
|
|
4
4
|
`)}};function r(e){return e.replace(/\x1b\[\d*(;\d*)*m/g,``)}e.Help=n,e.stripColor=r})),O=n((e=>{let{InvalidArgumentError:t}=T();var n=class{constructor(e,t){this.flags=e,this.description=t||``,this.required=e.includes(`<`),this.optional=e.includes(`[`),this.variadic=/\w\.\.\.[>\]]$/.test(e),this.mandatory=!1;let n=a(e);this.short=n.shortFlag,this.long=n.longFlag,this.negate=!1,this.long&&(this.negate=this.long.startsWith(`--no-`)),this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0,this.helpGroupHeading=void 0}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}preset(e){return this.presetArg=e,this}conflicts(e){return this.conflictsWith=this.conflictsWith.concat(e),this}implies(e){let t=e;return typeof e==`string`&&(t={[e]:!0}),this.implied=Object.assign(this.implied||{},t),this}env(e){return this.envVar=e,this}argParser(e){return this.parseArg=e,this}makeOptionMandatory(e=!0){return this.mandatory=!!e,this}hideHelp(e=!0){return this.hidden=!!e,this}_collectValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:(t.push(e),t)}choices(e){return this.argChoices=e.slice(),this.parseArg=(e,n)=>{if(!this.argChoices.includes(e))throw new t(`Allowed choices are ${this.argChoices.join(`, `)}.`);return this.variadic?this._collectValue(e,n):e},this}name(){return this.long?this.long.replace(/^--/,``):this.short.replace(/^-/,``)}attributeName(){return this.negate?i(this.name().replace(/^no-/,``)):i(this.name())}helpGroup(e){return this.helpGroupHeading=e,this}is(e){return this.short===e||this.long===e}isBoolean(){return!this.required&&!this.optional&&!this.negate}},r=class{constructor(e){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,e.forEach(e=>{e.negate?this.negativeOptions.set(e.attributeName(),e):this.positiveOptions.set(e.attributeName(),e)}),this.negativeOptions.forEach((e,t)=>{this.positiveOptions.has(t)&&this.dualOptions.add(t)})}valueFromOption(e,t){let n=t.attributeName();if(!this.dualOptions.has(n))return!0;let r=this.negativeOptions.get(n).presetArg,i=r===void 0?!1:r;return t.negate===(i===e)}};function i(e){return e.split(`-`).reduce((e,t)=>e+t[0].toUpperCase()+t.slice(1))}function a(e){let t,n,r=/^-[^-]$/,i=/^--[^-]/,a=e.split(/[ |,]+/).concat(`guard`);if(r.test(a[0])&&(t=a.shift()),i.test(a[0])&&(n=a.shift()),!t&&r.test(a[0])&&(t=a.shift()),!t&&i.test(a[0])&&(t=n,n=a.shift()),a[0].startsWith(`-`)){let t=a[0],n=`option creation failed due to '${t}' in option flags '${e}'`;throw/^-[^-][^-]/.test(t)?Error(`${n}
|
|
@@ -16,7 +16,7 @@ Expecting one of '${n.join(`', '`)}'`);return this._lifeCycleHooks[e]?this._life
|
|
|
16
16
|
- if the default executable name is not suitable, use the executableFile option to supply a custom name or path
|
|
17
17
|
- ${t?`searched for local subcommand relative to directory '${t}'`:`no directory for search for local subcommand, use .executableDir() to supply a custom directory`}`;throw Error(r)}_executeSubCommand(e,t){t=t.slice();let n=!1,s=[`.js`,`.ts`,`.tsx`,`.mjs`,`.cjs`];function c(e,t){let n=i.resolve(e,t);if(a.existsSync(n))return n;if(s.includes(i.extname(t)))return;let r=s.find(e=>a.existsSync(`${n}${e}`));if(r)return`${n}${r}`}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let u=e._executableFile||`${this._name}-${e._name}`,d=this._executableDir||``;if(this._scriptPath){let e;try{e=a.realpathSync(this._scriptPath)}catch{e=this._scriptPath}d=i.resolve(i.dirname(e),d)}if(d){let t=c(d,u);if(!t&&!e._executableFile&&this._scriptPath){let n=i.basename(this._scriptPath,i.extname(this._scriptPath));n!==this._name&&(t=c(d,`${n}-${e._name}`))}u=t||u}n=s.includes(i.extname(u));let f;o.platform===`win32`?(this._checkForMissingExecutable(u,d,e._name),t.unshift(u),t=g(o.execArgv).concat(t),f=r.spawn(o.execPath,t,{stdio:`inherit`})):n?(t.unshift(u),t=g(o.execArgv).concat(t),f=r.spawn(o.argv[0],t,{stdio:`inherit`})):f=r.spawn(u,t,{stdio:`inherit`}),f.killed||[`SIGUSR1`,`SIGUSR2`,`SIGTERM`,`SIGINT`,`SIGHUP`].forEach(e=>{o.on(e,()=>{f.killed===!1&&f.exitCode===null&&f.kill(e)})});let p=this._exitCallback;f.on(`close`,e=>{e??=1,p?p(new l(e,`commander.executeSubCommandAsync`,`(close)`)):o.exit(e)}),f.on(`error`,t=>{if(t.code===`ENOENT`)this._checkForMissingExecutable(u,d,e._name);else if(t.code===`EACCES`)throw Error(`'${u}' not executable`);if(!p)o.exit(1);else{let e=new l(1,`commander.executeSubCommandAsync`,`(error)`);e.nestedError=t,p(e)}}),this.runningCommand=f}_dispatchSubcommand(e,t,n){let r=this._findCommand(e);r||this.help({error:!0}),r._prepareForParse();let i;return i=this._chainOrCallSubCommandHook(i,r,`preSubcommand`),i=this._chainOrCall(i,()=>{if(r._executableHandler)this._executeSubCommand(r,t.concat(n));else return r._parseCommand(t,n)}),i}_dispatchHelpCommand(e){e||this.help();let t=this._findCommand(e);return t&&!t._executableHandler&&t.help(),this._dispatchSubcommand(e,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??`--help`])}_checkNumberOfArguments(){this.registeredArguments.forEach((e,t)=>{e.required&&this.args[t]==null&&this.missingArgument(e.name())}),!(this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)&&this.args.length>this.registeredArguments.length&&this._excessArguments(this.args)}_processArguments(){let e=(e,t,n)=>{let r=t;if(t!==null&&e.parseArg){let i=`error: command-argument value '${t}' is invalid for argument '${e.name()}'.`;r=this._callParseArg(e,t,n,i)}return r};this._checkNumberOfArguments();let t=[];this.registeredArguments.forEach((n,r)=>{let i=n.defaultValue;n.variadic?r<this.args.length?(i=this.args.slice(r),n.parseArg&&(i=i.reduce((t,r)=>e(n,r,t),n.defaultValue))):i===void 0&&(i=[]):r<this.args.length&&(i=this.args[r],n.parseArg&&(i=e(n,i,n.defaultValue))),t[r]=i}),this.processedArgs=t}_chainOrCall(e,t){return e?.then&&typeof e.then==`function`?e.then(()=>t()):t()}_chainOrCallHooks(e,t){let n=e,r=[];return this._getCommandAndAncestors().reverse().filter(e=>e._lifeCycleHooks[t]!==void 0).forEach(e=>{e._lifeCycleHooks[t].forEach(t=>{r.push({hookedCommand:e,callback:t})})}),t===`postAction`&&r.reverse(),r.forEach(e=>{n=this._chainOrCall(n,()=>e.callback(e.hookedCommand,this))}),n}_chainOrCallSubCommandHook(e,t,n){let r=e;return this._lifeCycleHooks[n]!==void 0&&this._lifeCycleHooks[n].forEach(e=>{r=this._chainOrCall(r,()=>e(this,t))}),r}_parseCommand(e,t){let n=this.parseOptions(t);if(this._parseOptionsEnv(),this._parseOptionsImplied(),e=e.concat(n.operands),t=n.unknown,this.args=e.concat(t),e&&this._findCommand(e[0]))return this._dispatchSubcommand(e[0],e.slice(1),t);if(this._getHelpCommand()&&e[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(e[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(t),this._dispatchSubcommand(this._defaultCommandName,e,t);this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName&&this.help({error:!0}),this._outputHelpIfRequested(n.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let r=()=>{n.unknown.length>0&&this.unknownOption(n.unknown[0])},i=`command:${this.name()}`;if(this._actionHandler){r(),this._processArguments();let n;return n=this._chainOrCallHooks(n,`preAction`),n=this._chainOrCall(n,()=>this._actionHandler(this.processedArgs)),this.parent&&(n=this._chainOrCall(n,()=>{this.parent.emit(i,e,t)})),n=this._chainOrCallHooks(n,`postAction`),n}if(this.parent?.listenerCount(i))r(),this._processArguments(),this.parent.emit(i,e,t);else if(e.length){if(this._findCommand(`*`))return this._dispatchSubcommand(`*`,e,t);this.listenerCount(`command:*`)?this.emit(`command:*`,e,t):this.commands.length?this.unknownCommand():(r(),this._processArguments())}else this.commands.length?(r(),this.help({error:!0})):(r(),this._processArguments())}_findCommand(e){if(e)return this.commands.find(t=>t._name===e||t._aliases.includes(e))}_findOption(e){return this.options.find(t=>t.is(e))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach(e=>{e.options.forEach(t=>{t.mandatory&&e.getOptionValue(t.attributeName())===void 0&&e.missingMandatoryOptionValue(t)})})}_checkForConflictingLocalOptions(){let e=this.options.filter(e=>{let t=e.attributeName();return this.getOptionValue(t)===void 0?!1:this.getOptionValueSource(t)!==`default`});e.filter(e=>e.conflictsWith.length>0).forEach(t=>{let n=e.find(e=>t.conflictsWith.includes(e.attributeName()));n&&this._conflictingOption(t,n)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach(e=>{e._checkForConflictingLocalOptions()})}parseOptions(e){let t=[],n=[],r=t;function i(e){return e.length>1&&e[0]===`-`}let a=e=>/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(e)?!this._getCommandAndAncestors().some(e=>e.options.map(e=>e.short).some(e=>/^-\d$/.test(e))):!1,o=null,s=null,c=0;for(;c<e.length||s;){let l=s??e[c++];if(s=null,l===`--`){r===n&&r.push(l),r.push(...e.slice(c));break}if(o&&(!i(l)||a(l))){this.emit(`option:${o.name()}`,l);continue}if(o=null,i(l)){let t=this._findOption(l);if(t){if(t.required){let n=e[c++];n===void 0&&this.optionMissingArgument(t),this.emit(`option:${t.name()}`,n)}else if(t.optional){let n=null;c<e.length&&(!i(e[c])||a(e[c]))&&(n=e[c++]),this.emit(`option:${t.name()}`,n)}else this.emit(`option:${t.name()}`);o=t.variadic?t:null;continue}}if(l.length>2&&l[0]===`-`&&l[1]!==`-`){let e=this._findOption(`-${l[1]}`);if(e){e.required||e.optional&&this._combineFlagAndOptionalValue?this.emit(`option:${e.name()}`,l.slice(2)):(this.emit(`option:${e.name()}`),s=`-${l.slice(2)}`);continue}}if(/^--[^=]+=/.test(l)){let e=l.indexOf(`=`),t=this._findOption(l.slice(0,e));if(t&&(t.required||t.optional)){this.emit(`option:${t.name()}`,l.slice(e+1));continue}}if(r===t&&i(l)&&!(this.commands.length===0&&a(l))&&(r=n),(this._enablePositionalOptions||this._passThroughOptions)&&t.length===0&&n.length===0){if(this._findCommand(l)){t.push(l),n.push(...e.slice(c));break}else if(this._getHelpCommand()&&l===this._getHelpCommand().name()){t.push(l,...e.slice(c));break}else if(this._defaultCommandName){n.push(l,...e.slice(c));break}}if(this._passThroughOptions){r.push(l,...e.slice(c));break}r.push(l)}return{operands:t,unknown:n}}opts(){if(this._storeOptionsAsProperties){let e={},t=this.options.length;for(let n=0;n<t;n++){let t=this.options[n].attributeName();e[t]=t===this._versionOptionName?this._version:this[t]}return e}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((e,t)=>Object.assign(e,t.opts()),{})}error(e,t){this._outputConfiguration.outputError(`${e}\n`,this._outputConfiguration.writeErr),typeof this._showHelpAfterError==`string`?this._outputConfiguration.writeErr(`${this._showHelpAfterError}\n`):this._showHelpAfterError&&(this._outputConfiguration.writeErr(`
|
|
18
18
|
`),this.outputHelp({error:!0}));let n=t||{},r=n.exitCode||1,i=n.code||`commander.error`;this._exit(r,i,e)}_parseOptionsEnv(){this.options.forEach(e=>{if(e.envVar&&e.envVar in o.env){let t=e.attributeName();(this.getOptionValue(t)===void 0||[`default`,`config`,`env`].includes(this.getOptionValueSource(t)))&&(e.required||e.optional?this.emit(`optionEnv:${e.name()}`,o.env[e.envVar]):this.emit(`optionEnv:${e.name()}`))}})}_parseOptionsImplied(){let e=new p(this.options),t=e=>this.getOptionValue(e)!==void 0&&![`default`,`implied`].includes(this.getOptionValueSource(e));this.options.filter(n=>n.implied!==void 0&&t(n.attributeName())&&e.valueFromOption(this.getOptionValue(n.attributeName()),n)).forEach(e=>{Object.keys(e.implied).filter(e=>!t(e)).forEach(t=>{this.setOptionValueWithSource(t,e.implied[t],`implied`)})})}missingArgument(e){let t=`error: missing required argument '${e}'`;this.error(t,{code:`commander.missingArgument`})}optionMissingArgument(e){let t=`error: option '${e.flags}' argument missing`;this.error(t,{code:`commander.optionMissingArgument`})}missingMandatoryOptionValue(e){let t=`error: required option '${e.flags}' not specified`;this.error(t,{code:`commander.missingMandatoryOptionValue`})}_conflictingOption(e,t){let n=e=>{let t=e.attributeName(),n=this.getOptionValue(t),r=this.options.find(e=>e.negate&&t===e.attributeName()),i=this.options.find(e=>!e.negate&&t===e.attributeName());return r&&(r.presetArg===void 0&&n===!1||r.presetArg!==void 0&&n===r.presetArg)?r:i||e},r=e=>{let t=n(e),r=t.attributeName();return this.getOptionValueSource(r)===`env`?`environment variable '${t.envVar}'`:`option '${t.flags}'`},i=`error: ${r(e)} cannot be used with ${r(t)}`;this.error(i,{code:`commander.conflictingOption`})}unknownOption(e){if(this._allowUnknownOption)return;let t=``;if(e.startsWith(`--`)&&this._showSuggestionAfterError){let n=[],r=this;do{let e=r.createHelp().visibleOptions(r).filter(e=>e.long).map(e=>e.long);n=n.concat(e),r=r.parent}while(r&&!r._enablePositionalOptions);t=m(e,n)}let n=`error: unknown option '${e}'${t}`;this.error(n,{code:`commander.unknownOption`})}_excessArguments(e){if(this._allowExcessArguments)return;let t=this.registeredArguments.length,n=t===1?``:`s`,r=`error: too many arguments${this.parent?` for '${this.name()}'`:``}. Expected ${t} argument${n} but got ${e.length}.`;this.error(r,{code:`commander.excessArguments`})}unknownCommand(){let e=this.args[0],t=``;if(this._showSuggestionAfterError){let n=[];this.createHelp().visibleCommands(this).forEach(e=>{n.push(e.name()),e.alias()&&n.push(e.alias())}),t=m(e,n)}let n=`error: unknown command '${e}'${t}`;this.error(n,{code:`commander.unknownCommand`})}version(e,t,n){if(e===void 0)return this._version;this._version=e,t||=`-V, --version`,n||=`output the version number`;let r=this.createOption(t,n);return this._versionOptionName=r.attributeName(),this._registerOption(r),this.on(`option:`+r.name(),()=>{this._outputConfiguration.writeOut(`${e}\n`),this._exit(0,`commander.version`,e)}),this}description(e,t){return e===void 0&&t===void 0?this._description:(this._description=e,t&&(this._argsDescription=t),this)}summary(e){return e===void 0?this._summary:(this._summary=e,this)}alias(e){if(e===void 0)return this._aliases[0];let t=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler&&(t=this.commands[this.commands.length-1]),e===t._name)throw Error(`Command alias can't be the same as its name`);let n=this.parent?._findCommand(e);if(n){let t=[n.name()].concat(n.aliases()).join(`|`);throw Error(`cannot add alias '${e}' to command '${this.name()}' as already have command '${t}'`)}return t._aliases.push(e),this}aliases(e){return e===void 0?this._aliases:(e.forEach(e=>this.alias(e)),this)}usage(e){if(e===void 0){if(this._usage)return this._usage;let e=this.registeredArguments.map(e=>c(e));return[].concat(this.options.length||this._helpOption!==null?`[options]`:[],this.commands.length?`[command]`:[],this.registeredArguments.length?e:[]).join(` `)}return this._usage=e,this}name(e){return e===void 0?this._name:(this._name=e,this)}helpGroup(e){return e===void 0?this._helpGroupHeading??``:(this._helpGroupHeading=e,this)}commandsGroup(e){return e===void 0?this._defaultCommandGroup??``:(this._defaultCommandGroup=e,this)}optionsGroup(e){return e===void 0?this._defaultOptionGroup??``:(this._defaultOptionGroup=e,this)}_initOptionGroup(e){this._defaultOptionGroup&&!e.helpGroupHeading&&e.helpGroup(this._defaultOptionGroup)}_initCommandGroup(e){this._defaultCommandGroup&&!e.helpGroup()&&e.helpGroup(this._defaultCommandGroup)}nameFromFilename(e){return this._name=i.basename(e,i.extname(e)),this}executableDir(e){return e===void 0?this._executableDir:(this._executableDir=e,this)}helpInformation(e){let t=this.createHelp(),n=this._getOutputContext(e);t.prepareContext({error:n.error,helpWidth:n.helpWidth,outputHasColors:n.hasColors});let r=t.formatHelp(this,t);return n.hasColors?r:this._outputConfiguration.stripColor(r)}_getOutputContext(e){e||={};let t=!!e.error,n,r,i;return t?(n=e=>this._outputConfiguration.writeErr(e),r=this._outputConfiguration.getErrHasColors(),i=this._outputConfiguration.getErrHelpWidth()):(n=e=>this._outputConfiguration.writeOut(e),r=this._outputConfiguration.getOutHasColors(),i=this._outputConfiguration.getOutHelpWidth()),{error:t,write:e=>(r||(e=this._outputConfiguration.stripColor(e)),n(e)),hasColors:r,helpWidth:i}}outputHelp(e){let t;typeof e==`function`&&(t=e,e=void 0);let n=this._getOutputContext(e),r={error:n.error,write:n.write,command:this};this._getCommandAndAncestors().reverse().forEach(e=>e.emit(`beforeAllHelp`,r)),this.emit(`beforeHelp`,r);let i=this.helpInformation({error:n.error});if(t&&(i=t(i),typeof i!=`string`&&!Buffer.isBuffer(i)))throw Error(`outputHelp callback must return a string or a Buffer`);n.write(i),this._getHelpOption()?.long&&this.emit(this._getHelpOption().long),this.emit(`afterHelp`,r),this._getCommandAndAncestors().forEach(e=>e.emit(`afterAllHelp`,r))}helpOption(e,t){return typeof e==`boolean`?(e?(this._helpOption===null&&(this._helpOption=void 0),this._defaultOptionGroup&&this._initOptionGroup(this._getHelpOption())):this._helpOption=null,this):(this._helpOption=this.createOption(e??`-h, --help`,t??`display help for command`),(e||t)&&this._initOptionGroup(this._helpOption),this)}_getHelpOption(){return this._helpOption===void 0&&this.helpOption(void 0,void 0),this._helpOption}addHelpOption(e){return this._helpOption=e,this._initOptionGroup(e),this}help(e){this.outputHelp(e);let t=Number(o.exitCode??0);t===0&&e&&typeof e!=`function`&&e.error&&(t=1),this._exit(t,`commander.help`,`(outputHelp)`)}addHelpText(e,t){let n=[`beforeAll`,`before`,`after`,`afterAll`];if(!n.includes(e))throw Error(`Unexpected value for position to addHelpText.
|
|
19
|
-
Expecting one of '${n.join(`', '`)}'`);let r=`${e}Help`;return this.on(r,e=>{let n;n=typeof t==`function`?t({error:e.error,command:e.command}):t,n&&e.write(`${n}\n`)}),this}_outputHelpIfRequested(e){let t=this._getHelpOption();t&&e.find(e=>t.is(e))&&(this.outputHelp(),this._exit(0,`commander.helpDisplayed`,`(outputHelp)`))}};function g(e){return e.map(e=>{if(!e.startsWith(`--inspect`))return e;let t,n=`127.0.0.1`,r=`9229`,i;return(i=e.match(/^(--inspect(-brk)?)$/))===null?(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))===null?(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(t=i[1],n=i[3],r=i[4]):(t=i[1],/^\d+$/.test(i[3])?r=i[3]:n=i[3]):t=i[1],t&&r!==`0`?`${t}=${n}:${parseInt(r)+1}`:e})}function _(){if(o.env.NO_COLOR||o.env.FORCE_COLOR===`0`||o.env.FORCE_COLOR===`false`)return!1;if(o.env.FORCE_COLOR||o.env.CLICOLOR_FORCE!==void 0)return!0}t.Command=h,t.useColor=_}));const{program:ce,createCommand:le,createArgument:ue,createOption:de,CommanderError:fe,InvalidArgumentError:pe,InvalidOptionArgumentError:me,Command:he,Argument:ge,Option:_e,Help:ve}=t(n((e=>{let{Argument:t}=E(),{Command:n}=se(),{CommanderError:r,InvalidArgumentError:i}=T(),{Help:a}=D(),{Option:o}=O();e.program=new n,e.createCommand=e=>new n(e),e.createOption=(e,t)=>new o(e,t),e.createArgument=(e,n)=>new t(e,n),e.Command=n,e.Option=o,e.Argument=t,e.Help=a,e.CommanderError=r,e.InvalidArgumentError=i,e.InvalidOptionArgumentError=i}))(),1).default,k=
|
|
19
|
+
Expecting one of '${n.join(`', '`)}'`);let r=`${e}Help`;return this.on(r,e=>{let n;n=typeof t==`function`?t({error:e.error,command:e.command}):t,n&&e.write(`${n}\n`)}),this}_outputHelpIfRequested(e){let t=this._getHelpOption();t&&e.find(e=>t.is(e))&&(this.outputHelp(),this._exit(0,`commander.helpDisplayed`,`(outputHelp)`))}};function g(e){return e.map(e=>{if(!e.startsWith(`--inspect`))return e;let t,n=`127.0.0.1`,r=`9229`,i;return(i=e.match(/^(--inspect(-brk)?)$/))===null?(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))===null?(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(t=i[1],n=i[3],r=i[4]):(t=i[1],/^\d+$/.test(i[3])?r=i[3]:n=i[3]):t=i[1],t&&r!==`0`?`${t}=${n}:${parseInt(r)+1}`:e})}function _(){if(o.env.NO_COLOR||o.env.FORCE_COLOR===`0`||o.env.FORCE_COLOR===`false`)return!1;if(o.env.FORCE_COLOR||o.env.CLICOLOR_FORCE!==void 0)return!0}t.Command=h,t.useColor=_}));const{program:ce,createCommand:le,createArgument:ue,createOption:de,CommanderError:fe,InvalidArgumentError:pe,InvalidOptionArgumentError:me,Command:he,Argument:ge,Option:_e,Help:ve}=t(n((e=>{let{Argument:t}=E(),{Command:n}=se(),{CommanderError:r,InvalidArgumentError:i}=T(),{Help:a}=D(),{Option:o}=O();e.program=new n,e.createCommand=e=>new n(e),e.createOption=(e,t)=>new o(e,t),e.createArgument=(e,n)=>new t(e,n),e.Command=n,e.Option=o,e.Argument=t,e.Help=a,e.CommanderError=r,e.InvalidArgumentError=i,e.InvalidOptionArgumentError=i}))(),1).default,k=r,A=i,j=o,M=`node`,N={MCP_DEBUG:`1`,OK_LOG_FILE:`/tmp/ok-mcp.log`},P=`# ok-mcp-v2
|
|
20
20
|
USER_BUNDLE="$HOME/Applications/OpenKnowledge.app/Contents/Resources/cli/bin/ok.sh"
|
|
21
21
|
[ -f "$USER_BUNDLE" ] && [ -x "$USER_BUNDLE" ] && exec "$USER_BUNDLE" mcp
|
|
22
22
|
BUNDLE="/Applications/OpenKnowledge.app/Contents/Resources/cli/bin/ok.sh"
|
|
@@ -52,5 +52,5 @@ foreach ($d in $dirs) {
|
|
|
52
52
|
if (Test-Path -LiteralPath $probe -PathType Leaf) { & $probe -y '@inkeep/open-knowledge@latest' mcp; exit $LASTEXITCODE }
|
|
53
53
|
}
|
|
54
54
|
[Console]::Error.WriteLine('OpenKnowledge: install Node.js 24+ (npm i -g @inkeep/open-knowledge), then restart your editor')
|
|
55
|
-
exit 127`,I=`// ok-pi-bridge`,L=`${I}-v1`,ye=`ok-pi-managed-extension`;function be(e){if(typeof e!=`object`||!e)return!1;let t=e;if(t.command===`/bin/sh`){if(!Array.isArray(t.args)||t.args[0]!==`-l`||t.args[1]!==`-c`)return!1;let e=t.args[2];return typeof e==`string`&&e.includes(`# ok-mcp-v2`)}if(t.command===`powershell`){if(!Array.isArray(t.args)||t.args[0]!==`-NoProfile`||t.args[1]!==`-NonInteractive`||t.args[2]!==`-Command`)return!1;let e=t.args[3];return typeof e==`string`&&e.includes(`# ok-mcp-win-v1`)}if(t.type===`local`&&Array.isArray(t.command)){if(t.command[0]===`/bin/sh`){if(t.command[1]!==`-l`||t.command[2]!==`-c`)return!1;let e=t.command[3];return typeof e==`string`&&e.includes(`# ok-mcp-v2`)}if(t.command[0]===`powershell`){if(t.command[1]!==`-NoProfile`||t.command[2]!==`-NonInteractive`||t.command[3]!==`-Command`)return!1;let e=t.command[4];return typeof e==`string`&&e.includes(`# ok-mcp-win-v1`)}return!1}if(t.command===`ok-pi-managed-extension`){if(!Array.isArray(t.args))return!1;let e=t.args[0];return typeof e==`string`&&e.startsWith(L)}return!1}function R(e=process.argv[1]){if(!e)throw Error(`Cannot infer the local CLI entry for --dev-mcp because process.argv[1] is empty.`);let t=_(e);if(d(t)===`cli.mjs`&&d(f(t))===`dist`)return t;let n=t.split(v),r=n.lastIndexOf(`packages`);if(r===-1||n[r+1]!==`cli`)throw Error(`Cannot infer the repo root for --dev-mcp from ${t}. Run the local CLI from this repo so the built dist path can be derived.`);let i=n.slice(0,r);return m(i.length===0?v:i.join(v),`packages`,`cli`,`dist`,`cli.mjs`)}function z(e={}){return e.mode===`dev`?{command:M,args:[R(),`mcp`],env:{...N}}:(e.platformName??process.platform)===`win32`?{command:`powershell`,args:[`-NoProfile`,`-NonInteractive`,`-Command`,F]}:{command:`/bin/sh`,args:[`-l`,`-c`,P]}}function xe(e={}){return e.mode===`dev`?{type:`local`,enabled:!0,command:[M,R(),`mcp`],environment:{...N}}:(e.platformName??process.platform)===`win32`?{type:`local`,enabled:!0,command:[`powershell`,`-NoProfile`,`-NonInteractive`,`-Command`,F]}:{type:`local`,enabled:!0,command:[`/bin/sh`,`-l`,`-c`,P]}}function Se(e){if(typeof e!=`object`||!e)return!1;let t=e;return B(t,z({mode:`published`,platformName:`darwin`}))||B(t,z({mode:`published`,platformName:`win32`}))}function B(e,t){return Object.keys(e).length===Object.keys(t).length?Ce(e,t):!1}function Ce(e,t){if(e.command!==t.command)return!1;let n=t.args;return!Array.isArray(n)||!Array.isArray(e.args)||e.args.length!==n.length?!1:e.args.every((e,t)=>e===n[t])}function V(e,t){let n=e=>typeof e==`string`&&e.includes(`# ok-mcp`);return t===`/bin/sh`?e[0]===`-l`&&e[1]===`-c`&&n(e[2]):t===`powershell`?e[0]===`-NoProfile`&&e[1]===`-NonInteractive`&&e[2]===`-Command`&&n(e[3]):!1}function we(e){if(typeof e!=`object`||!e)return!1;let t=e;return t.enabled===!1||typeof t.command!=`string`||!Array.isArray(t.args)?!1:V(t.args,t.command)}function Te(e){if(typeof e!=`object`||!e)return!1;let t=e;if(t.type!==`local`||t.enabled===!1||!Array.isArray(t.command))return!1;let[n,...r]=t.command;return typeof n==`string`&&V(r,n)}function H(e){return e===`win32`?y:h}function Ee(e={}){let t=e.platformName??process.platform,n=e.home??w(),r=e.env??process.env,i=H(t);return t===`darwin`?i.join(n,`Library`,`Application Support`):t===`win32`?r.APPDATA??i.join(n,`AppData`,`Roaming`):r.XDG_CONFIG_HOME??i.join(n,`.config`)}function De(e={}){let t=e.platformName??process.platform,n=e.home??w();return H(t).join(n,`.claude.json`)}function U(e={}){let t=e.platformName??process.platform,n=e.home??w(),r=e.env??process.env;if(t===`darwin`)return h.join(n,`Library`,`Application Support`,`Claude`,`claude_desktop_config.json`);if(t===`win32`){let e=r.APPDATA??y.join(n,`AppData`,`Roaming`);return y.join(e,`Claude`,`claude_desktop_config.json`)}throw Error(`Claude Desktop is not available on ${t}. Supported: macOS, Windows.`)}function W(e={}){let t=e.platformName??process.platform,n=e.home??w();return H(t).join(n,`.cursor`,`mcp.json`)}function Oe(e={}){let t=e.platformName??process.platform,n=e.home??w();return(e.env??process.env).CODEX_HOME??H(t).join(n,`.codex`)}function G(e={}){return H(e.platformName??process.platform).join(Oe(e),`config.toml`)}function K(e={}){let t=e.platformName??process.platform,n=e.home??w(),r=(e.env??process.env).COPILOT_HOME??H(t).join(n,`.copilot`);return H(t).join(r,`mcp-config.json`)}function ke(e={}){let t=e.platformName??process.platform,n=e.home??w(),r=e.env??process.env,i=H(t);if(t===`win32`){let e=r.APPDATA??i.join(n,`AppData`,`Roaming`);return i.join(e,`opencode`)}let a=r.XDG_CONFIG_HOME??i.join(n,`.config`);return i.join(a,`opencode`)}function q(e={}){return H(e.platformName??process.platform).join(ke(e),`opencode.json`)}function Ae(e={}){let t=e.platformName??process.platform,n=e.home??w();return H(t).join(n,`.openclaw`,`openclaw.json`)}function je(e={}){let t=e.platformName??process.platform,n=e.home??w();return H(t).join(n,`.hermes`,`config.yaml`)}function Me(e={}){let t=e.platformName??process.platform,n=e.home??w();return(e.env??process.env).PI_CODING_AGENT_DIR??H(t).join(n,`.pi`,`agent`)}function Ne(e={}){let t=e.platformName??process.platform,n=e.home??w();return H(t).join(n,`.gemini`,`config`,`mcp_config.json`)}function Pe(e,t){let n=H(t),r=n.join(e,`.lmstudio`,`mcp.json`),i=n.join(e,`.cache`,`lm-studio`,`mcp.json`);return t===`darwin`?[i,r]:[r,i]}function J(e={}){let t=e.platformName??process.platform,n=Pe(e.home??w(),t);return n.find(e=>b(e))||n.find(e=>b(f(e)))||n[0]}const Y={claude:{id:`claude`,label:A.claude,configPath:(e,t)=>De({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>o,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>m(t??w(),`.claude`),projectConfigPath:e=>m(e,`.mcp.json`),projectSkillPath:e=>m(e,`.claude`,`skills`,`open-knowledge`,`SKILL.md`)},"claude-desktop":{id:`claude-desktop`,label:A[`claude-desktop`],configPath:(e,t)=>U({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>o,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>f(U({home:t}))},cursor:{id:`cursor`,label:A.cursor,configPath:(e,t)=>W({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>o,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>f(W({home:t})),projectConfigPath:e=>m(e,`.cursor`,`mcp.json`),projectSkillPath:e=>m(e,`.cursor`,`skills`,`open-knowledge`,`SKILL.md`)},codex:{id:`codex`,label:A.codex,configPath:(e,t)=>G({home:t}),format:`toml`,topLevelKey:`mcp_servers`,serverName:()=>o,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>f(G({home:t})),projectConfigPath:e=>m(e,`.codex`,`config.toml`),projectSkillPath:e=>m(e,`.codex`,`skills`,`open-knowledge`,`SKILL.md`)},copilot:{id:`copilot`,label:A.copilot,configPath:(e,t)=>K({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>o,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>f(K({home:t})),projectSkillPath:e=>m(e,`.github`,`skills`,`open-knowledge`,`SKILL.md`)},opencode:{id:`opencode`,label:A.opencode,configPath:(e,t)=>q({home:t}),format:`json`,topLevelKey:`mcp`,serverName:()=>o,buildEntry:(e,t)=>xe(t),scope:`global`,detectPath:(e,t)=>f(q({home:t})),projectConfigPath:e=>m(e,`opencode.json`),projectSkillPath:e=>m(e,`.opencode`,`skills`,`open-knowledge`,`SKILL.md`)},openclaw:{id:`openclaw`,label:A.openclaw,configPath:(e,t)=>Ae({home:t}),format:`json`,topLevelKey:`mcp`,serverMapSubKey:`servers`,serverName:()=>o,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>m(t??w(),`.openclaw`),offerOnlyWhenDetected:!0},pi:{id:`pi`,label:A.pi,configPath:()=>{throw Error("Pi has no user-global MCP config; OK's integration is the project-scoped bridge extension at .pi/extensions/open-knowledge.ts (run `ok init` in the project).")},format:`file`,topLevelKey:`mcpServers`,serverName:()=>o,buildEntry:()=>{throw Error(`Pi has no MCP entry shape; the managed bridge file is built by buildPiExtensionSource (integrations/pi-extension.ts).`)},scope:`project`,detectPath:(e,t)=>Me({home:t}),projectConfigPath:e=>m(e,`.pi`,`extensions`,`open-knowledge.ts`),projectSkillPath:e=>m(e,`.pi`,`skills`,`open-knowledge`,`SKILL.md`)},antigravity:{id:`antigravity`,label:A.antigravity,configPath:(e,t)=>Ne({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>o,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>m(t??w(),`.gemini`),offerOnlyWhenDetected:!0},"lm-studio":{id:`lm-studio`,label:A[`lm-studio`],configPath:(e,t)=>J({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>o,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>f(J({home:t})),offerOnlyWhenDetected:!0},hermes:{id:`hermes`,label:A.hermes,configPath:(e,t)=>je({home:t}),format:`yaml`,topLevelKey:`mcp_servers`,serverName:()=>o,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>m(t??w(),`.hermes`),offerOnlyWhenDetected:!0}};function Fe(e){let t=e.filter(e=>!Object.hasOwn(Y,e));if(t.length>0)throw Error(`Unknown editor(s): ${t.join(`, `)}. Valid options: ${k.join(`, `)}`);return e.map(e=>Y[e])}const Ie=[{hostDir:`.adal`,pruneRoot:`.adal`},{hostDir:`.aider-desk`,pruneRoot:`.aider-desk`},{hostDir:`.astrbot/data`,pruneRoot:`.astrbot`},{hostDir:`.augment`,pruneRoot:`.augment`},{hostDir:`.autohand`,pruneRoot:`.autohand`},{hostDir:`.bob`,pruneRoot:`.bob`},{hostDir:`.codeartsdoer`,pruneRoot:`.codeartsdoer`},{hostDir:`.codebuddy`,pruneRoot:`.codebuddy`},{hostDir:`.codeium/windsurf`,pruneRoot:`.codeium`},{hostDir:`.codemaker`,pruneRoot:`.codemaker`},{hostDir:`.codestudio`,pruneRoot:`.codestudio`},{hostDir:`.commandcode`,pruneRoot:`.commandcode`},{hostDir:`.config/crush`,pruneRoot:`.config/crush`},{hostDir:`.config/devin`,pruneRoot:`.config/devin`},{hostDir:`.config/goose`,pruneRoot:`.config/goose`},{hostDir:`.config/kimchi/harness`,pruneRoot:`.config/kimchi`},{hostDir:`.continue`,pruneRoot:`.continue`},{hostDir:`.factory`,pruneRoot:`.factory`},{hostDir:`.forge`,pruneRoot:`.forge`},{hostDir:`.grok`,pruneRoot:`.grok`},{hostDir:`.iflow`,pruneRoot:`.iflow`},{hostDir:`.inferencesh`,pruneRoot:`.inferencesh`},{hostDir:`.jazz`,pruneRoot:`.jazz`},{hostDir:`.junie`,pruneRoot:`.junie`},{hostDir:`.kilocode`,pruneRoot:`.kilocode`},{hostDir:`.kiro`,pruneRoot:`.kiro`},{hostDir:`.kode`,pruneRoot:`.kode`},{hostDir:`.lingma`,pruneRoot:`.lingma`},{hostDir:`.mcpjam`,pruneRoot:`.mcpjam`},{hostDir:`.moxby`,pruneRoot:`.moxby`},{hostDir:`.mux`,pruneRoot:`.mux`},{hostDir:`.neovate`,pruneRoot:`.neovate`},{hostDir:`.ona`,pruneRoot:`.ona`},{hostDir:`.openhands`,pruneRoot:`.openhands`},{hostDir:`.pochi`,pruneRoot:`.pochi`},{hostDir:`.qoder`,pruneRoot:`.qoder`},{hostDir:`.qoder-cn`,pruneRoot:`.qoder-cn`},{hostDir:`.qwen`,pruneRoot:`.qwen`},{hostDir:`.reasonix`,pruneRoot:`.reasonix`},{hostDir:`.roo`,pruneRoot:`.roo`},{hostDir:`.rovodev`,pruneRoot:`.rovodev`},{hostDir:`.snowflake/cortex`,pruneRoot:`.snowflake`},{hostDir:`.tabnine/agent`,pruneRoot:`.tabnine`},{hostDir:`.terramind`,pruneRoot:`.terramind`},{hostDir:`.tinycloud`,pruneRoot:`.tinycloud`},{hostDir:`.trae`,pruneRoot:`.trae`},{hostDir:`.trae-cn`,pruneRoot:`.trae-cn`},{hostDir:`.vibe`,pruneRoot:`.vibe`},{hostDir:`.zcode`,pruneRoot:`.zcode`},{hostDir:`.zencoder`,pruneRoot:`.zencoder`}],Le=[...c.map(e=>l[e]),`open-knowledge`];function X(e){if(!p(e))throw Error(`skill cleanup requires an absolute home directory; got ${JSON.stringify(e)}`);let t=_(e);if(t===v||f(t)===t)throw Error(`skill cleanup refuses to operate on the filesystem root (${t})`);return t}function Z(e,t){let n=g(e,t);if(n.startsWith(`..`)||p(n))return!1;let r=e;for(let e of n.split(v)){r=m(r,e);try{if(!x(r).isDirectory())return!1}catch{return!1}}return!0}function Re(e,t){try{return re(e).every(n=>t.has(m(e,n)))}catch{return!1}}function ze(e){let t=X(e),n=[],r=[],i=new Set;for(let e of Ie){let a=m(t,e.hostDir,`skills`);if(!Z(t,a))continue;let o=Le.map(e=>m(a,e)).filter(e=>b(e));n.push(...o);for(let e of o)i.add(e);let s=m(t,e.pruneRoot),c=a;for(;Re(c,i)&&(r.push(c),i.add(c),c!==s);){let e=f(c);if(e===c||e===t||!e.startsWith(t+v))break;c=e}}return{skillDirs:n,emptyDirs:r}}function Be(e){try{if(!x(e).isDirectory())return!1;let t=re(e);return t.length===0||t.includes(`SKILL.md`)}catch{return!1}}function Ve(e){let t=new Set,n=new Set;for(let r of Ie){let i=m(e,r.hostDir,`skills`);for(let e of Le)t.add(m(i,e));let a=m(e,r.pruneRoot),o=i;for(;n.add(o),o!==a;){let t=f(o);if(t===o||t===e||!t.startsWith(e+v))break;o=t}}return{skillDirs:t,emptyDirs:n}}function He(e,t){let n=X(e),r=Ve(n),i=[...t.skillDirs.filter(e=>!r.skillDirs.has(e)),...t.emptyDirs.filter(e=>!r.emptyDirs.has(e))];if(i.length>0)throw Error(`refusing skill cleanup — ${i.length} path(s) outside the known legacy set: ${i.join(`, `)}`);let a=[];for(let e of t.skillDirs)if(Z(n,e)&&Be(e))try{C(e,{recursive:!0,force:!0}),a.push(e)}catch{}for(let e of t.emptyDirs)if(Z(n,e))try{ie(e),a.push(e)}catch{}return a}function Q(e){let t=X(e),n=[];for(let e of c){let r=l[e];n.push({path:m(t,`.agents`,`skills`,r),bundleId:e,scope:`central`});for(let i of j)n.push({path:m(t,i.hostDir,`skills`,r),bundleId:e,scope:`host`,hostDir:i.hostDir})}return n}function Ue(e,t){let n=[];for(let r of Q(e))if(r.bundleId===t)try{C(r.path,{recursive:!0,force:!0})}catch(e){n.push(e instanceof Error?e:Error(String(e)))}if(n.length>0)throw AggregateError(n,`Failed to remove ${n.length} path(s) for ${t}`)}function We(e,t){let n;try{n=x(e)}catch(e){if(e.code!==`ENOENT`)throw e}if(n?.isSymbolicLink())throw Error(`Refusing to write through a symbolic link at ${e}. Remove the symlink and re-run project setup.`);Ke(e,t)}function Ge(e,t){Ke(e,t)}function Ke(e,t){let n;try{n=S(t)}catch{n=_(t)}let r=f(e);for(;r.length>1&&r!==v;){let t;try{t=S(r)}catch(e){if(e.code===`ENOENT`){r=f(r);continue}throw e}let i=g(n,t);if(i===``||!i.startsWith(`..`)&&!p(i))return;throw Error(`Refusing to write at ${e}: ancestor ${r} resolves to ${t}, which is outside the project directory ${n}. A symbolic link in the path likely escapes the project. Remove the symlink and re-run project setup.`)}}function $(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function qe(e,t,n){try{if(ae(n).size>10485760)return!1}catch{return!1}let r;try{r=ne(n,`utf-8`)}catch{return!1}let i=[],a=u(r.charCodeAt(0)===65279?r.slice(1):r,i,{allowTrailingComma:!0,disallowComments:!1});if(i.length>0||!$(a))return!1;let o=a[e.topLevelKey];if(!$(o))return!1;let s=e.serverMapSubKey?o[e.serverMapSubKey]:o;return $(s)?$(s[e.serverName(t)]):!1}function Je(e,t,n={}){if(e.id!==`copilot`)return!0;try{return qe(e,t,e.configPath(t,n.home))}catch{return!1}}function Ye(e,t,n={}){let r=e.projectSkillPath?.(t);if(!r)return{editorId:e.id,label:e.label,action:`skipped-unsupported`,path:``};if(!Je(e,t,n))return{editorId:e.id,label:e.label,action:`skipped-prerequisite`,path:r};try{let n=s(`project`,{checkDesktop:!0}),i=f(r);We(i,t);let a=b(r)?`overwritten`:`written`;return C(i,{recursive:!0,force:!0}),te(f(i),{recursive:!0}),ee(n,i,{recursive:!0}),{editorId:e.id,label:e.label,action:a,path:r}}catch(t){return{editorId:e.id,label:e.label,action:`failed`,path:r,error:t instanceof Error?t.message:String(t)}}}function Xe(e,t){let n=e.projectSkillPath?.(t);if(!n)return{editorId:e.id,label:e.label,action:`skipped-unsupported`,path:``};try{let r=f(n);return b(n)?(Ge(r,t),C(r,{recursive:!0,force:!0}),{editorId:e.id,label:e.label,action:`removed`,path:n}):{editorId:e.id,label:e.label,action:`not-present`,path:n}}catch(t){return{editorId:e.id,label:e.label,action:`failed`,path:n,error:t instanceof Error?t.message:String(t)}}}export{he as C,Fe as S,_e as T,we as _,He as a,Te as b,Q as c,Y as d,j as f,z as g,ye as h,Ye as i,k as l,L as m,Ge as n,ze as o,I as p,Xe as r,Ue as s,We as t,A as u,be as v,pe as w,Ee as x,Se as y};
|
|
56
|
-
//# sourceMappingURL=write-project-skill-
|
|
55
|
+
exit 127`,I=`// ok-pi-bridge`,L=`${I}-v1`,ye=`ok-pi-managed-extension`;function be(e){if(typeof e!=`object`||!e)return!1;let t=e;if(t.command===`/bin/sh`){if(!Array.isArray(t.args)||t.args[0]!==`-l`||t.args[1]!==`-c`)return!1;let e=t.args[2];return typeof e==`string`&&e.includes(`# ok-mcp-v2`)}if(t.command===`powershell`){if(!Array.isArray(t.args)||t.args[0]!==`-NoProfile`||t.args[1]!==`-NonInteractive`||t.args[2]!==`-Command`)return!1;let e=t.args[3];return typeof e==`string`&&e.includes(`# ok-mcp-win-v1`)}if(t.type===`local`&&Array.isArray(t.command)){if(t.command[0]===`/bin/sh`){if(t.command[1]!==`-l`||t.command[2]!==`-c`)return!1;let e=t.command[3];return typeof e==`string`&&e.includes(`# ok-mcp-v2`)}if(t.command[0]===`powershell`){if(t.command[1]!==`-NoProfile`||t.command[2]!==`-NonInteractive`||t.command[3]!==`-Command`)return!1;let e=t.command[4];return typeof e==`string`&&e.includes(`# ok-mcp-win-v1`)}return!1}if(t.command===`ok-pi-managed-extension`){if(!Array.isArray(t.args))return!1;let e=t.args[0];return typeof e==`string`&&e.startsWith(L)}return!1}function R(e=process.argv[1]){if(!e)throw Error(`Cannot infer the local CLI entry for --dev-mcp because process.argv[1] is empty.`);let t=_(e);if(d(t)===`cli.mjs`&&d(f(t))===`dist`)return t;let n=t.split(v),r=n.lastIndexOf(`packages`);if(r===-1||n[r+1]!==`cli`)throw Error(`Cannot infer the repo root for --dev-mcp from ${t}. Run the local CLI from this repo so the built dist path can be derived.`);let i=n.slice(0,r);return m(i.length===0?v:i.join(v),`packages`,`cli`,`dist`,`cli.mjs`)}function z(e={}){return e.mode===`dev`?{command:M,args:[R(),`mcp`],env:{...N}}:(e.platformName??process.platform)===`win32`?{command:`powershell`,args:[`-NoProfile`,`-NonInteractive`,`-Command`,F]}:{command:`/bin/sh`,args:[`-l`,`-c`,P]}}function xe(e={}){return e.mode===`dev`?{type:`local`,enabled:!0,command:[M,R(),`mcp`],environment:{...N}}:(e.platformName??process.platform)===`win32`?{type:`local`,enabled:!0,command:[`powershell`,`-NoProfile`,`-NonInteractive`,`-Command`,F]}:{type:`local`,enabled:!0,command:[`/bin/sh`,`-l`,`-c`,P]}}function Se(e){if(typeof e!=`object`||!e)return!1;let t=e;return B(t,z({mode:`published`,platformName:`darwin`}))||B(t,z({mode:`published`,platformName:`win32`}))}function B(e,t){return Object.keys(e).length===Object.keys(t).length?Ce(e,t):!1}function Ce(e,t){if(e.command!==t.command)return!1;let n=t.args;return!Array.isArray(n)||!Array.isArray(e.args)||e.args.length!==n.length?!1:e.args.every((e,t)=>e===n[t])}function V(e,t){let n=e=>typeof e==`string`&&e.includes(`# ok-mcp`);return t===`/bin/sh`?e[0]===`-l`&&e[1]===`-c`&&n(e[2]):t===`powershell`?e[0]===`-NoProfile`&&e[1]===`-NonInteractive`&&e[2]===`-Command`&&n(e[3]):!1}function we(e){if(typeof e!=`object`||!e)return!1;let t=e;return t.enabled===!1||typeof t.command!=`string`||!Array.isArray(t.args)?!1:V(t.args,t.command)}function Te(e){if(typeof e!=`object`||!e)return!1;let t=e;if(t.type!==`local`||t.enabled===!1||!Array.isArray(t.command))return!1;let[n,...r]=t.command;return typeof n==`string`&&V(r,n)}function H(e){return e===`win32`?y:h}function Ee(e={}){let t=e.platformName??process.platform,n=e.home??w(),r=e.env??process.env,i=H(t);return t===`darwin`?i.join(n,`Library`,`Application Support`):t===`win32`?r.APPDATA??i.join(n,`AppData`,`Roaming`):r.XDG_CONFIG_HOME??i.join(n,`.config`)}function De(e={}){let t=e.platformName??process.platform,n=e.home??w();return H(t).join(n,`.claude.json`)}function U(e={}){let t=e.platformName??process.platform,n=e.home??w(),r=e.env??process.env;if(t===`darwin`)return h.join(n,`Library`,`Application Support`,`Claude`,`claude_desktop_config.json`);if(t===`win32`){let e=r.APPDATA??y.join(n,`AppData`,`Roaming`);return y.join(e,`Claude`,`claude_desktop_config.json`)}throw Error(`Claude Desktop is not available on ${t}. Supported: macOS, Windows.`)}function W(e={}){let t=e.platformName??process.platform,n=e.home??w();return H(t).join(n,`.cursor`,`mcp.json`)}function Oe(e={}){let t=e.platformName??process.platform,n=e.home??w();return(e.env??process.env).CODEX_HOME??H(t).join(n,`.codex`)}function G(e={}){return H(e.platformName??process.platform).join(Oe(e),`config.toml`)}function K(e={}){let t=e.platformName??process.platform,n=e.home??w(),r=(e.env??process.env).COPILOT_HOME??H(t).join(n,`.copilot`);return H(t).join(r,`mcp-config.json`)}function ke(e={}){let t=e.platformName??process.platform,n=e.home??w(),r=e.env??process.env,i=H(t);if(t===`win32`){let e=r.APPDATA??i.join(n,`AppData`,`Roaming`);return i.join(e,`opencode`)}let a=r.XDG_CONFIG_HOME??i.join(n,`.config`);return i.join(a,`opencode`)}function q(e={}){return H(e.platformName??process.platform).join(ke(e),`opencode.json`)}function Ae(e={}){let t=e.platformName??process.platform,n=e.home??w();return H(t).join(n,`.openclaw`,`openclaw.json`)}function je(e={}){let t=e.platformName??process.platform,n=e.home??w();return H(t).join(n,`.hermes`,`config.yaml`)}function Me(e={}){let t=e.platformName??process.platform,n=e.home??w();return(e.env??process.env).PI_CODING_AGENT_DIR??H(t).join(n,`.pi`,`agent`)}function Ne(e={}){let t=e.platformName??process.platform,n=e.home??w();return H(t).join(n,`.gemini`,`config`,`mcp_config.json`)}function Pe(e,t){let n=H(t),r=n.join(e,`.lmstudio`,`mcp.json`),i=n.join(e,`.cache`,`lm-studio`,`mcp.json`);return t===`darwin`?[i,r]:[r,i]}function J(e={}){let t=e.platformName??process.platform,n=Pe(e.home??w(),t);return n.find(e=>b(e))||n.find(e=>b(f(e)))||n[0]}const Y={claude:{id:`claude`,label:A.claude,configPath:(e,t)=>De({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>a,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>m(t??w(),`.claude`),projectConfigPath:e=>m(e,`.mcp.json`),projectSkillPath:e=>m(e,`.claude`,`skills`,`open-knowledge`,`SKILL.md`)},"claude-desktop":{id:`claude-desktop`,label:A[`claude-desktop`],configPath:(e,t)=>U({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>a,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>f(U({home:t}))},cursor:{id:`cursor`,label:A.cursor,configPath:(e,t)=>W({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>a,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>f(W({home:t})),projectConfigPath:e=>m(e,`.cursor`,`mcp.json`),projectSkillPath:e=>m(e,`.cursor`,`skills`,`open-knowledge`,`SKILL.md`)},codex:{id:`codex`,label:A.codex,configPath:(e,t)=>G({home:t}),format:`toml`,topLevelKey:`mcp_servers`,serverName:()=>a,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>f(G({home:t})),projectConfigPath:e=>m(e,`.codex`,`config.toml`),projectSkillPath:e=>m(e,`.codex`,`skills`,`open-knowledge`,`SKILL.md`)},copilot:{id:`copilot`,label:A.copilot,configPath:(e,t)=>K({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>a,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>f(K({home:t})),projectSkillPath:e=>m(e,`.github`,`skills`,`open-knowledge`,`SKILL.md`)},opencode:{id:`opencode`,label:A.opencode,configPath:(e,t)=>q({home:t}),format:`json`,topLevelKey:`mcp`,serverName:()=>a,buildEntry:(e,t)=>xe(t),scope:`global`,detectPath:(e,t)=>f(q({home:t})),projectConfigPath:e=>m(e,`opencode.json`),projectSkillPath:e=>m(e,`.opencode`,`skills`,`open-knowledge`,`SKILL.md`)},openclaw:{id:`openclaw`,label:A.openclaw,configPath:(e,t)=>Ae({home:t}),format:`json`,topLevelKey:`mcp`,serverMapSubKey:`servers`,serverName:()=>a,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>m(t??w(),`.openclaw`),offerOnlyWhenDetected:!0},pi:{id:`pi`,label:A.pi,configPath:()=>{throw Error("Pi has no user-global MCP config; OK's integration is the project-scoped bridge extension at .pi/extensions/open-knowledge.ts (run `ok init` in the project).")},format:`file`,topLevelKey:`mcpServers`,serverName:()=>a,buildEntry:()=>{throw Error(`Pi has no MCP entry shape; the managed bridge file is built by buildPiExtensionSource (integrations/pi-extension.ts).`)},scope:`project`,detectPath:(e,t)=>Me({home:t}),projectConfigPath:e=>m(e,`.pi`,`extensions`,`open-knowledge.ts`),projectSkillPath:e=>m(e,`.pi`,`skills`,`open-knowledge`,`SKILL.md`)},antigravity:{id:`antigravity`,label:A.antigravity,configPath:(e,t)=>Ne({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>a,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>m(t??w(),`.gemini`),offerOnlyWhenDetected:!0},"lm-studio":{id:`lm-studio`,label:A[`lm-studio`],configPath:(e,t)=>J({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>a,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>f(J({home:t})),offerOnlyWhenDetected:!0},hermes:{id:`hermes`,label:A.hermes,configPath:(e,t)=>je({home:t}),format:`yaml`,topLevelKey:`mcp_servers`,serverName:()=>a,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>m(t??w(),`.hermes`),offerOnlyWhenDetected:!0}};function Fe(e){let t=e.filter(e=>!Object.hasOwn(Y,e));if(t.length>0)throw Error(`Unknown editor(s): ${t.join(`, `)}. Valid options: ${k.join(`, `)}`);return e.map(e=>Y[e])}const Ie=[{hostDir:`.adal`,pruneRoot:`.adal`},{hostDir:`.aider-desk`,pruneRoot:`.aider-desk`},{hostDir:`.astrbot/data`,pruneRoot:`.astrbot`},{hostDir:`.augment`,pruneRoot:`.augment`},{hostDir:`.autohand`,pruneRoot:`.autohand`},{hostDir:`.bob`,pruneRoot:`.bob`},{hostDir:`.codeartsdoer`,pruneRoot:`.codeartsdoer`},{hostDir:`.codebuddy`,pruneRoot:`.codebuddy`},{hostDir:`.codeium/windsurf`,pruneRoot:`.codeium`},{hostDir:`.codemaker`,pruneRoot:`.codemaker`},{hostDir:`.codestudio`,pruneRoot:`.codestudio`},{hostDir:`.commandcode`,pruneRoot:`.commandcode`},{hostDir:`.config/crush`,pruneRoot:`.config/crush`},{hostDir:`.config/devin`,pruneRoot:`.config/devin`},{hostDir:`.config/goose`,pruneRoot:`.config/goose`},{hostDir:`.config/kimchi/harness`,pruneRoot:`.config/kimchi`},{hostDir:`.continue`,pruneRoot:`.continue`},{hostDir:`.factory`,pruneRoot:`.factory`},{hostDir:`.forge`,pruneRoot:`.forge`},{hostDir:`.grok`,pruneRoot:`.grok`},{hostDir:`.iflow`,pruneRoot:`.iflow`},{hostDir:`.inferencesh`,pruneRoot:`.inferencesh`},{hostDir:`.jazz`,pruneRoot:`.jazz`},{hostDir:`.junie`,pruneRoot:`.junie`},{hostDir:`.kilocode`,pruneRoot:`.kilocode`},{hostDir:`.kiro`,pruneRoot:`.kiro`},{hostDir:`.kode`,pruneRoot:`.kode`},{hostDir:`.lingma`,pruneRoot:`.lingma`},{hostDir:`.mcpjam`,pruneRoot:`.mcpjam`},{hostDir:`.moxby`,pruneRoot:`.moxby`},{hostDir:`.mux`,pruneRoot:`.mux`},{hostDir:`.neovate`,pruneRoot:`.neovate`},{hostDir:`.ona`,pruneRoot:`.ona`},{hostDir:`.openhands`,pruneRoot:`.openhands`},{hostDir:`.pochi`,pruneRoot:`.pochi`},{hostDir:`.qoder`,pruneRoot:`.qoder`},{hostDir:`.qoder-cn`,pruneRoot:`.qoder-cn`},{hostDir:`.qwen`,pruneRoot:`.qwen`},{hostDir:`.reasonix`,pruneRoot:`.reasonix`},{hostDir:`.roo`,pruneRoot:`.roo`},{hostDir:`.rovodev`,pruneRoot:`.rovodev`},{hostDir:`.snowflake/cortex`,pruneRoot:`.snowflake`},{hostDir:`.tabnine/agent`,pruneRoot:`.tabnine`},{hostDir:`.terramind`,pruneRoot:`.terramind`},{hostDir:`.tinycloud`,pruneRoot:`.tinycloud`},{hostDir:`.trae`,pruneRoot:`.trae`},{hostDir:`.trae-cn`,pruneRoot:`.trae-cn`},{hostDir:`.vibe`,pruneRoot:`.vibe`},{hostDir:`.zcode`,pruneRoot:`.zcode`},{hostDir:`.zencoder`,pruneRoot:`.zencoder`}],Le=[...c.map(e=>l[e]),`open-knowledge`];function X(e){if(!p(e))throw Error(`skill cleanup requires an absolute home directory; got ${JSON.stringify(e)}`);let t=_(e);if(t===v||f(t)===t)throw Error(`skill cleanup refuses to operate on the filesystem root (${t})`);return t}function Z(e,t){let n=g(e,t);if(n.startsWith(`..`)||p(n))return!1;let r=e;for(let e of n.split(v)){r=m(r,e);try{if(!x(r).isDirectory())return!1}catch{return!1}}return!0}function Re(e,t){try{return re(e).every(n=>t.has(m(e,n)))}catch{return!1}}function ze(e){let t=X(e),n=[],r=[],i=new Set;for(let e of Ie){let a=m(t,e.hostDir,`skills`);if(!Z(t,a))continue;let o=Le.map(e=>m(a,e)).filter(e=>b(e));n.push(...o);for(let e of o)i.add(e);let s=m(t,e.pruneRoot),c=a;for(;Re(c,i)&&(r.push(c),i.add(c),c!==s);){let e=f(c);if(e===c||e===t||!e.startsWith(t+v))break;c=e}}return{skillDirs:n,emptyDirs:r}}function Be(e){try{if(!x(e).isDirectory())return!1;let t=re(e);return t.length===0||t.includes(`SKILL.md`)}catch{return!1}}function Ve(e){let t=new Set,n=new Set;for(let r of Ie){let i=m(e,r.hostDir,`skills`);for(let e of Le)t.add(m(i,e));let a=m(e,r.pruneRoot),o=i;for(;n.add(o),o!==a;){let t=f(o);if(t===o||t===e||!t.startsWith(e+v))break;o=t}}return{skillDirs:t,emptyDirs:n}}function He(e,t){let n=X(e),r=Ve(n),i=[...t.skillDirs.filter(e=>!r.skillDirs.has(e)),...t.emptyDirs.filter(e=>!r.emptyDirs.has(e))];if(i.length>0)throw Error(`refusing skill cleanup — ${i.length} path(s) outside the known legacy set: ${i.join(`, `)}`);let a=[];for(let e of t.skillDirs)if(Z(n,e)&&Be(e))try{C(e,{recursive:!0,force:!0}),a.push(e)}catch{}for(let e of t.emptyDirs)if(Z(n,e))try{ie(e),a.push(e)}catch{}return a}function Q(e){let t=X(e),n=[];for(let e of c){let r=l[e];n.push({path:m(t,`.agents`,`skills`,r),bundleId:e,scope:`central`});for(let i of j)n.push({path:m(t,i.hostDir,`skills`,r),bundleId:e,scope:`host`,hostDir:i.hostDir})}return n}function Ue(e,t){let n=[];for(let r of Q(e))if(r.bundleId===t)try{C(r.path,{recursive:!0,force:!0})}catch(e){n.push(e instanceof Error?e:Error(String(e)))}if(n.length>0)throw AggregateError(n,`Failed to remove ${n.length} path(s) for ${t}`)}function We(e,t){let n;try{n=x(e)}catch(e){if(e.code!==`ENOENT`)throw e}if(n?.isSymbolicLink())throw Error(`Refusing to write through a symbolic link at ${e}. Remove the symlink and re-run project setup.`);Ke(e,t)}function Ge(e,t){Ke(e,t)}function Ke(e,t){let n;try{n=S(t)}catch{n=_(t)}let r=f(e);for(;r.length>1&&r!==v;){let t;try{t=S(r)}catch(e){if(e.code===`ENOENT`){r=f(r);continue}throw e}let i=g(n,t);if(i===``||!i.startsWith(`..`)&&!p(i))return;throw Error(`Refusing to write at ${e}: ancestor ${r} resolves to ${t}, which is outside the project directory ${n}. A symbolic link in the path likely escapes the project. Remove the symlink and re-run project setup.`)}}function $(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function qe(e,t,n){try{if(ae(n).size>10485760)return!1}catch{return!1}let r;try{r=ne(n,`utf-8`)}catch{return!1}let i=[],a=u(r.charCodeAt(0)===65279?r.slice(1):r,i,{allowTrailingComma:!0,disallowComments:!1});if(i.length>0||!$(a))return!1;let o=a[e.topLevelKey];if(!$(o))return!1;let s=e.serverMapSubKey?o[e.serverMapSubKey]:o;return $(s)?$(s[e.serverName(t)]):!1}function Je(e,t,n={}){if(e.id!==`copilot`)return!0;try{return qe(e,t,e.configPath(t,n.home))}catch{return!1}}function Ye(e,t,n={}){let r=e.projectSkillPath?.(t);if(!r)return{editorId:e.id,label:e.label,action:`skipped-unsupported`,path:``};if(!Je(e,t,n))return{editorId:e.id,label:e.label,action:`skipped-prerequisite`,path:r};try{let n=s(`project`,{checkDesktop:!0}),i=f(r);We(i,t);let a=b(r)?`overwritten`:`written`;return C(i,{recursive:!0,force:!0}),te(f(i),{recursive:!0}),ee(n,i,{recursive:!0}),{editorId:e.id,label:e.label,action:a,path:r}}catch(t){return{editorId:e.id,label:e.label,action:`failed`,path:r,error:t instanceof Error?t.message:String(t)}}}function Xe(e,t){let n=e.projectSkillPath?.(t);if(!n)return{editorId:e.id,label:e.label,action:`skipped-unsupported`,path:``};try{let r=f(n);return b(n)?(Ge(r,t),C(r,{recursive:!0,force:!0}),{editorId:e.id,label:e.label,action:`removed`,path:n}):{editorId:e.id,label:e.label,action:`not-present`,path:n}}catch(t){return{editorId:e.id,label:e.label,action:`failed`,path:n,error:t instanceof Error?t.message:String(t)}}}export{he as C,Fe as S,_e as T,we as _,He as a,Te as b,Q as c,Y as d,j as f,z as g,ye as h,Ye as i,k as l,L as m,Ge as n,ze as o,I as p,Xe as r,Ue as s,We as t,A as u,be as v,pe as w,Ee as x,Se as y};
|
|
56
|
+
//# sourceMappingURL=write-project-skill-B_HecSEZ.mjs.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inkeep/open-knowledge",
|
|
3
|
-
"version": "0.42.
|
|
3
|
+
"version": "0.42.1",
|
|
4
4
|
"license": "GPL-3.0-or-later",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|
|
@@ -61,10 +61,10 @@
|
|
|
61
61
|
"ajv-formats": "^3.0.1",
|
|
62
62
|
"tsdown": "^0.21.7",
|
|
63
63
|
"typescript": "^5.9.3",
|
|
64
|
-
"@inkeep/open-knowledge-app": "0.42.0-beta.9",
|
|
65
|
-
"@inkeep/open-knowledge-server": "0.42.0-beta.9",
|
|
66
64
|
"@inkeep/open-knowledge-native-config": "0.0.0",
|
|
67
|
-
"@inkeep/open-knowledge-
|
|
65
|
+
"@inkeep/open-knowledge-app": "0.42.1",
|
|
66
|
+
"@inkeep/open-knowledge-core": "0.42.1",
|
|
67
|
+
"@inkeep/open-knowledge-server": "0.42.1"
|
|
68
68
|
},
|
|
69
69
|
"scripts": {
|
|
70
70
|
"build:cli": "tsdown",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e}from"./git-handle-B1TJqyoh.mjs";export{e as createGitInstance};
|
package/dist/init-Byoir7UR.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g as e}from"./init-CJBY0h7f.mjs";export{e as runInit};
|
package/dist/loader-BlJfxAty.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./loader-CvlOZSkR.mjs";export{e as loadConfig};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,t}from"./preview-AkwIJF-W.mjs";export{t as formatPreviewBlock,e as previewContent};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./index-e9suledE.js";export{e as FeedbackForm};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-CYidjpOJ.js";import{t}from"./jsx-runtime-BUgB2tll.js";import{n,qt as r}from"./DocumentContext-D5LU2-RZ.js";import{t as i}from"./react-f2sANaYj.js";import{r as a}from"./dist-Nvb76hAm.js";import{t as o}from"./compiler-runtime-BfE3aGVn.js";import{u as s}from"./terminal-input-events-C5UuEsAB.js";import{s as c,t as l}from"./createLucideIcon-DAkhoPjT.js";import{t as u}from"./button-Gol9BgNB.js";import{i as d,n as f,t as p}from"./tooltip-B4J7VHmA.js";import{lt as m,st as h}from"./CodeMirrorPropInput-8sqIlsVF.js";import{t as g}from"./checkbox-DY-vIhnZ.js";import{a as _,c as v,d as y,f as b,l as x,m as S,n as C,o as w,p as T,r as E,t as D}from"./dropdown-menu-xw8WTdb-.js";import{t as O}from"./switch-DYic2V-1.js";import{br as k}from"./dist-Dxs5l5f3.js";import{t as A}from"./RegisteredAgentIcon-8Tcfr3WP.js";import{t as j}from"./check-GqWaoTdV.js";import{t as M}from"./chevron-down-Bx9f3tW-.js";import{t as N}from"./chevron-right-C8oTR6gu.js";import{r as P}from"./prop-types-Dq1Y_y68.js";import{l as F}from"./workspace-paths-ai6F0DQ3.js";import{n as I,t as L}from"./square-pen-C1vIlMAW.js";import{t as ee}from"./loader-circle-Cg5SU7AZ.js";import{t as R}from"./trash-2-BUuL4OCw.js";import{t as z}from"./wrench-BfoTvqT9.js";import{t as B}from"./x-DVkpYo5d.js";import{r as te,s as V}from"./doc-hash-BmhDnlQv.js";import{t as H}from"./badge-Dba4cvJR.js";import{t as U}from"./use-workspace-NdYT_dp2.js";import{t as W}from"./skeleton-HLkcMp95.js";import{a as G,i as ne,n as re,o as K,r as ie,s as ae,t as oe}from"./follow-file-DBnmqlyk.js";import{t as se}from"./textarea-RSYJwPz9.js";import{n as ce}from"./agent-presence-CTJkQnoU.js";import{r as le}from"./chunk-BO2N2NFS-BTXsfKML.js";import{n as ue}from"./libesm-CHqp8owk.js";import{a as de,d as fe,f as pe,n as me,p as he,r as ge,s as _e,u as ve}from"./thread-client-CXDtD9Ce.js";import{n as ye}from"./thread-draft-staging-B4_1TigQ.js";var be=l(`mouse-pointer-2`,[[`path`,{d:`M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z`,key:`edeuup`}]]),xe=l(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),Se=l(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),q=e(i(),1),J=o(),Y=3,Ce=Y*2+2;function we(e){let t=e.split(`
|
|
2
|
-
`);return t[t.length-1]===``&&t.pop(),t}function Te(e,t){if(e===null)return we(t).map(e=>({type:`add`,text:e}));let n=[],r=ue(e,t);for(let[e,t]of r.entries()){let i=we(t.value);if(t.added){for(let e of i)n.push({type:`add`,text:e});continue}if(t.removed){for(let e of i)n.push({type:`del`,text:e});continue}if(i.length<=Ce){for(let e of i)n.push({type:`ctx`,text:e});continue}let a=e>0?i.slice(0,Y):[],o=e<r.length-1?i.slice(-Y):[];for(let e of a)n.push({type:`ctx`,text:e});n.push({type:`gap`,count:i.length-a.length-o.length});for(let e of o)n.push({type:`ctx`,text:e})}return n}var Ee=new RegExp([`bypass`,`acceptedits`,`fullaccess`,`autoedit`,`yolo`,`danger`,`fullauto`,`autoaccept`,`autoapprove`,`autorun`,`skippermission`,`noconfirm`,`noprompt`,`unrestricted`,`allowall`].join(`|`)),De=new Set([`auto`]);function Oe(e){return e.toLowerCase().replace(/[^a-z]/g,``)}function ke(e){let t=Oe(e.id),n=Oe(e.name??``);return De.has(t)||De.has(n)?!0:Ee.test(t)||Ee.test(n)}var Ae=/\x1b\[[0-9;?]*[ -/]*[@-~]|\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)|\x1b[@-Z\\-_]/g;function je(e){return e.replace(Ae,``)}function Me(e){return je(e).split(`
|
|
3
|
-
`).map(e=>{let t=e.replace(/\r+$/,``),n=t.lastIndexOf(`\r`);return n===-1?t:t.slice(n+1)}).join(`
|
|
4
|
-
`)}var X=t();function Ne(e){let t=(0,J.c)(11),{text:n}=e,r,i;t[0]===n?(r=t[1],i=t[2]):(r=[n],i=()=>(0,X.jsx)(`span`,{className:`whitespace-pre-wrap`,children:n}),t[0]=n,t[1]=r,t[2]=i);let a,o;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a={code:{copy:!0,download:!1},table:!1,mermaid:!1},o={enabled:!1},t[3]=a,t[4]=o):(a=t[3],o=t[4]);let c;t[5]===n?c=t[6]:(c=(0,X.jsx)(le,{className:`[&>*:first-child]:mt-0 [&>*:last-child]:mb-0 [&_pre_code>span]:block [&_ol]:list-outside [&_ul]:list-outside [&_ol]:ps-6 [&_ul]:ps-6 [&_code]:text-1sm [&_pre]:text-1sm`,lineNumbers:!1,controls:a,linkSafety:o,children:n}),t[5]=n,t[6]=c);let l;return t[7]!==r||t[8]!==i||t[9]!==c?(l=(0,X.jsx)(s,{resetKeys:r,fallbackRender:i,onError:Pe,children:c}),t[7]=r,t[8]=i,t[9]=c,t[10]=l):l=t[10],l}function Pe(e){console.warn(`[AgentMarkdown] markdown render failed, falling back to plain text`,e)}function Fe(e,t){if(!ce(e))return null;let n=null;for(let r of e.getStates().values()){let e=r.agentPresence;if(e)for(let r of Object.values(e)){if(!r.currentDoc||k(r.currentDoc)||t-r.ts>=5e3||n!==null&&r.ts<=n.ts)continue;let e=ie(r.currentDoc);e!==null&&(n={doc:e,ts:r.ts})}}return n}function Ie(e,t){let n=e[e.length-1];return n!==void 0&&n.doc===t.doc&&n.ts===t.ts?e:[...e,t]}var Le=1e4,Z=1400,Re={read:h,edit:L,delete:R,search:r,execute:Se,fetch:r,think:F};function Q(e){return e.replace(/\s+Agent$/i,``)}function ze(e){let t=(0,J.c)(95),{info:r}=e,{_:i}=a(),o=de(r.threadId),s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=ge(),t[0]=s):s=t[0];let c=s,l=U(),[d,f]=(0,q.useState)(``),[p,m]=(0,q.useState)(re),h=(0,q.useRef)(null),g=(0,q.useRef)(!0),_=(0,q.useRef)(null),v=(0,q.useRef)(null),y,b;t[1]===r.threadId?(y=t[2],b=t[3]):(y=()=>ye(r.threadId,e=>{f(t=>t.trim()===``?e:`${t.replace(/\s+$/,``)}\n\n${e}`)}),b=[r.threadId],t[1]=r.threadId,t[2]=y,t[3]=b),(0,q.useEffect)(y,b);let x=_e(r.threadId),S=r.status,C=r.archived===!0,w=x?.turnActive===!0&&!C,[T,E]=(0,q.useState)(!1),[D,O]=(0,q.useState)(null),k=C?!T:S===`ready`&&!w,A=!C&&w,j=P(),M=j!==null&&!j.loading?j.pages:null,N;if(t[4]!==x||t[5]!==M||t[6]!==l){let e=M===null?{}:{commandTargetExists:e=>M.has(e)};N=x===null?null:oe(x.items,l,e),t[4]=x,t[5]=M,t[6]=l,t[7]=N}else N=t[7];let F=N,{systemProvider:I}=n(),L;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(L=[],t[8]=L):L=t[8];let[R,z]=(0,q.useState)(L),B;t[9]!==I?.awareness||t[10]!==w?(B=()=>{if(!w){z([]);return}let e=I?.awareness,t=()=>{let t=Fe(e,Date.now());t!==null&&z(e=>Ie(e,t))};t();let n=typeof e==`object`&&e&&typeof e.on==`function`&&typeof e.off==`function`?e:null;return n?.on(`change`,t),()=>n?.off(`change`,t)},t[9]=I?.awareness,t[10]=w,t[11]=B):B=t[11];let H;t[12]!==I||t[13]!==w?(H=[w,I],t[12]=I,t[13]=w,t[14]=H):H=t[14],(0,q.useEffect)(B,H);let W=F??(R.length>0?R[R.length-1]?.doc??null:null),G=o?.lastSeq??null,[K,ie]=(0,q.useState)(!1),[ae,se]=(0,q.useState)(!1),ce,le;t[15]===w?(ce=t[16],le=t[17]):(ce=()=>{w||(ie(!1),se(!1))},le=[w],t[15]=w,t[16]=ce,t[17]=le),(0,q.useEffect)(ce,le);let ue,fe;t[18]!==K||t[19]!==w?(ue=()=>{if(!K||!w)return;let e=setTimeout(()=>se(!0),Le);return()=>clearTimeout(e)},fe=[K,w],t[18]=K,t[19]=w,t[20]=ue,t[21]=fe):(ue=t[20],fe=t[21]),(0,q.useEffect)(ue,fe);let pe;t[22]===r.threadId?pe=t[23]:(pe=()=>{c.cancel(r.threadId),ie(!0)},t[22]=r.threadId,t[23]=pe);let he=pe,ve,be;t[24]===G?(ve=t[25],be=t[26]):(ve=()=>{G!==null&&_.current===null&&(_.current=G)},be=[G],t[24]=G,t[25]=ve,t[26]=be),(0,q.useEffect)(ve,be);let xe,Se;t[27]!==p||t[28]!==W||t[29]!==G||t[30]!==w?(xe=()=>{!p||W===null||w&&(_.current===null||G===null||G<=_.current||v.current!==W&&(v.current=W,te(window.location.hash)!==W&&window.location.assign(V(W))))},Se=[p,W,w,G],t[27]=p,t[28]=W,t[29]=G,t[30]=w,t[31]=xe,t[32]=Se):(xe=t[31],Se=t[32]),(0,q.useEffect)(xe,Se);let Y;t[33]===p?Y=t[34]:(Y=()=>{let e=!p;m(e),ne(e),e&&(v.current=null)},t[33]=p,t[34]=Y);let Ce=Y,we;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(we=()=>{let e=h.current;e===null||!g.current||(e.scrollTop=e.scrollHeight)},t[35]=we):we=t[35];let Te=o?.lastSeq,Ee;t[36]===Te?Ee=t[37]:(Ee=[Te],t[36]=Te,t[37]=Ee),(0,q.useLayoutEffect)(we,Ee);let De;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(De=()=>{let e=h.current;e!==null&&(g.current=e.scrollHeight-e.scrollTop-e.clientHeight<40)},t[38]=De):De=t[38];let Oe=De,[ke,Ae]=(0,q.useState)(null),je;t[39]!==C||t[40]!==k||t[41]!==A||t[42]!==d||t[43]!==r.threadId?(je=()=>{let e=d.trim();if(!(e===``||!(k||A))){if(C){E(!0),O(null),Ae(null),c.resumeThread(r.threadId,e).catch(t=>{O(t instanceof me?t:new me(`internal`,t instanceof Error?t.message:String(t))),Ae(e)}).finally(()=>E(!1)),f(``),g.current=!0;return}c.prompt(r.threadId,e),f(``),g.current=!0}},t[39]=C,t[40]=k,t[41]=A,t[42]=d,t[43]=r.threadId,t[44]=je):je=t[44];let Me=je,Ne;t[45]!==d||t[46]!==ke||t[47]!==r.agent.id||t[48]!==r.agent.source?(Ne=()=>{let e=ke??(d.trim()===``?void 0:d.trim());O(null),Ae(null),c.createThread({agent:{source:r.agent.source,id:r.agent.id},prompt:e}).catch(t=>{O(t instanceof me?t:new me(`internal`,t instanceof Error?t.message:String(t))),Ae(e??null)})},t[45]=d,t[46]=ke,t[47]=r.agent.id,t[48]=r.agent.source,t[49]=Ne):Ne=t[49];let Pe=Ne,Z;t[50]!==p||t[51]!==r||t[52]!==Ce?(Z=(0,X.jsx)(Be,{info:r,followFile:p,onToggleFollow:Ce}),t[50]=p,t[51]=r,t[52]=Ce,t[53]=Z):Z=t[53];let Re;t[54]===x?Re=t[55]:(Re=x!==null&&x.plan.length>0?(0,X.jsx)(at,{plan:x.plan}):null,t[54]=x,t[55]=Re);let Q;t[56]!==i||t[57]!==C||t[58]!==r.agent||t[59]!==r.threadId||t[60]!==x||t[61]!==S||t[62]!==w?(Q=(0,X.jsx)(`div`,{ref:h,onScroll:Oe,className:`min-h-0 flex-1 overflow-y-auto px-3 py-2 subtle-scrollbar scroll-fade-mask`,"data-testid":`agent-thread-transcript`,children:x===null||x.items.length===0?(0,X.jsx)(it,{status:S,archived:C,agent:r.agent}):(0,X.jsxs)(`div`,{className:`flex flex-col gap-2 [&>[data-tool-call]+[data-tool-call]]:-mt-1`,children:[x.items.map((e,t)=>(0,X.jsx)(lt,{item:e,threadId:r.threadId,actionable:!C&&S!==`exited`&&S!==`error`,terminals:x.terminals,permissionsByToolCall:x.permissionsByToolCall},t)),w?S===`awaiting_permission`?(0,X.jsx)(`div`,{className:`flex items-center gap-2 px-1 py-1 text-muted-foreground text-sm shimmer`,"data-testid":`agent-thread-awaiting-permission`,children:(0,X.jsx)(`span`,{children:i({id:`_gO_m8`})})}):(0,X.jsxs)(`div`,{className:`flex items-center gap-2 px-1 py-1 text-muted-foreground text-sm shimmer`,"data-testid":`agent-thread-working`,children:[(0,X.jsx)(ee,{className:`size-3.5 animate-spin`,"aria-hidden":`true`}),(0,X.jsx)(`span`,{children:i({id:`XklovM`})})]}):S===`installing`||S===`spawning`?(0,X.jsxs)(`div`,{className:`flex items-center gap-2 px-1 py-1 text-muted-foreground text-sm shimmer`,"data-testid":`agent-thread-starting`,children:[(0,X.jsx)(ee,{className:`size-3.5 animate-spin`,"aria-hidden":`true`}),(0,X.jsx)(`span`,{children:i({id:`l3zD7w`})})]}):null]})}),t[56]=i,t[57]=C,t[58]=r.agent,t[59]=r.threadId,t[60]=x,t[61]=S,t[62]=w,t[63]=Q):Q=t[63];let ze;t[64]!==i||t[65]!==ae||t[66]!==r.threadId||t[67]!==w?(ze=ae&&w?(0,X.jsxs)(`div`,{className:`flex items-center gap-2 border-amber-500/30 border-t bg-amber-500/5 px-3 py-1.5 text-amber-700 text-xs dark:text-amber-400`,"data-testid":`agent-thread-cancel-stalled`,children:[(0,X.jsx)(`span`,{className:`flex-1`,children:i({id:`CBsdhe`})}),(0,X.jsx)(u,{type:`button`,size:`sm`,variant:`destructive`,className:`h-6 text-xs`,onClick:()=>c.closeThread(r.threadId),"data-testid":`agent-thread-force-stop`,children:i({id:`16eIWu`})})]}):null,t[64]=i,t[65]=ae,t[66]=r.threadId,t[67]=w,t[68]=ze):ze=t[68];let $;t[69]!==i||t[70]!==C||t[71]!==r.agent.name||t[72]!==D||t[73]!==Pe?($=C&&D!==null?(0,X.jsxs)(`div`,{className:`flex items-center gap-2 border-amber-500/30 border-t bg-amber-500/5 px-3 py-1.5 text-amber-700 text-xs dark:text-amber-400`,"data-testid":`agent-thread-resume-failed`,children:[(0,X.jsx)(`span`,{className:`flex-1`,children:D.code===`resume-unsupported`?i({id:`f3Nvg7`,values:{0:r.agent.name}}):i({id:`dYCvMf`,values:{0:D.message}})}),(0,X.jsx)(u,{type:`button`,size:`sm`,variant:`outline`,className:`h-6 shrink-0 text-xs`,onClick:Pe,"data-testid":`agent-thread-resume-fallback-new`,children:i({id:`5vYdh9`,values:{0:r.agent.name}})})]}):null,t[69]=i,t[70]=C,t[71]=r.agent.name,t[72]=D,t[73]=Pe,t[74]=$):$=t[74];let Ve=x?.tokenUsage??null,He;t[75]!==C||t[76]!==k||t[77]!==A||t[78]!==K||t[79]!==d||t[80]!==r||t[81]!==he||t[82]!==T||t[83]!==S||t[84]!==Me||t[85]!==Ve||t[86]!==w?(He=(0,X.jsx)(zt,{info:r,draft:d,onDraftChange:f,onSubmit:Me,canPrompt:k,canQueue:A,turnActive:w,cancelPending:K,onCancel:he,status:S,archived:C,resumePending:T,usage:Ve}),t[75]=C,t[76]=k,t[77]=A,t[78]=K,t[79]=d,t[80]=r,t[81]=he,t[82]=T,t[83]=S,t[84]=Me,t[85]=Ve,t[86]=w,t[87]=He):He=t[87];let Ue;return t[88]!==Z||t[89]!==Re||t[90]!==Q||t[91]!==ze||t[92]!==$||t[93]!==He?(Ue=(0,X.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col text-gray-800 dark:text-gray-200`,"data-agent-thread-root":``,children:[Z,Re,Q,ze,$,He]}),t[88]=Z,t[89]=Re,t[90]=Q,t[91]=ze,t[92]=$,t[93]=He,t[94]=Ue):Ue=t[94],Ue}function Be(e){let t=(0,J.c)(27),{info:n,followFile:r,onToggleFollow:i}=e,{_:o}=a(),s;t[0]===n.title?s=t[1]:(s=(0,X.jsx)(`span`,{className:`min-w-0 truncate font-medium text-1sm`,children:n.title}),t[0]=n.title,t[1]=s);let l;t[2]!==o||t[3]!==n.archived?(l=n.archived===!0?(0,X.jsx)(H,{variant:`gray`,className:`shrink-0 px-1.5 py-0 text-[10px]`,children:o({id:`TdfEV7`})}):null,t[2]=o,t[3]=n.archived,t[4]=l):l=t[4];let m=r?`bg-primary/10 text-primary hover:bg-primary/15 hover:text-primary`:`text-muted-foreground`,h;t[5]===m?h=t[6]:(h=c(`rounded-md`,m),t[5]=m,t[6]=h);let g;t[7]===o?g=t[8]:(g=o({id:`w6sT-y`}),t[7]=o,t[8]=g);let _;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,X.jsx)(be,{className:`size-3.5`,"aria-hidden":`true`}),t[9]=_):_=t[9];let v;t[10]!==r||t[11]!==i||t[12]!==h||t[13]!==g?(v=(0,X.jsx)(d,{asChild:!0,children:(0,X.jsx)(u,{type:`button`,variant:`ghost`,size:`icon-xs`,className:h,"aria-pressed":r,"aria-label":g,onClick:i,"data-testid":`agent-thread-follow-toggle`,children:_})}),t[10]=r,t[11]=i,t[12]=h,t[13]=g,t[14]=v):v=t[14];let y;t[15]!==o||t[16]!==r?(y=o(r?{id:`1a6ICf`}:{id:`w6sT-y`}),t[15]=o,t[16]=r,t[17]=y):y=t[17];let b;t[18]===y?b=t[19]:(b=(0,X.jsx)(f,{side:`bottom`,children:y}),t[18]=y,t[19]=b);let x;t[20]!==v||t[21]!==b?(x=(0,X.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center gap-1.5`,children:(0,X.jsxs)(p,{children:[v,b]})}),t[20]=v,t[21]=b,t[22]=x):x=t[22];let S;return t[23]!==s||t[24]!==x||t[25]!==l?(S=(0,X.jsxs)(`div`,{className:`flex items-center gap-2 px-3 pb-1.5 pt-0`,children:[s,l,x]}),t[23]=s,t[24]=x,t[25]=l,t[26]=S):S=t[26],S}function $(e){for(let t of e.options){if(`value`in t){if(t.value===e.currentValue)return t.name;continue}let n=t.options.find(t=>t.value===e.currentValue);if(n!==void 0)return n.name}return e.currentValue}function Ve(e){return e.options.some(e=>`value`in e?!0:e.options.length>0)}function He(e){let t=[];for(let n of e.options)if(`value`in n)t.push({id:n.value,name:n.name});else for(let e of n.options)t.push({id:e.value,name:e.name});return t}function Ue(e){let t=(e.configOptions??[]).find(e=>e.type===`select`&&e.category===`mode`&&Ve(e));if(t!==void 0)return{configId:t.id,currentId:t.currentValue,currentName:$(t),values:He(t)};let n=e.modes;return n!=null&&n.availableModes.length>1?{configId:null,currentId:n.currentModeId,currentName:n.availableModes.find(e=>e.id===n.currentModeId)?.name??n.currentModeId,values:n.availableModes.map(e=>({id:e.id,name:e.name}))}:null}function We(e){let t=(0,J.c)(32),{info:n}=e,{_:r}=a(),i,o,s,c,l,m,h,g,_;if(t[0]!==r||t[1]!==n){_=Symbol.for(`react.early_return_sentinel`);bb0:{let e=ge(),a=fe(n.agent),v=(t,r)=>{e.setConfigOption(n.threadId,t.id,r),pe(a,t.id,r)},y;t[11]===n.configOptions?y=t[12]:(y=n.configOptions??[],t[11]=n.configOptions,t[12]=y);let b=y.filter(Je),x=Ue(n),C=x!==null&&x.configId===null;if(b.length===0&&!C){_=null;break bb0}let w=C?x.currentName:void 0,T=x!==null&&ke({id:x.currentId,name:x.currentName}),O=b.find(qe)??b.find(Ke),k=O===void 0?w??r({id:`Tz0i8g`}):$(O),A=r(T&&x!==null?{id:`MuxcRB`,values:{0:x.currentName,1:n.agent.name}}:{id:`Wfy3rU`});o=D;let j;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,X.jsx)(M,{className:`size-3.5`,"data-icon":`inline-end`,"aria-hidden":`true`}),t[13]=j):j=t[13];let N=(0,X.jsx)(S,{asChild:!0,children:(0,X.jsxs)(u,{type:`button`,variant:`ghost`,className:`h-6 max-w-48 gap-1 rounded-md px-2 text-xs`,"aria-label":A,"data-testid":`agent-thread-settings`,children:[T?(0,X.jsx)(`span`,{className:`size-1.5 shrink-0 rounded-full bg-amber-500 ring-[3px] ring-amber-500/15 dark:bg-amber-400 dark:ring-amber-400/15`,"data-testid":`agent-thread-mode-accent`,"aria-hidden":`true`}):null,(0,X.jsx)(`span`,{className:`truncate`,children:k}),j]})}),P;t[14]===N?P=t[15]:(P=(0,X.jsx)(d,{asChild:!0,children:N}),t[14]=N,t[15]=P);let F;t[16]===A?F=t[17]:(F=(0,X.jsx)(f,{side:`bottom`,children:A}),t[16]=A,t[17]=F),t[18]!==P||t[19]!==F?(g=(0,X.jsxs)(p,{children:[P,F]}),t[18]=P,t[19]=F,t[20]=g):g=t[20],i=E,s=`end`,c=`w-60`,l=`agent-thread-settings-popover`,m=b.map(e=>e.type===`select`?(0,X.jsx)(Ye,{option:e,onSelect:t=>v(e,t)},e.id):(0,X.jsx)(tt,{option:e,onCheckedChange:t=>v(e,t)},e.id)),h=C?(0,X.jsx)(Ye,{option:{id:`legacy-mode`,name:r({id:`EbMUlU`}),category:`mode`,type:`select`,currentValue:x.currentId,options:x.values.map(Ge)},onSelect:t=>{e.setMode(n.threadId,t),he(a,t)}}):null}t[0]=r,t[1]=n,t[2]=i,t[3]=o,t[4]=s,t[5]=c,t[6]=l,t[7]=m,t[8]=h,t[9]=g,t[10]=_}else i=t[2],o=t[3],s=t[4],c=t[5],l=t[6],m=t[7],h=t[8],g=t[9],_=t[10];if(_!==Symbol.for(`react.early_return_sentinel`))return _;let v;t[21]!==i||t[22]!==s||t[23]!==c||t[24]!==l||t[25]!==m||t[26]!==h?(v=(0,X.jsxs)(i,{align:s,className:c,"data-testid":l,children:[m,h]}),t[21]=i,t[22]=s,t[23]=c,t[24]=l,t[25]=m,t[26]=h,t[27]=v):v=t[27];let y;return t[28]!==o||t[29]!==g||t[30]!==v?(y=(0,X.jsxs)(o,{children:[g,v]}),t[28]=o,t[29]=g,t[30]=v,t[31]=y):y=t[31],y}function Ge(e){return{value:e.id,name:e.name}}function Ke(e){return e.type===`select`}function qe(e){return e.type===`select`&&e.category===`model`}function Je(e){return e.type===`boolean`||Ve(e)}function Ye(e){let t=(0,J.c)(42),{option:n,onSelect:r}=e,i=n.options,a,o,s,c,l,u,d,f,p,m;if(t[0]!==i||t[1]!==r||t[2]!==n){let e=i.filter($e),h=i.filter(Qe);s=y;let g=`agent-thread-config-${n.id}`,_;t[13]===n.name?_=t[14]:(_=(0,X.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:n.name}),t[13]=n.name,t[14]=_);let x;t[15]===n?x=t[16]:(x=$(n),t[15]=n,t[16]=x);let S;t[17]===x?S=t[18]:(S=(0,X.jsx)(`span`,{className:`max-w-[11rem] truncate text-1sm text-muted-foreground`,children:x}),t[17]=x,t[18]=S),t[19]!==S||t[20]!==g||t[21]!==_?(m=(0,X.jsxs)(T,{className:`gap-2`,"data-testid":g,children:[_,S]}),t[19]=S,t[20]=g,t[21]=_,t[22]=m):m=t[22],o=b,f=`max-h-[min(22rem,var(--radix-dropdown-menu-content-available-height))] max-w-72 overscroll-contain`,t[23]===n.name?p=t[24]:(p=(0,X.jsx)(w,{children:n.name}),t[23]=n.name,t[24]=p),a=v,c=n.currentValue,l=r,u=e.map(Ze);let C;t[25]===n.name?C=t[26]:(C=e=>(0,X.jsxs)(q.Fragment,{children:[e.name===n.name?null:(0,X.jsx)(w,{className:`font-normal text-muted-foreground`,children:e.name}),e.options.map(Xe)]},e.group),t[25]=n.name,t[26]=C),d=h.map(C),t[0]=i,t[1]=r,t[2]=n,t[3]=a,t[4]=o,t[5]=s,t[6]=c,t[7]=l,t[8]=u,t[9]=d,t[10]=f,t[11]=p,t[12]=m}else a=t[3],o=t[4],s=t[5],c=t[6],l=t[7],u=t[8],d=t[9],f=t[10],p=t[11],m=t[12];let h;t[27]!==a||t[28]!==c||t[29]!==l||t[30]!==u||t[31]!==d?(h=(0,X.jsxs)(a,{value:c,onValueChange:l,children:[u,d]}),t[27]=a,t[28]=c,t[29]=l,t[30]=u,t[31]=d,t[32]=h):h=t[32];let g;t[33]!==o||t[34]!==f||t[35]!==p||t[36]!==h?(g=(0,X.jsxs)(o,{className:f,children:[p,h]}),t[33]=o,t[34]=f,t[35]=p,t[36]=h,t[37]=g):g=t[37];let _;return t[38]!==s||t[39]!==m||t[40]!==g?(_=(0,X.jsxs)(s,{children:[m,g]}),t[38]=s,t[39]=m,t[40]=g,t[41]=_):_=t[41],_}function Xe(e){return(0,X.jsx)(et,{entry:e},e.value)}function Ze(e){return(0,X.jsx)(et,{entry:e},e.value)}function Qe(e){return`group`in e}function $e(e){return`value`in e}function et(e){let t=(0,J.c)(11),{entry:n}=e,r=`agent-thread-config-option-${n.value}`,i;t[0]===n.name?i=t[1]:(i=(0,X.jsx)(`span`,{className:`truncate`,children:n.name}),t[0]=n.name,t[1]=i);let a;t[2]===n.description?a=t[3]:(a=n.description?(0,X.jsx)(`span`,{className:`line-clamp-2 text-1sm text-muted-foreground`,children:n.description}):null,t[2]=n.description,t[3]=a);let o;t[4]!==i||t[5]!==a?(o=(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6];let s;return t[7]!==n.value||t[8]!==r||t[9]!==o?(s=(0,X.jsx)(x,{value:n.value,className:`items-start`,"data-testid":r,children:o}),t[7]=n.value,t[8]=r,t[9]=o,t[10]=s):s=t[10],s}function tt(e){let t=(0,J.c)(15),{option:n,onCheckedChange:r}=e,i=`agent-thread-config-${n.id}`,a;t[0]===n.name?a=t[1]:(a=(0,X.jsx)(`span`,{children:n.name}),t[0]=n.name,t[1]=a);let o;t[2]===n.description?o=t[3]:(o=n.description?(0,X.jsx)(`span`,{className:`text-1sm text-muted-foreground`,children:n.description}):null,t[2]=n.description,t[3]=o);let s;t[4]!==a||t[5]!==o?(s=(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[a,o]}),t[4]=a,t[5]=o,t[6]=s):s=t[6];let c;t[7]===n.currentValue?c=t[8]:(c=(0,X.jsx)(O,{checked:n.currentValue,size:`sm`,"aria-hidden":`true`,tabIndex:-1,className:`pointer-events-none mt-0.5`}),t[7]=n.currentValue,t[8]=c);let l;return t[9]!==r||t[10]!==n.currentValue||t[11]!==i||t[12]!==s||t[13]!==c?(l=(0,X.jsxs)(C,{checked:n.currentValue,onCheckedChange:r,onSelect:nt,className:`items-start justify-between gap-4 pr-2 [&_[data-slot=dropdown-menu-checkbox-item-indicator]]:hidden`,"data-testid":i,children:[s,c]}),t[9]=r,t[10]=n.currentValue,t[11]=i,t[12]=s,t[13]=c,t[14]=l):l=t[14],l}function nt(e){return e.preventDefault()}function rt(){let e=(0,J.c)(11),{_:t}=a(),[n,r]=(0,q.useState)(``),i,o;e[0]===t?(i=e[1],o=e[2]):(i=()=>{r(t({id:`7vQdBK`}))},o=[t],e[0]=t,e[1]=i,e[2]=o),(0,q.useEffect)(i,o);let s;e[3]===n?s=e[4]:(s=(0,X.jsx)(`div`,{"aria-live":`polite`,className:`sr-only`,role:`status`,children:n}),e[3]=n,e[4]=s);let c;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,X.jsx)(`div`,{className:`flex justify-end`,children:(0,X.jsx)(W,{className:`h-12 w-3/5 rounded-2xl rounded-br-xs`})}),e[5]=c):c=e[5];let l;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,X.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,X.jsx)(W,{className:`h-3.5 w-11/12`}),(0,X.jsx)(W,{className:`h-3.5 w-4/5`}),(0,X.jsx)(W,{className:`h-3.5 w-2/3`})]}),e[6]=l):l=e[6];let u;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,X.jsx)(`div`,{className:`flex justify-end`,children:(0,X.jsx)(W,{className:`h-8 w-2/5 rounded-2xl rounded-br-xs`})}),e[7]=u):u=e[7];let d;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,X.jsxs)(`div`,{"aria-hidden":`true`,className:`flex flex-col gap-6`,children:[c,l,u,(0,X.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,X.jsx)(W,{className:`h-3.5 w-5/6`}),(0,X.jsx)(W,{className:`h-3.5 w-3/4`})]})]}),e[8]=d):d=e[8];let f;return e[9]===s?f=e[10]:(f=(0,X.jsxs)(`div`,{className:`flex flex-col gap-6 pt-2`,children:[s,d]}),e[9]=s,e[10]=f),f}function it(e){let t=(0,J.c)(24),{status:n,archived:r,agent:i}=e,{_:o}=a(),s,c;if(t[0]!==o||t[1]!==i.iconUrl||t[2]!==i.id||t[3]!==i.name||t[4]!==r||t[5]!==n){c=Symbol.for(`react.early_return_sentinel`);bb0:{let e=Q(i.name);if(r){let e;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,X.jsx)(rt,{}),t[8]=e):e=t[8],c=e;break bb0}if(n===`ready`){let n;t[9]!==i.iconUrl||t[10]!==i.id?(n=(0,X.jsx)(A,{agentId:i.id,iconUrl:i.iconUrl,className:`size-12 opacity-25 grayscale`}),t[9]=i.iconUrl,t[10]=i.id,t[11]=n):n=t[11],c=(0,X.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3 px-6 text-center`,children:[n,(0,X.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:o({id:`g4e0hS`,values:{agentName:e}})})]});break bb0}if(n===`auth_required`){let e;t[12]===o?e=t[13]:(e=o({id:`QTsvh1`}),t[12]=o,t[13]=e);let n;t[14]===e?n=t[15]:(n=(0,X.jsx)(`div`,{className:`flex h-full items-center justify-center px-6 text-center text-muted-foreground text-sm`,children:e}),t[14]=e,t[15]=n),c=n;break bb0}s=o(n===`installing`?{id:`Y_ZQ6l`,values:{agentName:e}}:n===`spawning`?{id:`8t9CRE`,values:{agentName:e}}:{id:`MysZUL`,values:{agentName:e}})}t[0]=o,t[1]=i.iconUrl,t[2]=i.id,t[3]=i.name,t[4]=r,t[5]=n,t[6]=s,t[7]=c}else s=t[6],c=t[7];if(c!==Symbol.for(`react.early_return_sentinel`))return c;let l=s,u;t[16]!==i.iconUrl||t[17]!==i.id?(u=(0,X.jsx)(A,{agentId:i.id,iconUrl:i.iconUrl,className:`size-12 opacity-25 grayscale`}),t[16]=i.iconUrl,t[17]=i.id,t[18]=u):u=t[18];let d;t[19]===l?d=t[20]:(d=(0,X.jsx)(`p`,{className:`shimmer text-sm`,children:l}),t[19]=l,t[20]=d);let f;return t[21]!==u||t[22]!==d?(f=(0,X.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3 px-6 text-center`,children:[u,d]}),t[21]=u,t[22]=d,t[23]=f):f=t[23],f}function at(e){let t=(0,J.c)(35),{plan:n}=e,{_:r}=a(),[i,o]=(0,q.useState)(!0),s,c,l,d,f,p,m,h,g,_;if(t[0]!==r||t[1]!==i||t[2]!==n){let e=n.filter(ct).length;_=`border-border/60 border-b bg-muted/30 px-3 py-1.5`,s=u,l=`button`,d=`ghost`,f=`sm`,p=`h-auto w-full justify-start gap-1.5 p-0 font-medium text-muted-foreground text-xs hover:bg-transparent`,t[13]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>o(st),t[13]=m):m=t[13],h=i,t[14]===i?g=t[15]:(g=i?(0,X.jsx)(M,{className:`size-3.5`,"aria-hidden":`true`}):(0,X.jsx)(N,{className:`size-3.5`,"aria-hidden":`true`}),t[14]=i,t[15]=g),c=r({id:`QM3SBZ`,values:{0:n.length,done:e}}),t[0]=r,t[1]=i,t[2]=n,t[3]=s,t[4]=c,t[5]=l,t[6]=d,t[7]=f,t[8]=p,t[9]=m,t[10]=h,t[11]=g,t[12]=_}else s=t[3],c=t[4],l=t[5],d=t[6],f=t[7],p=t[8],m=t[9],h=t[10],g=t[11],_=t[12];let v;t[16]===c?v=t[17]:(v=(0,X.jsx)(`span`,{children:c}),t[16]=c,t[17]=v);let y;t[18]!==s||t[19]!==v||t[20]!==l||t[21]!==d||t[22]!==f||t[23]!==p||t[24]!==m||t[25]!==h||t[26]!==g?(y=(0,X.jsxs)(s,{type:l,variant:d,size:f,className:p,onClick:m,"aria-expanded":h,children:[g,v]}),t[18]=s,t[19]=v,t[20]=l,t[21]=d,t[22]=f,t[23]=p,t[24]=m,t[25]=h,t[26]=g,t[27]=y):y=t[27];let b;t[28]!==i||t[29]!==n?(b=i?(0,X.jsx)(`ul`,{className:`mt-1 flex flex-col gap-0.5`,children:n.map(ot)}):null,t[28]=i,t[29]=n,t[30]=b):b=t[30];let x;return t[31]!==y||t[32]!==b||t[33]!==_?(x=(0,X.jsxs)(`div`,{className:_,children:[y,b]}),t[31]=y,t[32]=b,t[33]=_,t[34]=x):x=t[34],x}function ot(e,t){return(0,X.jsxs)(`li`,{className:c(`flex items-start gap-1.5 text-xs`,e.status===`completed`&&`text-muted-foreground line-through`),children:[(0,X.jsx)(`span`,{"aria-hidden":`true`,children:e.status===`completed`?`☑`:`☐`}),(0,X.jsx)(`span`,{children:e.content})]},t)}function st(e){return!e}function ct(e){return e.status===`completed`}function lt(e){let t=(0,J.c)(18),{item:n,threadId:r,actionable:i,terminals:a,permissionsByToolCall:o}=e;switch(n.kind){case`message`:{let e;return t[0]===n?e=t[1]:(e=(0,X.jsx)(ut,{item:n}),t[0]=n,t[1]=e),e}case`tool_call`:{let e=o[n.toolCallId],r;return t[2]!==n||t[3]!==e||t[4]!==a?(r=(0,X.jsx)(pt,{call:n,terminals:a,permission:e}),t[2]=n,t[3]=e,t[4]=a,t[5]=r):r=t[5],r}case`permission`:{let e;return t[6]!==i||t[7]!==n||t[8]!==r?(e=n.mergedIntoToolCall&&n.resolved!==null?null:(0,X.jsx)(kt,{item:n,threadId:r,actionable:i}),t[6]=i,t[7]=n,t[8]=r,t[9]=e):e=t[9],e}case`runtime_consent`:{let e;return t[10]!==n||t[11]!==r?(e=(0,X.jsx)(Ft,{item:n,threadId:r}),t[10]=n,t[11]=r,t[12]=e):e=t[12],e}case`notice`:{let e=n.tone===`error`?`border-red-500/30 bg-red-500/5 text-red-600 dark:text-red-400`:`border-amber-500/30 bg-amber-500/5 text-amber-700 dark:text-amber-400`,r;t[13]===e?r=t[14]:(r=c(`rounded-md border px-2 py-1.5 text-xs`,e),t[13]=e,t[14]=r);let i;return t[15]!==n.text||t[16]!==r?(i=(0,X.jsx)(`div`,{className:r,"data-testid":`agent-thread-notice`,children:n.text}),t[15]=n.text,t[16]=r,t[17]=i):i=t[17],i}}}function ut(e){let t=(0,J.c)(11),{item:n}=e;if(n.role===`thought`){let e;return t[0]===n.text?e=t[1]:(e=(0,X.jsx)(`div`,{className:`px-1 text-muted-foreground text-xs italic **:font-normal! **:text-xs!`,children:(0,X.jsx)(Ne,{text:n.text})}),t[0]=n.text,t[1]=e),e}let r=n.role===`user`,i=r?`my-3 ml-auto max-w-[85%] whitespace-pre-wrap rounded-2xl rounded-br-xs bg-muted px-3 py-1.5`:`w-full`,a;t[2]===i?a=t[3]:(a=c(`wrap-break-word text-sm text-foreground`,i),t[2]=i,t[3]=a);let o=r?`agent-thread-user-message`:`agent-thread-agent-message`,s;t[4]!==r||t[5]!==n.text?(s=r?n.text:(0,X.jsx)(Ne,{text:n.text}),t[4]=r,t[5]=n.text,t[6]=s):s=t[6];let l;return t[7]!==a||t[8]!==o||t[9]!==s?(l=(0,X.jsx)(`div`,{className:a,"data-testid":o,children:s}),t[7]=a,t[8]=o,t[9]=s,t[10]=l):l=t[10],l}function dt(e){if(e==null||typeof e==`object`&&!Array.isArray(e)&&Object.keys(e).length===0)return null;let t;try{t=JSON.stringify(e,null,1)}catch{return null}return t===void 0?null:t.length>2e3?`${t.slice(0,2e3)}…`:t}function ft(e){let t=e.trim();if(!t.startsWith("```"))return e;let n=t.split(`
|
|
5
|
-
`);return n.length<2||n[n.length-1]?.trim()!=="```"?e:n.slice(1,-1).join(`
|
|
6
|
-
`)}function pt(e){let t=(0,J.c)(46),{call:n,terminals:r,permission:i}=e,[a,o]=(0,q.useState)(n.status===`failed`),s=(0,q.useRef)(!1),l=(0,q.useRef)(n.status),[d,f]=(0,q.useState)(!1),[p,m]=(0,q.useState)(!1),h,g;t[0]===n.status?(h=t[1],g=t[2]):(h=()=>{let e=l.current;if(l.current=n.status,e!==n.status&&(n.status===`failed`&&!s.current&&o(!0),e!==`completed`&&n.status===`completed`)){f(!0),m(!0);let e=setTimeout(()=>m(!1),Z);return()=>clearTimeout(e)}},g=[n.status],t[0]=n.status,t[1]=h,t[2]=g),(0,q.useEffect)(h,g);let _;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(_=()=>{s.current=!0,o(yt)},t[3]=_):_=t[3];let v=_,y=Re[n.toolKind]??z,b;if(t[4]!==y||t[5]!==n.content||t[6]!==n.diffs||t[7]!==n.locations||t[8]!==n.rawInput||t[9]!==n.status||t[10]!==n.terminalIds||t[11]!==n.title||t[12]!==p||t[13]!==d||t[14]!==a||t[15]!==i||t[16]!==r){let e;t[18]===r?e=t[19]:(e=e=>r[e],t[18]=r,t[19]=e);let o=n.terminalIds.map(e).filter(vt),s;t[20]===n.rawInput?s=t[21]:(s=dt(n.rawInput),t[20]=n.rawInput,t[21]=s);let l=s,f=n.diffs.length>0||n.content.length>0||n.locations.length>0||o.length>0||l!==null,m=a&&f,h;t[22]===y?h=t[23]:(h=(0,X.jsx)(y,{className:`size-3.5 shrink-0 text-muted-foreground`,"aria-hidden":`true`}),t[22]=y,t[23]=h);let g;t[24]===n.title?g=t[25]:(g=(0,X.jsx)(`span`,{className:`truncate`,children:n.title}),t[24]=n.title,t[25]=g);let _;t[26]!==n.status||t[27]!==i?(_=(0,X.jsx)(Ct,{permission:i,status:n.status}),t[26]=n.status,t[27]=i,t[28]=_):_=t[28];let x;t[29]!==n.status||t[30]!==p||t[31]!==d?(x=(0,X.jsx)(wt,{status:n.status,completedLive:d,checkVisible:p}),t[29]=n.status,t[30]=p,t[31]=d,t[32]=x):x=t[32];let S;t[33]!==x||t[34]!==_?(S=(0,X.jsxs)(`span`,{className:`ml-auto flex shrink-0 items-center gap-1.5`,children:[_,x]}),t[33]=x,t[34]=_,t[35]=S):S=t[35];let C;t[36]!==S||t[37]!==h||t[38]!==g?(C=(0,X.jsxs)(X.Fragment,{children:[h,g,S]}),t[36]=S,t[37]=h,t[38]=g,t[39]=C):C=t[39];let w=C,T=m&&`rounded-md border border-border/60`,E;t[40]===T?E=t[41]:(E=c(`text-xs`,T),t[40]=T,t[41]=E);let D;t[42]!==f||t[43]!==a||t[44]!==w?(D=f?(0,X.jsx)(u,{type:`button`,variant:`ghost`,size:`sm`,className:`h-auto w-full justify-start gap-1.5 rounded-md px-2 py-1.5 font-normal`,onClick:v,"aria-expanded":a,children:w}):(0,X.jsx)(`div`,{className:`flex w-full items-center gap-1.5 px-2 py-1.5`,children:w}),t[42]=f,t[43]=a,t[44]=w,t[45]=D):D=t[45],b=(0,X.jsxs)(`div`,{className:E,"data-tool-call":``,"data-testid":`agent-thread-tool-call`,children:[D,m?(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5 border-border/60 border-t px-2 py-1.5`,children:[n.diffs.map(_t),o.map(gt),n.content.map(ht),l===null?null:(0,X.jsx)(Dt,{text:l}),n.locations.length>0?(0,X.jsx)(`div`,{className:`flex flex-wrap gap-1 text-muted-foreground`,children:n.locations.map(mt)}):null]}):null]}),t[4]=y,t[5]=n.content,t[6]=n.diffs,t[7]=n.locations,t[8]=n.rawInput,t[9]=n.status,t[10]=n.terminalIds,t[11]=n.title,t[12]=p,t[13]=d,t[14]=a,t[15]=i,t[16]=r,t[17]=b}else b=t[17];return b}function mt(e,t){return(0,X.jsxs)(`span`,{className:`rounded bg-muted/50 px-1 py-0.5 font-mono text-[11px]`,children:[e.path,e.line===void 0?``:`:${e.line}`]},t)}function ht(e,t){return(0,X.jsx)(`pre`,{className:`overflow-x-auto whitespace-pre-wrap break-words rounded bg-muted/50 px-2 py-1 font-mono text-[11px]`,children:ft(e)},t)}function gt(e){return(0,X.jsx)(Et,{terminal:e},e.terminalId)}function _t(e,t){return(0,X.jsx)(Tt,{diff:e},t)}function vt(e){return e!==void 0}function yt(e){return!e}var bt=new Set([`accept`,`allow`,`approve`,`decline`,`deny`,`no`,`ok`,`reject`,`yes`]);function xt(e){if(e===null)return null;let t=e.trim().toLocaleLowerCase();return t===``||bt.has(t)?null:e}function St(){let{_:e}=a();return t=>{if(t===null)return null;if(t.kind===`dismissed`)return e({id:`nmwqWS`});let n=xt(t.optionName);return t.kind===`approved`?t.auto?e({id:`xzAmL_`}):e(n===null?{id:`7kb4LU`}:{id:`rbrHTd`,values:{optionName:n}}):t.auto?e({id:`pUKV4K`}):e(n===null?{id:`JsY1p5`}:{id:`_LczaQ`,values:{optionName:n}})}}function Ct(e){let t=(0,J.c)(11),{permission:n,status:r}=e,i=St();if(n===void 0||!n.mergedIntoToolCall)return null;let a,o,s,c;if(t[0]!==i||t[1]!==n||t[2]!==r){c=Symbol.for(`react.early_return_sentinel`);bb0:{let e=ve(n);if(e===null||e.kind===`approved`){c=null;break bb0}if(r===`failed`){c=null;break bb0}a=`shrink-0 text-muted-foreground`,o=`agent-thread-tool-permission`,s=i(e)}t[0]=i,t[1]=n,t[2]=r,t[3]=a,t[4]=o,t[5]=s,t[6]=c}else a=t[3],o=t[4],s=t[5],c=t[6];if(c!==Symbol.for(`react.early_return_sentinel`))return c;let l;return t[7]!==a||t[8]!==o||t[9]!==s?(l=(0,X.jsx)(`span`,{className:a,"data-testid":o,children:s}),t[7]=a,t[8]=o,t[9]=s,t[10]=l):l=t[10],l}function wt(e){let t=(0,J.c)(13),{status:n,completedLive:r,checkVisible:i}=e,{_:o}=a(),s;t[0]!==o||t[1]!==n?(s=o(n===`completed`?{id:`Q7xfEj`}:n===`failed`?{id:`7l15X4`}:n===`in_progress`?{id:`KUjOb9`}:{id:`S48xcO`}),t[0]=o,t[1]=n,t[2]=s):s=t[2];let l=s,u;t[3]===l?u=t[4]:(u=(0,X.jsx)(`span`,{className:`sr-only`,children:l}),t[3]=l,t[4]=u);let d;t[5]!==i||t[6]!==r||t[7]!==l||t[8]!==n?(d=n===`failed`?(0,X.jsx)(H,{variant:`destructive`,className:`rounded-sm px-1.5 py-0 text-[10px]`,"data-testid":`agent-thread-tool-failed`,children:l}):n===`in_progress`||n===`pending`?(0,X.jsx)(ee,{className:`size-3.5 animate-spin text-muted-foreground`,"aria-hidden":`true`,"data-testid":`agent-thread-tool-spinner`}):r?(0,X.jsx)(j,{className:c(`size-3.5 text-muted-foreground/70 transition-opacity duration-500 motion-reduce:transition-none`,i?`opacity-100`:`opacity-0`),"aria-hidden":`true`,"data-testid":`agent-thread-tool-check`}):null,t[5]=i,t[6]=r,t[7]=l,t[8]=n,t[9]=d):d=t[9];let f;return t[10]!==u||t[11]!==d?(f=(0,X.jsxs)(`span`,{className:`flex shrink-0 items-center`,children:[u,d]}),t[10]=u,t[11]=d,t[12]=f):f=t[12],f}function Tt(e){let t=(0,J.c)(19),{diff:n}=e,{_:r}=a(),i,o,s,l;if(t[0]!==r||t[1]!==n.newText||t[2]!==n.oldText||t[3]!==n.path){let e=Te(n.oldText,n.newText);s=`overflow-hidden rounded border border-border/60`,t[8]===n.path?l=t[9]:(l=(0,X.jsx)(`div`,{className:`bg-muted/50 px-2 py-0.5 font-mono text-[11px] text-muted-foreground`,children:n.path}),t[8]=n.path,t[9]=l),i=`overflow-x-auto font-mono text-[11px] leading-snug`;let a;t[10]===r?a=t[11]:(a=(e,t)=>e.type===`gap`?(0,X.jsx)(`div`,{className:`select-none px-2 text-muted-foreground/70`,children:r({id:`OJOA7Z`,values:{0:e.count}})},t):(0,X.jsxs)(`div`,{className:c(`px-2`,e.type===`add`&&`bg-green-500/10 text-green-700 dark:text-green-400`,e.type===`del`&&`bg-red-500/10 text-red-700 dark:text-red-400`,e.type===`ctx`&&`text-muted-foreground`),children:[(0,X.jsx)(`span`,{"aria-hidden":`true`,children:e.type===`add`?`+ `:e.type===`del`?`- `:` `}),e.text]},t),t[10]=r,t[11]=a),o=e.map(a),t[0]=r,t[1]=n.newText,t[2]=n.oldText,t[3]=n.path,t[4]=i,t[5]=o,t[6]=s,t[7]=l}else i=t[4],o=t[5],s=t[6],l=t[7];let u;t[12]!==i||t[13]!==o?(u=(0,X.jsx)(`pre`,{className:i,children:o}),t[12]=i,t[13]=o,t[14]=u):u=t[14];let d;return t[15]!==s||t[16]!==l||t[17]!==u?(d=(0,X.jsxs)(`div`,{className:s,children:[l,u]}),t[15]=s,t[16]=l,t[17]=u,t[18]=d):d=t[18],d}function Et(e){let t=(0,J.c)(19),{terminal:n}=e,{_:r}=a(),i;t[0]!==n.args||t[1]!==n.command?(i=[n.command,...n.args],t[0]=n.args,t[1]=n.command,t[2]=i):i=t[2];let o=i.join(` `),s;if(t[3]!==r||t[4]!==o||t[5]!==n.exit||t[6]!==n.output||t[7]!==n.truncated){let e=Me(n.output),i=n.exit,a=i!==null&&(i.signal!==null||i.exitCode!==0),c;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,X.jsx)(Se,{className:`size-3 shrink-0 text-muted-foreground`,"aria-hidden":`true`}),t[9]=c):c=t[9];let l;t[10]===o?l=t[11]:(l=(0,X.jsx)(`span`,{className:`truncate font-mono text-[11px] text-muted-foreground`,title:o,children:o}),t[10]=o,t[11]=l);let u;t[12]!==r||t[13]!==i||t[14]!==a?(u=(0,X.jsx)(`span`,{className:`ml-auto shrink-0`,children:i===null?(0,X.jsxs)(`span`,{className:`flex items-center gap-1 text-[10px] text-muted-foreground shimmer`,children:[(0,X.jsx)(ee,{className:`size-3 animate-spin`,"aria-hidden":`true`}),r({id:`KUjOb9`})]}):(0,X.jsx)(H,{variant:a?`destructive`:`secondary`,className:`px-1.5 py-0 font-mono text-[10px] rounded-sm`,"data-testid":`agent-thread-terminal-exit`,children:i.signal===null?r({id:`APNlbk`,values:{0:i.exitCode??0}}):i.signal})}),t[12]=r,t[13]=i,t[14]=a,t[15]=u):u=t[15];let d;t[16]!==l||t[17]!==u?(d=(0,X.jsxs)(`div`,{className:`flex items-center gap-1.5 bg-muted/50 px-2 py-0.5`,children:[c,l,u]}),t[16]=l,t[17]=u,t[18]=d):d=t[18],s=(0,X.jsxs)(`div`,{className:`overflow-hidden rounded border border-border/60`,"data-testid":`agent-thread-terminal`,children:[d,e.trim()!==``||n.truncated?(0,X.jsxs)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words px-2 py-1 font-mono text-[11px] leading-snug`,children:[n.truncated?`${r({id:`_Pmhxt`})}\n`:null,e]}):null]}),t[3]=r,t[4]=o,t[5]=n.exit,t[6]=n.output,t[7]=n.truncated,t[8]=s}else s=t[8];return s}function Dt(e){let t=(0,J.c)(17),{text:n}=e,{_:r}=a(),[i,o]=(0,q.useState)(!1),s=(0,q.useId)(),c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>o(Ot),t[0]=c):c=t[0];let l;t[1]===i?l=t[2]:(l=i?(0,X.jsx)(M,{className:`size-3`,"aria-hidden":`true`}):(0,X.jsx)(N,{className:`size-3`,"aria-hidden":`true`}),t[1]=i,t[2]=l);let d;t[3]===r?d=t[4]:(d=r({id:`XU5AOg`}),t[3]=r,t[4]=d);let f;t[5]!==s||t[6]!==i||t[7]!==l||t[8]!==d?(f=(0,X.jsxs)(u,{type:`button`,variant:`ghost`,size:`sm`,className:`h-auto w-full justify-start gap-1 px-0 py-0.5 text-[10px] text-muted-foreground uppercase tracking-wide hover:bg-transparent`,onClick:c,"aria-expanded":i,"aria-controls":s,children:[l,d]}),t[5]=s,t[6]=i,t[7]=l,t[8]=d,t[9]=f):f=t[9];let p;t[10]!==s||t[11]!==i||t[12]!==n?(p=i?(0,X.jsx)(`pre`,{id:s,className:`overflow-x-auto whitespace-pre-wrap break-words rounded bg-muted/30 px-2 py-1 font-mono text-[11px] text-muted-foreground`,children:n}):null,t[10]=s,t[11]=i,t[12]=n,t[13]=p):p=t[13];let m;return t[14]!==f||t[15]!==p?(m=(0,X.jsxs)(`div`,{"data-testid":`agent-thread-tool-raw-input`,children:[f,p]}),t[14]=f,t[15]=p,t[16]=m):m=t[16],m}function Ot(e){return!e}function kt(e){let t=(0,J.c)(32),{item:n,threadId:r,actionable:i}=e,{_:o}=a(),s=St(),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=ge(),t[0]=l):l=t[0];let d=l,f=ve(n),p=f===null,m=(0,q.useRef)(null),h=(0,q.useRef)(null),g;t[1]!==n.requestId||t[2]!==r?(g=e=>{d.respondPermission(r,n.requestId,{kind:`selected`,optionId:e})},t[1]=n.requestId,t[2]=r,t[3]=g):g=t[3];let _=g,v,y,b;if(t[4]!==n.options){let e=n.options.filter(Nt),r=n.options.filter(Mt);v=e.find(jt)??e[0],y=e.filter(e=>e!==v);let i=r.find(At)??r[0];b=i===void 0?[]:[i,...r.filter(e=>e!==i)],t[4]=n.options,t[5]=v,t[6]=y,t[7]=b}else v=t[5],y=t[6],b=t[7];let x=b,S=v===void 0?h:void 0,C,w;t[8]!==i||t[9]!==p?(C=()=>{if(!p||!i)return;let e=m.current?.closest(`[data-agent-thread-root]`);e==null||!e.contains(document.activeElement)||h.current?.focus()},w=[p,i],t[8]=i,t[9]=p,t[10]=C,t[11]=w):(C=t[10],w=t[11]),(0,q.useEffect)(C,w);let T=s(f),E=p&&i?`border-border bg-muted/30`:`border-border/60 bg-muted/20`,D;t[12]===E?D=t[13]:(D=c(`rounded-md border px-2.5 py-2 text-sm`,E),t[12]=E,t[13]=D);let O;t[14]===n.title?O=t[15]:(O=(0,X.jsx)(`div`,{className:`mb-1.5 font-medium`,children:n.title}),t[14]=n.title,t[15]=O);let k;t[16]!==o||t[17]!==i||t[18]!==x||t[19]!==S||t[20]!==n.requestId||t[21]!==p||t[22]!==v||t[23]!==T||t[24]!==y||t[25]!==_||t[26]!==r?(k=p?i?(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[x.length>0?(0,X.jsx)(Pt,{options:x,onSelect:_,buttonRef:S,testId:`agent-thread-permission-deny`,moreLabel:o({id:`xlQpTE`}),menuAlign:`start`}):(0,X.jsx)(u,{ref:S,type:`button`,size:`sm`,variant:`outline`,className:`text-xs`,onClick:()=>d.respondPermission(r,n.requestId,{kind:`cancelled`}),"data-testid":`agent-thread-permission-deny`,children:o({id:`cFCKYZ`})}),(0,X.jsxs)(`div`,{className:`ml-auto flex items-center gap-1.5`,children:[y.length>0?(0,X.jsx)(Pt,{options:y,onSelect:_,testId:`agent-thread-permission-allow-more`,moreLabel:o({id:`9dVehq`}),menuAlign:`end`}):null,v===void 0?null:(0,X.jsx)(u,{ref:h,type:`button`,size:`sm`,className:`text-xs normal-case font-sans`,title:v.name,onClick:()=>_(v.optionId),"data-testid":`agent-thread-permission-allow`,"data-permission-kind":v.kind,children:(0,X.jsx)(`span`,{className:`max-w-52 truncate`,children:v.name})})]})]}):(0,X.jsx)(`div`,{className:`text-muted-foreground text-xs`,children:o({id:`Tz4dq-`})}):(0,X.jsx)(`div`,{className:`text-muted-foreground text-xs`,"data-testid":`agent-thread-permission-outcome`,children:T}),t[16]=o,t[17]=i,t[18]=x,t[19]=S,t[20]=n.requestId,t[21]=p,t[22]=v,t[23]=T,t[24]=y,t[25]=_,t[26]=r,t[27]=k):k=t[27];let A;return t[28]!==D||t[29]!==O||t[30]!==k?(A=(0,X.jsxs)(`div`,{ref:m,className:D,"data-testid":`agent-thread-permission`,children:[O,k]}),t[28]=D,t[29]=O,t[30]=k,t[31]=A):A=t[31],A}function At(e){return e.kind===`reject_once`}function jt(e){return e.kind===`allow_once`}function Mt(e){return e.kind.startsWith(`reject`)}function Nt(e){return e.kind.startsWith(`allow`)}function Pt(e){let t=(0,J.c)(31),{options:n,onSelect:r,buttonRef:i,testId:a,moreLabel:o,menuAlign:s}=e,c=n[0];if(c===void 0)return null;let l;t[0]!==r||t[1]!==c.optionId?(l=()=>r(c.optionId),t[0]=r,t[1]=c.optionId,t[2]=l):l=t[2];let d;t[3]===c.name?d=t[4]:(d=(0,X.jsx)(`span`,{className:`max-w-52 truncate`,children:c.name}),t[3]=c.name,t[4]=d);let f;t[5]!==i||t[6]!==c.kind||t[7]!==c.name||t[8]!==l||t[9]!==d||t[10]!==a?(f=(0,X.jsx)(u,{ref:i,type:`button`,size:`sm`,variant:`outline`,className:`text-xs`,title:c.name,onClick:l,"data-testid":a,"data-permission-kind":c.kind,children:d}),t[5]=i,t[6]=c.kind,t[7]=c.name,t[8]=l,t[9]=d,t[10]=a,t[11]=f):f=t[11];let p=f;if(n.length===1)return p;let m;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,X.jsx)(K,{}),t[12]=m):m=t[12];let h=`${a}-more`,g;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,X.jsx)(M,{className:`size-3.5`,"aria-hidden":`true`}),t[13]=g):g=t[13];let v;t[14]!==o||t[15]!==h?(v=(0,X.jsx)(S,{asChild:!0,children:(0,X.jsx)(u,{type:`button`,size:`icon-sm`,variant:`outline`,"aria-label":o,"data-testid":h,children:g})}),t[14]=o,t[15]=h,t[16]=v):v=t[16];let y;if(t[17]!==r||t[18]!==n){let e;t[20]===r?e=t[21]:(e=e=>(0,X.jsx)(_,{onSelect:()=>r(e.optionId),"data-permission-kind":e.kind,children:e.name},e.optionId),t[20]=r,t[21]=e),y=n.map(e),t[17]=r,t[18]=n,t[19]=y}else y=t[19];let b;t[22]!==s||t[23]!==y?(b=(0,X.jsx)(E,{align:s,className:`max-w-72`,children:y}),t[22]=s,t[23]=y,t[24]=b):b=t[24];let x;t[25]!==v||t[26]!==b?(x=(0,X.jsxs)(D,{children:[v,b]}),t[25]=v,t[26]=b,t[27]=x):x=t[27];let C;return t[28]!==p||t[29]!==x?(C=(0,X.jsxs)(G,{children:[p,m,x]}),t[28]=p,t[29]=x,t[30]=C):C=t[30],C}function Ft(e){let t=(0,J.c)(89),{item:n,threadId:r}=e,{_:i}=a(),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=ge(),t[0]=o):o=t[0];let s=o,[c,l]=(0,q.useState)(!0);if(n.resolved===`declined`||n.resolved===`timeout`){let e;t[1]!==i||t[2]!==n.displayName||t[3]!==n.resolved?(e=n.resolved===`declined`?i({id:`sgmRY8`,values:{0:n.displayName}}):i({id:`Y_GpJd`,values:{0:n.displayName}}),t[1]=i,t[2]=n.displayName,t[3]=n.resolved,t[4]=e):e=t[4];let r;return t[5]===e?r=t[6]:(r=(0,X.jsx)(`div`,{className:`rounded-md border border-border/60 bg-muted/20 px-2.5 py-2 text-muted-foreground text-xs`,"data-testid":`agent-thread-runtime-consent`,children:e}),t[5]=e,t[6]=r),r}if(n.resolved===`granted`){if(n.install===`done`){let e;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,X.jsx)(j,{className:`size-3.5 shrink-0 text-green-600 dark:text-green-400`,"aria-hidden":`true`}),t[7]=e):e=t[7];let r;t[8]!==i||t[9]!==n.displayName||t[10]!==n.version?(r=i({id:`lKQnp-`,values:{0:n.displayName,1:n.version}}),t[8]=i,t[9]=n.displayName,t[10]=n.version,t[11]=r):r=t[11];let a;return t[12]===r?a=t[13]:(a=(0,X.jsxs)(`div`,{className:`flex items-center gap-1.5 rounded-md border border-border/60 bg-muted/20 px-2.5 py-2 text-muted-foreground text-xs`,"data-testid":`agent-thread-runtime-consent`,children:[e,(0,X.jsx)(`span`,{children:r})]}),t[12]=r,t[13]=a),a}if(n.install===`failed`){let e;t[14]!==i||t[15]!==n.displayName?(e=i({id:`jeJexw`,values:{0:n.displayName}}),t[14]=i,t[15]=n.displayName,t[16]=e):e=t[16];let r;return t[17]===e?r=t[18]:(r=(0,X.jsx)(`div`,{className:`rounded-md border border-border/60 bg-muted/20 px-2.5 py-2 text-muted-foreground text-xs`,"data-testid":`agent-thread-runtime-consent`,children:e}),t[17]=e,t[18]=r),r}let e;t[19]===n.progress?e=t[20]:(e=It(n.progress),t[19]=n.progress,t[20]=e);let r=e,a;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,X.jsx)(ee,{className:`size-3.5 shrink-0 animate-spin`,"aria-hidden":`true`}),t[21]=a):a=t[21];let o;t[22]!==i||t[23]!==n.displayName||t[24]!==n.version?(o=i({id:`DMeaxi`,values:{0:n.displayName,1:n.version}}),t[22]=i,t[23]=n.displayName,t[24]=n.version,t[25]=o):o=t[25];let s;t[26]===o?s=t[27]:(s=(0,X.jsxs)(`div`,{className:`mb-1.5 flex items-center gap-1.5 text-muted-foreground`,children:[a,(0,X.jsx)(`span`,{children:o})]}),t[26]=o,t[27]=s);let c=r===null?`40%`:`${r}%`,l;t[28]===c?l=t[29]:(l=(0,X.jsx)(`div`,{className:`h-1.5 w-full overflow-hidden rounded-full bg-muted`,children:(0,X.jsx)(`div`,{className:`h-full rounded-full bg-primary transition-[width] duration-200`,style:{width:c}})}),t[28]=c,t[29]=l);let u;t[30]===r?u=t[31]:(u=r===null?null:(0,X.jsx)(`div`,{className:`mt-1 text-[11px] text-muted-foreground`,children:`${r}%`}),t[30]=r,t[31]=u);let d;return t[32]!==s||t[33]!==l||t[34]!==u?(d=(0,X.jsxs)(`div`,{className:`rounded-md border border-border/60 bg-muted/30 px-2.5 py-2 text-xs`,"data-testid":`agent-thread-runtime-consent`,children:[s,l,u]}),t[32]=s,t[33]=l,t[34]=u,t[35]=d):d=t[35],d}let d;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,X.jsx)(I,{className:`size-4 shrink-0`,"aria-hidden":`true`}),t[36]=d):d=t[36];let f;t[37]!==i||t[38]!==n.agentName||t[39]!==n.displayName?(f=i({id:`u5Utjn`,values:{0:n.agentName,1:n.displayName}}),t[37]=i,t[38]=n.agentName,t[39]=n.displayName,t[40]=f):f=t[40];let p;t[41]===f?p=t[42]:(p=(0,X.jsxs)(`div`,{className:`mb-1 flex items-center gap-1.5 font-medium`,children:[d,(0,X.jsx)(`span`,{children:f})]}),t[41]=f,t[42]=p);let m;t[43]!==i||t[44]!==n.approxSizeMB||t[45]!==n.displayName||t[46]!==n.provides||t[47]!==n.sourceHost||t[48]!==n.version?(m=i({id:`l7Qq48`,values:{0:n.provides,1:n.displayName,2:n.version,3:n.approxSizeMB,4:n.sourceHost}}),t[43]=i,t[44]=n.approxSizeMB,t[45]=n.displayName,t[46]=n.provides,t[47]=n.sourceHost,t[48]=n.version,t[49]=m):m=t[49];let h;t[50]===m?h=t[51]:(h=(0,X.jsx)(`p`,{className:`mb-2 text-muted-foreground text-xs`,children:m}),t[50]=m,t[51]=h);let _=`runtime-consent-remember-${n.requestId}`,v=`runtime-consent-remember-${n.requestId}`,y;t[52]===Symbol.for(`react.memo_cache_sentinel`)?(y=e=>l(e===!0),t[52]=y):y=t[52];let b;t[53]!==c||t[54]!==v?(b=(0,X.jsx)(g,{id:v,checked:c,onCheckedChange:y,"data-testid":`agent-thread-runtime-consent-remember`}),t[53]=c,t[54]=v,t[55]=b):b=t[55];let x;t[56]===i?x=t[57]:(x=i({id:`oi4zaa`}),t[56]=i,t[57]=x);let S;t[58]!==b||t[59]!==x||t[60]!==_?(S=(0,X.jsxs)(`label`,{htmlFor:_,className:`mb-2 flex w-fit items-center gap-1.5 text-muted-foreground text-xs`,children:[b,x]}),t[58]=b,t[59]=x,t[60]=_,t[61]=S):S=t[61];let C;t[62]!==n.requestId||t[63]!==c||t[64]!==r?(C=()=>s.respondRuntimeConsent(r,n.requestId,{kind:`granted`,remember:c}),t[62]=n.requestId,t[63]=c,t[64]=r,t[65]=C):C=t[65];let w;t[66]!==i||t[67]!==n.displayName?(w=i({id:`BjitBo`,values:{0:n.displayName}}),t[66]=i,t[67]=n.displayName,t[68]=w):w=t[68];let T;t[69]!==C||t[70]!==w?(T=(0,X.jsx)(u,{type:`button`,size:`sm`,className:`h-7 text-xs`,onClick:C,"data-testid":`agent-thread-runtime-consent-allow`,children:w}),t[69]=C,t[70]=w,t[71]=T):T=t[71];let E;t[72]!==n.requestId||t[73]!==c||t[74]!==r?(E=()=>s.respondRuntimeConsent(r,n.requestId,{kind:`declined`,remember:c}),t[72]=n.requestId,t[73]=c,t[74]=r,t[75]=E):E=t[75];let D;t[76]===i?D=t[77]:(D=i({id:`PBxg_E`}),t[76]=i,t[77]=D);let O;t[78]!==E||t[79]!==D?(O=(0,X.jsx)(u,{type:`button`,size:`sm`,variant:`outline`,className:`h-7 text-xs`,onClick:E,"data-testid":`agent-thread-runtime-consent-decline`,children:D}),t[78]=E,t[79]=D,t[80]=O):O=t[80];let k;t[81]!==T||t[82]!==O?(k=(0,X.jsxs)(`div`,{className:`flex flex-wrap gap-1.5`,children:[T,O]}),t[81]=T,t[82]=O,t[83]=k):k=t[83];let A;return t[84]!==S||t[85]!==k||t[86]!==p||t[87]!==h?(A=(0,X.jsxs)(`div`,{className:`rounded-md border border-blue-500/40 bg-blue-500/5 px-2.5 py-2 text-sm`,"data-testid":`agent-thread-runtime-consent`,children:[p,h,S,k]}),t[84]=S,t[85]=k,t[86]=p,t[87]=h,t[88]=A):A=t[88],A}function It(e){return e===null||e.totalBytes===null||e.totalBytes<=0?null:Math.min(100,Math.round(e.receivedBytes/e.totalBytes*100))}function Lt(e){let t=Math.round(e/1e3);if(t>=1e3){let t=e/1e6;return`${t%1==0?t.toFixed(0):t.toFixed(1)}M`}return e>=1e3?`${t}k`:String(e)}function Rt(e){let t=(0,J.c)(47),{used:n,size:r,percent:i}=e,{_:o}=a(),s=2*Math.PI*6,l=i>=90?`text-red-500`:i>=75?`text-amber-500`:`text-muted-foreground/60`,u=100-i,m,h,g,_,v,y,b,x,S;if(t[0]!==o||t[1]!==u||t[2]!==i||t[3]!==r||t[4]!==l||t[5]!==n){let e=Lt(n),a=Lt(r);h=p;let C=o({id:`ElatXA`,values:{percent:i,usedLabel:e,sizeLabel:a}}),w;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,X.jsx)(`circle`,{cx:`8`,cy:`8`,r:6,fill:`none`,strokeWidth:`2`,className:`stroke-current text-muted-foreground/10`}),t[15]=w):w=t[15];let T=s*(1-i/100),E;t[16]===l?E=t[17]:(E=c(`stroke-current transition-[stroke-dashoffset]`,l),t[16]=l,t[17]=E);let D;t[18]!==T||t[19]!==E?(D=(0,X.jsxs)(`svg`,{viewBox:`0 0 16 16`,className:`size-4 -rotate-90`,"aria-hidden":`true`,children:[w,(0,X.jsx)(`circle`,{cx:`8`,cy:`8`,r:6,fill:`none`,strokeWidth:`2`,strokeLinecap:`round`,strokeDasharray:s,strokeDashoffset:T,className:E})]}),t[18]=T,t[19]=E,t[20]=D):D=t[20],S=(0,X.jsx)(d,{"aria-label":C,className:`flex size-5 items-center justify-center rounded-full outline-none focus-visible:ring-2 focus-visible:ring-ring/50`,"data-testid":`agent-thread-usage`,children:D}),m=f,x=`top`,v=`flex flex-col items-center gap-0.5 text-center`;let O;t[21]===o?O=t[22]:(O=o({id:`MJuO1q`}),t[21]=o,t[22]=O),t[23]===O?y=t[24]:(y=(0,X.jsx)(`span`,{className:`text-background/60`,children:O}),t[23]=O,t[24]=y);let k;t[25]!==o||t[26]!==u||t[27]!==i?(k=o({id:`syi2ye`,values:{percent:i,left:u}}),t[25]=o,t[26]=u,t[27]=i,t[28]=k):k=t[28],t[29]===k?b=t[30]:(b=(0,X.jsx)(`span`,{children:k}),t[29]=k,t[30]=b),g=`tabular-nums`,_=o({id:`EPwuTC`,values:{usedLabel:e,sizeLabel:a}}),t[0]=o,t[1]=u,t[2]=i,t[3]=r,t[4]=l,t[5]=n,t[6]=m,t[7]=h,t[8]=g,t[9]=_,t[10]=v,t[11]=y,t[12]=b,t[13]=x,t[14]=S}else m=t[6],h=t[7],g=t[8],_=t[9],v=t[10],y=t[11],b=t[12],x=t[13],S=t[14];let C;t[31]!==g||t[32]!==_?(C=(0,X.jsx)(`span`,{className:g,children:_}),t[31]=g,t[32]=_,t[33]=C):C=t[33];let w;t[34]!==v||t[35]!==y||t[36]!==b||t[37]!==C?(w=(0,X.jsxs)(`div`,{className:v,children:[y,b,C]}),t[34]=v,t[35]=y,t[36]=b,t[37]=C,t[38]=w):w=t[38];let T;t[39]!==m||t[40]!==x||t[41]!==w?(T=(0,X.jsx)(m,{side:x,children:w}),t[39]=m,t[40]=x,t[41]=w,t[42]=T):T=t[42];let E;return t[43]!==h||t[44]!==T||t[45]!==S?(E=(0,X.jsxs)(h,{children:[S,T]}),t[43]=h,t[44]=T,t[45]=S,t[46]=E):E=t[46],E}function zt(e){let t=(0,J.c)(60),{info:n,draft:r,onDraftChange:i,onSubmit:o,canPrompt:s,canQueue:c,turnActive:l,cancelPending:d,onCancel:f,status:p,archived:h,resumePending:g,usage:_}=e,{_:v}=a(),y=(0,q.useRef)(null),b=Q(n.agent.name),x;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(x=()=>{let e=y.current;e!==null&&(e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,160)}px`)},t[0]=x):x=t[0];let S;t[1]===r?S=t[2]:(S=[r],t[1]=r,t[2]=S),(0,q.useEffect)(x,S);let C;t[3]===_?C=t[4]:(C=_!==null&&_.used!==void 0&&_.size!==void 0&&_.size>0?Math.min(100,Math.round(_.used/_.size*100)):null,t[3]=_,t[4]=C);let w=C,T;t[5]===n.queue?T=t[6]:(T=n.queue??[],t[5]=n.queue,t[6]=T);let E=T,D;t[7]!==h||t[8]!==n.threadId||t[9]!==E?(D=E.length>0&&!h?(0,X.jsx)(Bt,{threadId:n.threadId,queue:E}):null,t[7]=h,t[8]=n.threadId,t[9]=E,t[10]=D):D=t[10];let O;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(O=e=>ae(e,y),t[11]=O):O=t[11];let k=se,A;t[12]===i?A=t[13]:(A=e=>i(e.target.value),t[12]=i,t[13]=A);let j;t[14]===o?j=t[15]:(j=e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),o())},t[14]=o,t[15]=j);let M=v({id:`mToVM9`,values:{agentName:b}}),N=v(h?g?{id:`3oEK1e`}:{id:`e9sHSO`}:p===`auth_required`?{id:`r2eKE3`,values:{agentName:b}}:{id:`mToVM9`,values:{agentName:b}}),P=h?g:p!==`ready`&&p!==`running`&&p!==`awaiting_permission`,F;t[16]!==k||t[17]!==r||t[18]!==j||t[19]!==M||t[20]!==N||t[21]!==P||t[22]!==A?(F=(0,X.jsx)(k,{ref:y,value:r,onChange:A,onKeyDown:j,rows:1,"aria-label":M,placeholder:N,disabled:P,className:`max-h-40 min-h-9 resize-none border-0 bg-transparent pb-0 shadow-none focus-visible:border-0 focus-visible:ring-0 disabled:bg-transparent dark:bg-transparent dark:disabled:bg-transparent placeholder:text-muted-foreground/60`,"data-testid":`agent-thread-composer`}),t[16]=k,t[17]=r,t[18]=j,t[19]=M,t[20]=N,t[21]=P,t[22]=A,t[23]=F):F=t[23];let I;t[24]===n?I=t[25]:(I=(0,X.jsx)(We,{info:n}),t[24]=n,t[25]=I);let L;t[26]!==_||t[27]!==w?(L=w!==null&&_?.used!==void 0&&_?.size!==void 0?(0,X.jsx)(Rt,{used:_.used,size:_.size,percent:w}):null,t[26]=_,t[27]=w,t[28]=L):L=t[28];let R;t[29]!==v||t[30]!==d||t[31]!==f||t[32]!==l?(R=l?(0,X.jsx)(u,{type:`button`,size:`icon-sm`,className:`rounded-lg`,disabled:d,onClick:f,"aria-label":v(d?{id:`161NCV`}:{id:`ygCKqB`}),"data-testid":`agent-thread-cancel`,children:d?(0,X.jsx)(ee,{className:`size-3.5 animate-spin`,"aria-hidden":`true`}):(0,X.jsx)(xe,{className:`size-3 fill-current`,"aria-hidden":`true`})}):null,t[29]=v,t[30]=d,t[31]=f,t[32]=l,t[33]=R):R=t[33];let z;t[34]!==s||t[35]!==c||t[36]!==r?(z=!(s||c)||r.trim()===``,t[34]=s,t[35]=c,t[36]=r,t[37]=z):z=t[37];let B;t[38]!==v||t[39]!==c?(B=v(c?{id:`RQWuCs`}:{id:`JlFcis`}),t[38]=v,t[39]=c,t[40]=B):B=t[40];let te;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(te=(0,X.jsx)(m,{className:`size-4`,"aria-hidden":`true`}),t[41]=te):te=t[41];let V;t[42]!==o||t[43]!==z||t[44]!==B?(V=(0,X.jsx)(u,{type:`button`,size:`icon-sm`,className:`rounded-lg`,disabled:z,onClick:o,"aria-label":B,"data-testid":`agent-thread-send`,children:te}),t[42]=o,t[43]=z,t[44]=B,t[45]=V):V=t[45];let H;t[46]!==L||t[47]!==R||t[48]!==V?(H=(0,X.jsxs)(`div`,{className:`ml-auto flex items-center gap-1.5`,children:[L,R,V]}),t[46]=L,t[47]=R,t[48]=V,t[49]=H):H=t[49];let U;t[50]!==I||t[51]!==H?(U=(0,X.jsxs)(`div`,{className:`flex items-center gap-2 px-1.5 pt-1 pb-1.5`,children:[I,H]}),t[50]=I,t[51]=H,t[52]=U):U=t[52];let W;t[53]!==F||t[54]!==U||t[55]!==O?(W=(0,X.jsxs)(`div`,{onMouseDown:O,className:`cursor-text rounded-lg border border-input bg-transparent transition-colors focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50 dark:bg-input/30`,children:[F,U]}),t[53]=F,t[54]=U,t[55]=O,t[56]=W):W=t[56];let G;return t[57]!==W||t[58]!==D?(G=(0,X.jsxs)(`div`,{className:`p-2`,children:[D,W]}),t[57]=W,t[58]=D,t[59]=G):G=t[59],G}function Bt(e){let t=(0,J.c)(12),{threadId:n,queue:r}=e,{_:i}=a(),o;t[0]===i?o=t[1]:(o=i({id:`8wu9lr`}),t[0]=i,t[1]=o);let s;t[2]===o?s=t[3]:(s=(0,X.jsx)(`span`,{className:`px-1 font-medium text-[10px] text-muted-foreground/70 uppercase tracking-wide`,children:o}),t[2]=o,t[3]=s);let c;if(t[4]!==r||t[5]!==n){let e;t[7]===n?e=t[8]:(e=e=>(0,X.jsx)(Vt,{threadId:n,message:e},e.id),t[7]=n,t[8]=e),c=r.map(e),t[4]=r,t[5]=n,t[6]=c}else c=t[6];let l;return t[9]!==s||t[10]!==c?(l=(0,X.jsxs)(`div`,{className:`mb-1.5 flex flex-col gap-1`,"data-testid":`agent-thread-queue`,children:[s,c]}),t[9]=s,t[10]=c,t[11]=l):l=t[11],l}function Vt(e){let t=(0,J.c)(59),{threadId:n,message:r}=e,{_:i}=a(),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=ge(),t[0]=o):o=t[0];let s=o,[c,l]=(0,q.useState)(!1),[d,f]=(0,q.useState)(``),p;t[1]===r.content?p=t[2]:(p=()=>{f(r.content),l(!0)},t[1]=r.content,t[2]=p);let m=p,h;t[3]!==r.content||t[4]!==r.id||t[5]!==n||t[6]!==d?(h=()=>{let e=d.trim();if(e===``){l(!1);return}e!==r.content&&s.editQueued(n,r.id,e),l(!1)},t[3]=r.content,t[4]=r.id,t[5]=n,t[6]=d,t[7]=h):h=t[7];let g=h;if(c){let e;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(e=e=>f(e.target.value),t[8]=e):e=t[8];let n;t[9]===g?n=t[10]:(n=e=>{e.key===`Enter`&&!e.shiftKey?(e.preventDefault(),g()):e.key===`Escape`&&(e.preventDefault(),l(!1))},t[9]=g,t[10]=n);let r;t[11]===i?r=t[12]:(r=i({id:`5soCUZ`}),t[11]=i,t[12]=r);let a;t[13]!==n||t[14]!==r||t[15]!==d?(a=(0,X.jsx)(se,{value:d,onChange:e,onKeyDown:n,autoFocus:!0,rows:1,"aria-label":r,className:`min-h-8 resize-none border-0 bg-transparent px-1.5 py-1 shadow-none focus-visible:border-0 focus-visible:ring-0 dark:bg-transparent`,"data-testid":`agent-thread-queued-input`}),t[13]=n,t[14]=r,t[15]=d,t[16]=a):a=t[16];let o;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>l(!1),t[17]=o):o=t[17];let s;t[18]===i?s=t[19]:(s=i({id:`nBHvPL`}),t[18]=i,t[19]=s);let c;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,X.jsx)(B,{className:`size-3.5`,"aria-hidden":`true`}),t[20]=c):c=t[20];let p;t[21]===s?p=t[22]:(p=(0,X.jsx)(u,{type:`button`,size:`icon-sm`,variant:`ghost`,className:`size-6`,onClick:o,"aria-label":s,"data-testid":`agent-thread-queued-cancel-edit`,children:c}),t[21]=s,t[22]=p);let m;t[23]===d?m=t[24]:(m=d.trim(),t[23]=d,t[24]=m);let h=m===``,_;t[25]===i?_=t[26]:(_=i({id:`CB7c0Z`}),t[25]=i,t[26]=_);let v;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,X.jsx)(j,{className:`size-3.5`,"aria-hidden":`true`}),t[27]=v):v=t[27];let y;t[28]!==g||t[29]!==h||t[30]!==_?(y=(0,X.jsx)(u,{type:`button`,size:`icon-sm`,variant:`ghost`,className:`size-6`,disabled:h,onClick:g,"aria-label":_,"data-testid":`agent-thread-queued-save`,children:v}),t[28]=g,t[29]=h,t[30]=_,t[31]=y):y=t[31];let b;t[32]!==p||t[33]!==y?(b=(0,X.jsxs)(`div`,{className:`flex items-center justify-end gap-1`,children:[p,y]}),t[32]=p,t[33]=y,t[34]=b):b=t[34];let x;return t[35]!==b||t[36]!==a?(x=(0,X.jsxs)(`div`,{className:`rounded-md border border-input bg-muted/30 p-1`,"data-testid":`agent-thread-queued-editing`,children:[a,b]}),t[35]=b,t[36]=a,t[37]=x):x=t[37],x}let _;t[38]===r.content?_=t[39]:(_=(0,X.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-muted-foreground text-sm`,children:r.content}),t[38]=r.content,t[39]=_);let v;t[40]===i?v=t[41]:(v=i({id:`5soCUZ`}),t[40]=i,t[41]=v);let y;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,X.jsx)(L,{className:`size-3.5`,"aria-hidden":`true`}),t[42]=y):y=t[42];let b;t[43]!==m||t[44]!==v?(b=(0,X.jsx)(u,{type:`button`,size:`icon-sm`,variant:`ghost`,className:`size-6 shrink-0 text-muted-foreground`,onClick:m,"aria-label":v,"data-testid":`agent-thread-queued-edit`,children:y}),t[43]=m,t[44]=v,t[45]=b):b=t[45];let x;t[46]!==r.id||t[47]!==n?(x=()=>s.removeQueued(n,r.id),t[46]=r.id,t[47]=n,t[48]=x):x=t[48];let S;t[49]===i?S=t[50]:(S=i({id:`-WeuHF`}),t[49]=i,t[50]=S);let C;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,X.jsx)(B,{className:`size-3.5`,"aria-hidden":`true`}),t[51]=C):C=t[51];let w;t[52]!==x||t[53]!==S?(w=(0,X.jsx)(u,{type:`button`,size:`icon-sm`,variant:`ghost`,className:`size-6 shrink-0 text-muted-foreground`,onClick:x,"aria-label":S,"data-testid":`agent-thread-queued-remove`,children:C}),t[52]=x,t[53]=S,t[54]=w):w=t[54];let T;return t[55]!==w||t[56]!==_||t[57]!==b?(T=(0,X.jsxs)(`div`,{className:`flex items-center gap-1 rounded-md border border-input/60 bg-muted/30 py-0.5 pl-2 pr-1`,"data-testid":`agent-thread-queued`,children:[_,b,w]}),t[55]=w,t[56]=_,t[57]=b,t[58]=T):T=t[58],T}export{ze as ThreadView};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{fn as e,pn as t}from"./dist-Dxs5l5f3.js";var n={BASE_URL:`./`,DEV:!1,MODE:`production`,PROD:!0,SSR:!1,VITE_APP_VERSION:`0.41.4`}?.VITE_APP_VERSION??`0.0.0-unknown`;function r(){return e({kind:`web`,runtimeVersion:n})}function i(){return t({kind:`web`,runtimeVersion:n})}export{r as n,i as r,n as t};
|