@inkeep/open-knowledge 0.32.0 → 0.32.1-beta.0
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/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 +7 -7
- package/dist/constants-ilUqafug.mjs +2 -0
- package/dist/{dist-Lt66otPU.mjs → dist-QZbqwLoi.mjs} +1 -1
- package/dist/{dist-Bd-iJOOK.mjs → dist-aEEP-3u8.mjs} +3 -3
- package/dist/index.mjs +1 -1
- package/dist/{init-C2r4HoHs.mjs → init-BLqnkoD0.mjs} +3 -3
- package/dist/init-CoVz5_lR.mjs +1 -0
- package/dist/{launch-json-removal-BfoeuI7f.mjs → launch-json-removal-BxZ6bHN3.mjs} +2 -2
- package/dist/loader-9_Oowsk_.mjs +1 -0
- package/dist/{loader-CxNDKc93.mjs → loader-CtonJ-33.mjs} +2 -2
- package/dist/{open-browser-DZUdqNsP.mjs → open-browser-D2TYxL7J.mjs} +2 -2
- package/dist/{preview-Bvbpyv--.mjs → preview-3L4wIR1-.mjs} +2 -2
- package/dist/preview-Cjw4kD50.mjs +1 -0
- package/dist/public/assets/{ActivityModeContent-Ba-bfAiX.js → ActivityModeContent-l52MgAx6.js} +1 -1
- package/dist/public/assets/{CodeMirrorPropInput-CALfAE-h.js → CodeMirrorPropInput-B6T7D2-X.js} +1 -1
- package/dist/public/assets/{DocumentContext-BJbSJRci.js → DocumentContext-CZ__UpxY.js} +1 -1
- package/dist/public/assets/{EnableSyncConfirmDialog-CuaSvKB1.js → EnableSyncConfirmDialog-DTu-fvJK.js} +1 -1
- package/dist/public/assets/{ManagedArtifactProperties-JMV0IEuF.js → ManagedArtifactProperties-DvVyvtlJ.js} +1 -1
- package/dist/public/assets/{MermaidDocEditor-BMbyBiug.js → MermaidDocEditor-Ccb3muWu.js} +1 -1
- package/dist/public/assets/{PropertyPanel-D2gRrYh6.js → PropertyPanel-xS5atmYD.js} +1 -1
- package/dist/public/assets/{SettingsDialogBody-BvAZmxYL.js → SettingsDialogBody-Y3PFZcQD.js} +1 -1
- package/dist/public/assets/{ShareReceiveMissDialog-DNtLs0wb.js → ShareReceiveMissDialog-DkyVBDiw.js} +1 -1
- package/dist/public/assets/{SourceEditor-UX6BqbX7.js → SourceEditor-BjdZ-SNg.js} +1 -1
- package/dist/public/assets/{auth-state-cache-QUPpmdqH.js → auth-state-cache-CSL6QQXy.js} +1 -1
- package/dist/public/assets/{config-provider-C40v-5G5.js → config-provider-BxJcIod9.js} +1 -1
- package/dist/public/assets/{dist-CIT-prsb.js → dist-C-qLfA94.js} +1 -1
- package/dist/public/assets/{index-m-YYl3DI.js → index-DY_IY7WK.js} +91 -91
- package/dist/public/assets/{pending-receive-nav-store-r0qqDw8y.js → pending-receive-nav-store-Dk4UZPqO.js} +1 -1
- package/dist/public/assets/{selection-context-CmMnIxWO.js → selection-context-JyzwIGV-.js} +1 -1
- package/dist/public/assets/{src-JH0-HirD.js → src-BEeqJnnq.js} +1 -1
- package/dist/public/assets/{telemetry-impl-CT_yT2nG.js → telemetry-impl-CeO1833o.js} +1 -1
- package/dist/public/assets/{telemetry-startup-Dku7aWfY.js → telemetry-startup-DCPtDyw3.js} +1 -1
- package/dist/public/assets/{typing-burst-detector-c4L7GJUT.js → typing-burst-detector-DjS0exgG.js} +1 -1
- package/dist/public/index.html +11 -11
- package/dist/{repair-launch-json-Bw4ygbCe.mjs → repair-launch-json-D3EHDrOz.mjs} +2 -2
- package/dist/{repair-mcp-configs-CbNAbonO.mjs → repair-mcp-configs-aiXacDdE.mjs} +2 -2
- package/dist/{repair-skills-C2X3d1Py.mjs → repair-skills-B5ANEsYw.mjs} +2 -2
- package/dist/repair-skills-BuaPEgTU.mjs +1 -0
- package/dist/{src-P1FPnfSV.mjs → src-DHlI6jVb.mjs} +2 -2
- package/dist/start-CMcoeRhF.mjs +1 -0
- package/dist/{start-DY6xnqxj.mjs → start-CsOKppdK.mjs} +2 -2
- package/dist/{write-project-skill-B0sRkegU.mjs → write-project-skill-B-NvxFn1.mjs} +2 -2
- package/package.json +1 -1
- package/dist/constants-C2I3YwtS.mjs +0 -2
- package/dist/init-BqH_ZeQ0.mjs +0 -1
- package/dist/loader-Vfl986qk.mjs +0 -1
- package/dist/preview-BIgdQMUr.mjs +0 -1
- package/dist/repair-skills-DL9nbwfk.mjs +0 -1
- package/dist/start-Br0Z6-BN.mjs +0 -1
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e,r as t,t as n}from"./gh-detect-DNx3-c1-.mjs";import{A as r,D as i,M as a,N as o,O as s,d as c,j as l,k as u,n as d,o as f,s as p,v as m,x as h,y as g}from"./init-
|
|
1
|
+
import{i as e,r as t,t as n}from"./gh-detect-DNx3-c1-.mjs";import{A as r,D as i,M as a,N as o,O as s,d as c,j as l,k as u,n as d,o as f,s as p,v as m,x as h,y as g}from"./init-BLqnkoD0.mjs";import{C as _,D as v,E as y,b,d as x,f as S,h as C,i as w,n as T,p as E,r as D,t as O,u as k,v as A,x as j,y as M}from"./src-DHlI6jVb.mjs";import{_ as N,a as P,d as F,f as I,g as L,i as R,o as z,r as B,s as V,t as H,u as U,v as W}from"./write-project-skill-B-NvxFn1.mjs";import{n as G}from"./loader-CtonJ-33.mjs";import{n as K}from"./preview-3L4wIR1-.mjs";import{n as q,t as J}from"./mcp-migrate-event-BNoOQpLB.mjs";export{V as ALL_EDITOR_IDS,U as EDITOR_LABELS,F as EDITOR_TARGETS,I as HOSTS_WITH_USER_SKILL_DIR,d as LAUNCH_CONFIG_NAME,x as PATH_SHIM_BEGIN,S as PATH_SHIM_BLOCK_RE,E as PATH_SHIM_END,i as addOkPathsToGitExclude,H as assertProjectPathSafe,L as buildManagedServerEntry,D as buildMcpConfigDeclineEvent,J as buildMcpConfigMigrateEvent,f as classifyExistingMcpEntry,_ as collectReportBundle,t as createTokenStore,y as defaultBugReportZipPath,n as detectGh,p as detectInstalledEditors,s as formatTrackedRemediation,u as getExcludedOkPaths,r as getOkArtifactPaths,N as isEntryUpToDate,W as isOwnManagedEntry,G as loadConfig,e as makeLazyProbeTokenStore,A as parseGitHubBlobUrl,M as parseGitHubShareUrl,b as parseGitHubTreeUrl,j as parseGitUrl,C as pathInstallMarkerPath,K as previewContent,l as probeTrackedOkPaths,c as readExistingMcpEntry,a as readSharingMode,v as redactContent,o as removeOkPathsFromGitExclude,k as removeOwnMcpEntry,B as removeProjectSkill,P as removeUserGlobalSkillBundle,h as resolveProjectRoot,w as runStop,q as truncatePriorEntry,z as userGlobalSkillBundleTargets,T as validateLocalFolderForShare,m as writeEditorMcpConfig,O as writeProjectAiIntegrations,R as writeProjectSkill,g as writeUserMcpConfigs};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,s as t,t as n}from"./chunk-C94x7I9S.mjs";import{Ht as r,Ot as i,ds as a,pa as o}from"./server-lock-iLcBw_q0-DrtDFuEH.mjs";import{Ca as s,D as c,Ea as l,G as u,Gn as d,O as f,Pa as p,Sa as m,Ta as h,Zn as g,_n as _,aa as v,ca as y,cr as b,d as x,ka as S,lt as C,ua as ee,xa as te}from"./dist-Bd-iJOOK.mjs";import{r as ne,t as w}from"./esm-BNIW0EH8.mjs";import{t as re}from"./constants-C2I3YwtS.mjs";import{t as T}from"./is-object-DAC-mmwo.mjs";import{a as ie,b as ae,d as E,g as oe,h as se,i as ce,m as le,p as ue,s as de,t as fe}from"./write-project-skill-B0sRkegU.mjs";import{i as D,n as pe,o as O,r as me,s as k,t as A}from"./colors-DugpbXz6.mjs";import{t as he}from"./preview-Bvbpyv--.mjs";import{createRequire as ge}from"node:module";import{execFileSync as _e}from"node:child_process";import j,{dirname as M,isAbsolute as ve,join as N,relative as P,resolve as F,sep as ye}from"node:path";import I from"node:process";import{fileURLToPath as be}from"node:url";import{existsSync as L,lstatSync as xe,mkdirSync as Se,readFileSync as R,readlinkSync as Ce,realpathSync as we,statSync as Te,writeFileSync as Ee}from"node:fs";import{homedir as De}from"node:os";import{inspect as Oe,stripVTControlCharacters as ke,styleText as z}from"node:util";import{AsyncLocalStorage as Ae,AsyncResource as je}from"node:async_hooks";import*as Me from"node:readline";const Ne=new Set([`emacs`,`vim`]);function Pe(e){return Ne.has(e)}function Fe(){let e=process.env.INQUIRER_KEYBINDINGS;return e?Array.from(new Set(e.toLowerCase().split(/[\s,]+/).filter(Pe))):[]}const B=(e,t=[])=>e.name===`up`||t.includes(`vim`)&&e.name===`k`||t.includes(`emacs`)&&e.ctrl&&e.name===`p`,Ie=(e,t=[])=>e.name===`down`||t.includes(`vim`)&&e.name===`j`||t.includes(`emacs`)&&e.ctrl&&e.name===`n`,Le=e=>e.name===`space`,Re=e=>e.name===`backspace`,ze=e=>`1234567890`.includes(e.name),Be=e=>e.name===`enter`||e.name===`return`;var Ve=class extends Error{name=`AbortPromptError`;message=`Prompt was aborted`;constructor(e){super(),this.cause=e?.cause}},He=class extends Error{name=`CancelPromptError`;message=`Prompt was canceled`},Ue=class extends Error{name=`ExitPromptError`},We=class extends Error{name=`HookError`},Ge=class extends Error{name=`ValidationError`};const Ke=new Ae;function qe(e){return{rl:e,hooks:[],hooksCleanup:[],hooksEffect:[],index:0,handleChange(){}}}function Je(e,t){let n=qe(e);return Ke.run(n,()=>{function e(e){n.handleChange=()=>{n.index=0,e()},n.handleChange()}return t(e)})}function V(){let e=Ke.getStore();if(!e)throw new We(`[Inquirer] Hook functions can only be called from within a prompt`);return e}function Ye(){return V().rl}function Xe(e){return je.bind((...t)=>{let n=V(),r=!1,i=n.handleChange;n.handleChange=()=>{r=!0};let a=e(...t);return r&&i(),n.handleChange=i,a})}function Ze(e){let t=V(),{index:n}=t,r=e({get(){return t.hooks[n]},set(e){t.hooks[n]=e},initialized:n in t.hooks});return t.index++,r}function Qe(){V().handleChange()}const H={queue(e){let t=V(),{index:n}=t;t.hooksEffect.push(()=>{t.hooksCleanup[n]?.();let r=e(Ye());if(r!=null&&typeof r!=`function`)throw new Ge(`useEffect return value must be a cleanup function or nothing.`);t.hooksCleanup[n]=r})},run(){let e=V();Xe(()=>{e.hooksEffect.forEach(e=>{e()}),e.hooksEffect.length=0})()},clearAll(){let e=V();e.hooksCleanup.forEach(e=>{e?.()}),e.hooksEffect.length=0,e.hooksCleanup.length=0}};function $e(e){return typeof e==`function`}function U(e){return Ze(t=>{let n=je.bind(function(e){t.get()!==e&&(t.set(e),Qe())});if(t.initialized)return[t.get(),n];let r=$e(e)?e():e;return t.set(r),[r,n]})}function et(e,t){Ze(n=>{let r=n.get();(!Array.isArray(r)||t.some((e,t)=>!Object.is(e,r[t])))&&H.queue(e),n.set(t)})}function tt(){return I.platform.startsWith(`win`)?!!I.env.CI||!!I.env.WT_SESSION||!!I.env.TERMINUS_SUBLIME||I.env.ConEmuTask===`{cmd::Cmder}`||I.env.TERM_PROGRAM===`Terminus-Sublime`||I.env.TERM_PROGRAM===`vscode`||I.env.TERM===`xterm-256color`||I.env.TERM===`alacritty`||I.env.TERMINAL_EMULATOR===`JetBrains-JediTerm`:I.env.TERM!==`linux`}const nt={circleQuestionMark:`(?)`,questionMarkPrefix:`(?)`,square:`█`,squareDarkShade:`▓`,squareMediumShade:`▒`,squareLightShade:`░`,squareTop:`▀`,squareBottom:`▄`,squareLeft:`▌`,squareRight:`▐`,squareCenter:`■`,bullet:`●`,dot:`․`,ellipsis:`…`,pointerSmall:`›`,triangleUp:`▲`,triangleUpSmall:`▴`,triangleDown:`▼`,triangleDownSmall:`▾`,triangleLeftSmall:`◂`,triangleRightSmall:`▸`,home:`⌂`,heart:`♥`,musicNote:`♪`,musicNoteBeamed:`♫`,arrowUp:`↑`,arrowDown:`↓`,arrowLeft:`←`,arrowRight:`→`,arrowLeftRight:`↔`,arrowUpDown:`↕`,almostEqual:`≈`,notEqual:`≠`,lessOrEqual:`≤`,greaterOrEqual:`≥`,identical:`≡`,infinity:`∞`,subscriptZero:`₀`,subscriptOne:`₁`,subscriptTwo:`₂`,subscriptThree:`₃`,subscriptFour:`₄`,subscriptFive:`₅`,subscriptSix:`₆`,subscriptSeven:`₇`,subscriptEight:`₈`,subscriptNine:`₉`,oneHalf:`½`,oneThird:`⅓`,oneQuarter:`¼`,oneFifth:`⅕`,oneSixth:`⅙`,oneEighth:`⅛`,twoThirds:`⅔`,twoFifths:`⅖`,threeQuarters:`¾`,threeFifths:`⅗`,threeEighths:`⅜`,fourFifths:`⅘`,fiveSixths:`⅚`,fiveEighths:`⅝`,sevenEighths:`⅞`,line:`─`,lineBold:`━`,lineDouble:`═`,lineDashed0:`┄`,lineDashed1:`┅`,lineDashed2:`┈`,lineDashed3:`┉`,lineDashed4:`╌`,lineDashed5:`╍`,lineDashed6:`╴`,lineDashed7:`╶`,lineDashed8:`╸`,lineDashed9:`╺`,lineDashed10:`╼`,lineDashed11:`╾`,lineDashed12:`−`,lineDashed13:`–`,lineDashed14:`‐`,lineDashed15:`⁃`,lineVertical:`│`,lineVerticalBold:`┃`,lineVerticalDouble:`║`,lineVerticalDashed0:`┆`,lineVerticalDashed1:`┇`,lineVerticalDashed2:`┊`,lineVerticalDashed3:`┋`,lineVerticalDashed4:`╎`,lineVerticalDashed5:`╏`,lineVerticalDashed6:`╵`,lineVerticalDashed7:`╷`,lineVerticalDashed8:`╹`,lineVerticalDashed9:`╻`,lineVerticalDashed10:`╽`,lineVerticalDashed11:`╿`,lineDownLeft:`┐`,lineDownLeftArc:`╮`,lineDownBoldLeftBold:`┓`,lineDownBoldLeft:`┒`,lineDownLeftBold:`┑`,lineDownDoubleLeftDouble:`╗`,lineDownDoubleLeft:`╖`,lineDownLeftDouble:`╕`,lineDownRight:`┌`,lineDownRightArc:`╭`,lineDownBoldRightBold:`┏`,lineDownBoldRight:`┎`,lineDownRightBold:`┍`,lineDownDoubleRightDouble:`╔`,lineDownDoubleRight:`╓`,lineDownRightDouble:`╒`,lineUpLeft:`┘`,lineUpLeftArc:`╯`,lineUpBoldLeftBold:`┛`,lineUpBoldLeft:`┚`,lineUpLeftBold:`┙`,lineUpDoubleLeftDouble:`╝`,lineUpDoubleLeft:`╜`,lineUpLeftDouble:`╛`,lineUpRight:`└`,lineUpRightArc:`╰`,lineUpBoldRightBold:`┗`,lineUpBoldRight:`┖`,lineUpRightBold:`┕`,lineUpDoubleRightDouble:`╚`,lineUpDoubleRight:`╙`,lineUpRightDouble:`╘`,lineUpDownLeft:`┤`,lineUpBoldDownBoldLeftBold:`┫`,lineUpBoldDownBoldLeft:`┨`,lineUpDownLeftBold:`┥`,lineUpBoldDownLeftBold:`┩`,lineUpDownBoldLeftBold:`┪`,lineUpDownBoldLeft:`┧`,lineUpBoldDownLeft:`┦`,lineUpDoubleDownDoubleLeftDouble:`╣`,lineUpDoubleDownDoubleLeft:`╢`,lineUpDownLeftDouble:`╡`,lineUpDownRight:`├`,lineUpBoldDownBoldRightBold:`┣`,lineUpBoldDownBoldRight:`┠`,lineUpDownRightBold:`┝`,lineUpBoldDownRightBold:`┡`,lineUpDownBoldRightBold:`┢`,lineUpDownBoldRight:`┟`,lineUpBoldDownRight:`┞`,lineUpDoubleDownDoubleRightDouble:`╠`,lineUpDoubleDownDoubleRight:`╟`,lineUpDownRightDouble:`╞`,lineDownLeftRight:`┬`,lineDownBoldLeftBoldRightBold:`┳`,lineDownLeftBoldRightBold:`┯`,lineDownBoldLeftRight:`┰`,lineDownBoldLeftBoldRight:`┱`,lineDownBoldLeftRightBold:`┲`,lineDownLeftRightBold:`┮`,lineDownLeftBoldRight:`┭`,lineDownDoubleLeftDoubleRightDouble:`╦`,lineDownDoubleLeftRight:`╥`,lineDownLeftDoubleRightDouble:`╤`,lineUpLeftRight:`┴`,lineUpBoldLeftBoldRightBold:`┻`,lineUpLeftBoldRightBold:`┷`,lineUpBoldLeftRight:`┸`,lineUpBoldLeftBoldRight:`┹`,lineUpBoldLeftRightBold:`┺`,lineUpLeftRightBold:`┶`,lineUpLeftBoldRight:`┵`,lineUpDoubleLeftDoubleRightDouble:`╩`,lineUpDoubleLeftRight:`╨`,lineUpLeftDoubleRightDouble:`╧`,lineUpDownLeftRight:`┼`,lineUpBoldDownBoldLeftBoldRightBold:`╋`,lineUpDownBoldLeftBoldRightBold:`╈`,lineUpBoldDownLeftBoldRightBold:`╇`,lineUpBoldDownBoldLeftRightBold:`╊`,lineUpBoldDownBoldLeftBoldRight:`╉`,lineUpBoldDownLeftRight:`╀`,lineUpDownBoldLeftRight:`╁`,lineUpDownLeftBoldRight:`┽`,lineUpDownLeftRightBold:`┾`,lineUpBoldDownBoldLeftRight:`╂`,lineUpDownLeftBoldRightBold:`┿`,lineUpBoldDownLeftBoldRight:`╃`,lineUpBoldDownLeftRightBold:`╄`,lineUpDownBoldLeftBoldRight:`╅`,lineUpDownBoldLeftRightBold:`╆`,lineUpDoubleDownDoubleLeftDoubleRightDouble:`╬`,lineUpDoubleDownDoubleLeftRight:`╫`,lineUpDownLeftDoubleRightDouble:`╪`,lineCross:`╳`,lineBackslash:`╲`,lineSlash:`╱`},rt={tick:`✔`,info:`ℹ`,warning:`⚠`,cross:`✘`,squareSmall:`◻`,squareSmallFilled:`◼`,circle:`◯`,circleFilled:`◉`,circleDotted:`◌`,circleDouble:`◎`,circleCircle:`ⓞ`,circleCross:`ⓧ`,circlePipe:`Ⓘ`,radioOn:`◉`,radioOff:`◯`,checkboxOn:`☒`,checkboxOff:`☐`,checkboxCircleOn:`ⓧ`,checkboxCircleOff:`Ⓘ`,pointer:`❯`,triangleUpOutline:`△`,triangleLeft:`◀`,triangleRight:`▶`,lozenge:`◆`,lozengeOutline:`◇`,hamburger:`☰`,smiley:`㋡`,mustache:`෴`,star:`★`,play:`▶`,nodejs:`⬢`,oneSeventh:`⅐`,oneNinth:`⅑`,oneTenth:`⅒`},it={tick:`√`,info:`i`,warning:`‼`,cross:`×`,squareSmall:`□`,squareSmallFilled:`■`,circle:`( )`,circleFilled:`(*)`,circleDotted:`( )`,circleDouble:`( )`,circleCircle:`(○)`,circleCross:`(×)`,circlePipe:`(│)`,radioOn:`(*)`,radioOff:`( )`,checkboxOn:`[×]`,checkboxOff:`[ ]`,checkboxCircleOn:`(×)`,checkboxCircleOff:`( )`,pointer:`>`,triangleUpOutline:`∆`,triangleLeft:`◄`,triangleRight:`►`,lozenge:`♦`,lozengeOutline:`◊`,hamburger:`≡`,smiley:`☺`,mustache:`┌─┐`,star:`✶`,play:`►`,nodejs:`♦`,oneSeventh:`1/7`,oneNinth:`1/9`,oneTenth:`1/10`},at={...nt,...rt},ot={...nt,...it},W=tt()?at:ot;Object.entries(rt);const st={prefix:{idle:z(`blue`,`?`),done:z(`green`,W.tick)},spinner:{interval:80,frames:[`⠋`,`⠙`,`⠹`,`⠸`,`⠼`,`⠴`,`⠦`,`⠧`,`⠇`,`⠏`].map(e=>z(`yellow`,e))},keybindings:[],style:{answer:e=>z(`cyan`,e),message:e=>z(`bold`,e),error:e=>z(`red`,`> ${e}`),defaultAnswer:e=>z(`dim`,`(${e})`),help:e=>z(`dim`,e),highlight:e=>z(`cyan`,e),key:e=>z(`cyan`,z(`bold`,`<${e}>`))}};function ct(){return{...st,keybindings:Fe()}}function lt(e){if(typeof e!=`object`||!e)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function ut(...e){let t={};for(let n of e)for(let[e,r]of Object.entries(n)){let n=t[e];t[e]=lt(n)&<(r)?ut(n,r):r}return t}function dt(...e){return ut(ct(),...e.filter(e=>e!=null))}function ft({status:e=`idle`,theme:t}){let[n,r]=U(!1),[i,a]=U(0),{prefix:o,spinner:s}=dt(t);return et(()=>{if(e===`loading`){let e,t=-1,n=setTimeout(()=>{r(!0),e=setInterval(()=>{t+=1,a(t%s.frames.length)},s.interval)},300);return()=>{clearTimeout(n),clearInterval(e)}}else r(!1)},[e]),n?s.frames[i]:typeof o==`string`?o:o[e===`loading`?`idle`:e]??o.idle}function pt(e,t){return Ze(n=>{let r=n.get();if(!r||r.dependencies.length!==t.length||r.dependencies.some((e,n)=>e!==t[n])){let r=e();return n.set({value:r,dependencies:t}),r}return r.value})}function mt(e){return U({current:e})[0]}function ht(e){let t=mt(e);t.current=e,et(e=>{let n=!1,r=Xe((r,i)=>{n||t.current(i,e)});return e.input.on(`keypress`,r),()=>{n=!0,e.input.removeListener(`keypress`,r)}},[])}var gt=n(((t,n)=>{n.exports=i;function r(t){let n={defaultWidth:0,output:process.stdout,tty:e(`tty`)};return t?(Object.keys(n).forEach(function(e){t[e]||(t[e]=n[e])}),t):n}function i(e){let t=r(e);if(t.output.getWindowSize)return t.output.getWindowSize()[0]||t.defaultWidth;if(t.tty.getWindowSize)return t.tty.getWindowSize()[1]||t.defaultWidth;if(t.output.columns)return t.output.columns;if(process.env.CLI_WIDTH){let e=parseInt(process.env.CLI_WIDTH,10);if(!isNaN(e)&&e!==0)return e}return t.defaultWidth}}));const _t=(()=>{let e=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;return t=>{let n=0;for(e.lastIndex=0;e.test(t);)n+=1;return t.length-n}})(),vt=e=>e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510,yt=e=>e===8987||e===9001||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12771||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=19903||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e>=131072&&e<=196605||e>=196608&&e<=262141,bt=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y,xt=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,St=/(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}]){1,1000}/uy,Ct=/\t{1,1000}/y,wt=/[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/uy,Tt=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,Et=/\p{M}+/gu,Dt={limit:1/0,ellipsis:``},Ot=(e,t={},n={})=>{let r=t.limit??1/0,i=t.ellipsis??``,a=t?.ellipsisWidth??(i?Ot(i,Dt,n).width:0),o=n.controlWidth??0,s=n.tabWidth??8,c=n.emojiWidth??2,l=n.regularWidth??1,u=n.wideWidth??2,d=[[Tt,l],[bt,0],[xt,o],[Ct,s],[wt,c],[St,u]],f=0,p=0,m=e.length,h=0,g=!1,_=m,v=Math.max(0,r-a),y=0,b=0,x=0,S=0;outer:for(;;){if(b>y||p>=m&&p>f){let t=e.slice(y,b)||e.slice(f,p);h=0;for(let e of t.replaceAll(Et,``)){let t=e.codePointAt(0)||0;if(S=vt(t)?2:yt(t)?u:l,x+S>v&&(_=Math.min(_,Math.max(y,f)+h)),x+S>r){g=!0;break outer}h+=e.length,x+=S}y=b=0}if(p>=m)break outer;for(let t=0,n=d.length;t<n;t++){let[n,i]=d[t];if(n.lastIndex=p,n.test(e)){if(h=n===St?_t(e.slice(p,n.lastIndex)):n===wt?1:n.lastIndex-p,S=h*i,x+S>v&&(_=Math.min(_,p+Math.floor((v-x)/i))),x+S>r){g=!0;break outer}x+=S,y=f,b=p,p=f=n.lastIndex;continue outer}}p+=1}return{width:g?v:x,index:g?_:m,truncated:g,ellipsed:g&&r>=a}},kt={limit:1/0,ellipsis:``,ellipsisWidth:0},G=(e,t={})=>Ot(e,kt,t).width,At=`]8;;`,jt=RegExp(`(?:\\[(?<code>\\d+)m|\\${At}(?<uri>.*))`,`y`),Mt=e=>{if(e>=30&&e<=37||e>=90&&e<=97)return 39;if(e>=40&&e<=47||e>=100&&e<=107)return 49;if(e===1||e===2)return 22;if(e===3)return 23;if(e===4)return 24;if(e===7)return 27;if(e===8)return 28;if(e===9)return 29;if(e===0)return 0},Nt=e=>`[${e}m`,Pt=e=>`${At}${e}`,Ft=(e,t,n)=>{let r=t[Symbol.iterator](),i=!1,a=!1,o=e.at(-1),s=o===void 0?0:G(o),c=r.next(),l=r.next(),u=0;for(;!c.done;){let o=c.value,d=G(o);s+d<=n?e[e.length-1]+=o:(e.push(o),s=0),(o===`\x1B`||o===``)&&(i=!0,a=t.startsWith(At,u+1)),i?a?o===`\x07`&&(i=!1,a=!1):o===`m`&&(i=!1):(s+=d,s===n&&!l.done&&(e.push(``),s=0)),c=l,l=r.next(),u+=o.length}o=e.at(-1),!s&&o!==void 0&&o.length&&e.length>1&&(e[e.length-2]+=e.pop())},It=e=>{let t=e.split(` `),n=t.length;for(;n&&!G(t[n-1]);)n--;return n===t.length?e:t.slice(0,n).join(` `)+t.slice(n).join(``)},Lt=(e,t,n={})=>{if(n.trim!==!1&&e.trim()===``)return``;let r=``,i,a,o=e.split(` `),s=[``],c=0;for(let e=0;e<o.length;e++){let r=o[e];if(n.trim!==!1){let e=s.at(-1)??``,t=e.trimStart();e.length!==t.length&&(s[s.length-1]=t,c=G(t))}e!==0&&(c>=t&&(n.wordWrap===!1||n.trim===!1)&&(s.push(``),c=0),(c||n.trim===!1)&&(s[s.length-1]+=` `,c++));let i=G(r);if(n.hard&&i>t){let e=t-c,n=1+Math.floor((i-e-1)/t);Math.floor((i-1)/t)<n&&s.push(``),Ft(s,r,t),c=G(s.at(-1)??``);continue}if(c+i>t&&c&&i){if(n.wordWrap===!1&&c<t){Ft(s,r,t),c=G(s.at(-1)??``);continue}s.push(``),c=0}if(c+i>t&&n.wordWrap===!1){Ft(s,r,t),c=G(s.at(-1)??``);continue}s[s.length-1]+=r,c+=i}n.trim!==!1&&(s=s.map(e=>It(e)));let l=s.join(`
|
|
1
|
+
import{a as e,s as t,t as n}from"./chunk-C94x7I9S.mjs";import{Ht as r,Ot as i,ds as a,pa as o}from"./server-lock-iLcBw_q0-DrtDFuEH.mjs";import{Ca as s,D as c,Ea as l,G as u,Gn as d,O as f,Pa as p,Sa as m,Ta as h,Zn as g,_n as _,aa as v,ca as y,cr as b,d as x,ka as S,lt as C,ua as ee,xa as te}from"./dist-aEEP-3u8.mjs";import{r as ne,t as w}from"./esm-BNIW0EH8.mjs";import{t as re}from"./constants-ilUqafug.mjs";import{t as T}from"./is-object-DAC-mmwo.mjs";import{a as ie,b as ae,d as E,g as oe,h as se,i as ce,m as le,p as ue,s as de,t as fe}from"./write-project-skill-B-NvxFn1.mjs";import{i as D,n as pe,o as O,r as me,s as k,t as A}from"./colors-DugpbXz6.mjs";import{t as he}from"./preview-3L4wIR1-.mjs";import{createRequire as ge}from"node:module";import{execFileSync as _e}from"node:child_process";import j,{dirname as M,isAbsolute as ve,join as N,relative as P,resolve as F,sep as ye}from"node:path";import I from"node:process";import{fileURLToPath as be}from"node:url";import{existsSync as L,lstatSync as xe,mkdirSync as Se,readFileSync as R,readlinkSync as Ce,realpathSync as we,statSync as Te,writeFileSync as Ee}from"node:fs";import{homedir as De}from"node:os";import{inspect as Oe,stripVTControlCharacters as ke,styleText as z}from"node:util";import{AsyncLocalStorage as Ae,AsyncResource as je}from"node:async_hooks";import*as Me from"node:readline";const Ne=new Set([`emacs`,`vim`]);function Pe(e){return Ne.has(e)}function Fe(){let e=process.env.INQUIRER_KEYBINDINGS;return e?Array.from(new Set(e.toLowerCase().split(/[\s,]+/).filter(Pe))):[]}const B=(e,t=[])=>e.name===`up`||t.includes(`vim`)&&e.name===`k`||t.includes(`emacs`)&&e.ctrl&&e.name===`p`,Ie=(e,t=[])=>e.name===`down`||t.includes(`vim`)&&e.name===`j`||t.includes(`emacs`)&&e.ctrl&&e.name===`n`,Le=e=>e.name===`space`,Re=e=>e.name===`backspace`,ze=e=>`1234567890`.includes(e.name),Be=e=>e.name===`enter`||e.name===`return`;var Ve=class extends Error{name=`AbortPromptError`;message=`Prompt was aborted`;constructor(e){super(),this.cause=e?.cause}},He=class extends Error{name=`CancelPromptError`;message=`Prompt was canceled`},Ue=class extends Error{name=`ExitPromptError`},We=class extends Error{name=`HookError`},Ge=class extends Error{name=`ValidationError`};const Ke=new Ae;function qe(e){return{rl:e,hooks:[],hooksCleanup:[],hooksEffect:[],index:0,handleChange(){}}}function Je(e,t){let n=qe(e);return Ke.run(n,()=>{function e(e){n.handleChange=()=>{n.index=0,e()},n.handleChange()}return t(e)})}function V(){let e=Ke.getStore();if(!e)throw new We(`[Inquirer] Hook functions can only be called from within a prompt`);return e}function Ye(){return V().rl}function Xe(e){return je.bind((...t)=>{let n=V(),r=!1,i=n.handleChange;n.handleChange=()=>{r=!0};let a=e(...t);return r&&i(),n.handleChange=i,a})}function Ze(e){let t=V(),{index:n}=t,r=e({get(){return t.hooks[n]},set(e){t.hooks[n]=e},initialized:n in t.hooks});return t.index++,r}function Qe(){V().handleChange()}const H={queue(e){let t=V(),{index:n}=t;t.hooksEffect.push(()=>{t.hooksCleanup[n]?.();let r=e(Ye());if(r!=null&&typeof r!=`function`)throw new Ge(`useEffect return value must be a cleanup function or nothing.`);t.hooksCleanup[n]=r})},run(){let e=V();Xe(()=>{e.hooksEffect.forEach(e=>{e()}),e.hooksEffect.length=0})()},clearAll(){let e=V();e.hooksCleanup.forEach(e=>{e?.()}),e.hooksEffect.length=0,e.hooksCleanup.length=0}};function $e(e){return typeof e==`function`}function U(e){return Ze(t=>{let n=je.bind(function(e){t.get()!==e&&(t.set(e),Qe())});if(t.initialized)return[t.get(),n];let r=$e(e)?e():e;return t.set(r),[r,n]})}function et(e,t){Ze(n=>{let r=n.get();(!Array.isArray(r)||t.some((e,t)=>!Object.is(e,r[t])))&&H.queue(e),n.set(t)})}function tt(){return I.platform.startsWith(`win`)?!!I.env.CI||!!I.env.WT_SESSION||!!I.env.TERMINUS_SUBLIME||I.env.ConEmuTask===`{cmd::Cmder}`||I.env.TERM_PROGRAM===`Terminus-Sublime`||I.env.TERM_PROGRAM===`vscode`||I.env.TERM===`xterm-256color`||I.env.TERM===`alacritty`||I.env.TERMINAL_EMULATOR===`JetBrains-JediTerm`:I.env.TERM!==`linux`}const nt={circleQuestionMark:`(?)`,questionMarkPrefix:`(?)`,square:`█`,squareDarkShade:`▓`,squareMediumShade:`▒`,squareLightShade:`░`,squareTop:`▀`,squareBottom:`▄`,squareLeft:`▌`,squareRight:`▐`,squareCenter:`■`,bullet:`●`,dot:`․`,ellipsis:`…`,pointerSmall:`›`,triangleUp:`▲`,triangleUpSmall:`▴`,triangleDown:`▼`,triangleDownSmall:`▾`,triangleLeftSmall:`◂`,triangleRightSmall:`▸`,home:`⌂`,heart:`♥`,musicNote:`♪`,musicNoteBeamed:`♫`,arrowUp:`↑`,arrowDown:`↓`,arrowLeft:`←`,arrowRight:`→`,arrowLeftRight:`↔`,arrowUpDown:`↕`,almostEqual:`≈`,notEqual:`≠`,lessOrEqual:`≤`,greaterOrEqual:`≥`,identical:`≡`,infinity:`∞`,subscriptZero:`₀`,subscriptOne:`₁`,subscriptTwo:`₂`,subscriptThree:`₃`,subscriptFour:`₄`,subscriptFive:`₅`,subscriptSix:`₆`,subscriptSeven:`₇`,subscriptEight:`₈`,subscriptNine:`₉`,oneHalf:`½`,oneThird:`⅓`,oneQuarter:`¼`,oneFifth:`⅕`,oneSixth:`⅙`,oneEighth:`⅛`,twoThirds:`⅔`,twoFifths:`⅖`,threeQuarters:`¾`,threeFifths:`⅗`,threeEighths:`⅜`,fourFifths:`⅘`,fiveSixths:`⅚`,fiveEighths:`⅝`,sevenEighths:`⅞`,line:`─`,lineBold:`━`,lineDouble:`═`,lineDashed0:`┄`,lineDashed1:`┅`,lineDashed2:`┈`,lineDashed3:`┉`,lineDashed4:`╌`,lineDashed5:`╍`,lineDashed6:`╴`,lineDashed7:`╶`,lineDashed8:`╸`,lineDashed9:`╺`,lineDashed10:`╼`,lineDashed11:`╾`,lineDashed12:`−`,lineDashed13:`–`,lineDashed14:`‐`,lineDashed15:`⁃`,lineVertical:`│`,lineVerticalBold:`┃`,lineVerticalDouble:`║`,lineVerticalDashed0:`┆`,lineVerticalDashed1:`┇`,lineVerticalDashed2:`┊`,lineVerticalDashed3:`┋`,lineVerticalDashed4:`╎`,lineVerticalDashed5:`╏`,lineVerticalDashed6:`╵`,lineVerticalDashed7:`╷`,lineVerticalDashed8:`╹`,lineVerticalDashed9:`╻`,lineVerticalDashed10:`╽`,lineVerticalDashed11:`╿`,lineDownLeft:`┐`,lineDownLeftArc:`╮`,lineDownBoldLeftBold:`┓`,lineDownBoldLeft:`┒`,lineDownLeftBold:`┑`,lineDownDoubleLeftDouble:`╗`,lineDownDoubleLeft:`╖`,lineDownLeftDouble:`╕`,lineDownRight:`┌`,lineDownRightArc:`╭`,lineDownBoldRightBold:`┏`,lineDownBoldRight:`┎`,lineDownRightBold:`┍`,lineDownDoubleRightDouble:`╔`,lineDownDoubleRight:`╓`,lineDownRightDouble:`╒`,lineUpLeft:`┘`,lineUpLeftArc:`╯`,lineUpBoldLeftBold:`┛`,lineUpBoldLeft:`┚`,lineUpLeftBold:`┙`,lineUpDoubleLeftDouble:`╝`,lineUpDoubleLeft:`╜`,lineUpLeftDouble:`╛`,lineUpRight:`└`,lineUpRightArc:`╰`,lineUpBoldRightBold:`┗`,lineUpBoldRight:`┖`,lineUpRightBold:`┕`,lineUpDoubleRightDouble:`╚`,lineUpDoubleRight:`╙`,lineUpRightDouble:`╘`,lineUpDownLeft:`┤`,lineUpBoldDownBoldLeftBold:`┫`,lineUpBoldDownBoldLeft:`┨`,lineUpDownLeftBold:`┥`,lineUpBoldDownLeftBold:`┩`,lineUpDownBoldLeftBold:`┪`,lineUpDownBoldLeft:`┧`,lineUpBoldDownLeft:`┦`,lineUpDoubleDownDoubleLeftDouble:`╣`,lineUpDoubleDownDoubleLeft:`╢`,lineUpDownLeftDouble:`╡`,lineUpDownRight:`├`,lineUpBoldDownBoldRightBold:`┣`,lineUpBoldDownBoldRight:`┠`,lineUpDownRightBold:`┝`,lineUpBoldDownRightBold:`┡`,lineUpDownBoldRightBold:`┢`,lineUpDownBoldRight:`┟`,lineUpBoldDownRight:`┞`,lineUpDoubleDownDoubleRightDouble:`╠`,lineUpDoubleDownDoubleRight:`╟`,lineUpDownRightDouble:`╞`,lineDownLeftRight:`┬`,lineDownBoldLeftBoldRightBold:`┳`,lineDownLeftBoldRightBold:`┯`,lineDownBoldLeftRight:`┰`,lineDownBoldLeftBoldRight:`┱`,lineDownBoldLeftRightBold:`┲`,lineDownLeftRightBold:`┮`,lineDownLeftBoldRight:`┭`,lineDownDoubleLeftDoubleRightDouble:`╦`,lineDownDoubleLeftRight:`╥`,lineDownLeftDoubleRightDouble:`╤`,lineUpLeftRight:`┴`,lineUpBoldLeftBoldRightBold:`┻`,lineUpLeftBoldRightBold:`┷`,lineUpBoldLeftRight:`┸`,lineUpBoldLeftBoldRight:`┹`,lineUpBoldLeftRightBold:`┺`,lineUpLeftRightBold:`┶`,lineUpLeftBoldRight:`┵`,lineUpDoubleLeftDoubleRightDouble:`╩`,lineUpDoubleLeftRight:`╨`,lineUpLeftDoubleRightDouble:`╧`,lineUpDownLeftRight:`┼`,lineUpBoldDownBoldLeftBoldRightBold:`╋`,lineUpDownBoldLeftBoldRightBold:`╈`,lineUpBoldDownLeftBoldRightBold:`╇`,lineUpBoldDownBoldLeftRightBold:`╊`,lineUpBoldDownBoldLeftBoldRight:`╉`,lineUpBoldDownLeftRight:`╀`,lineUpDownBoldLeftRight:`╁`,lineUpDownLeftBoldRight:`┽`,lineUpDownLeftRightBold:`┾`,lineUpBoldDownBoldLeftRight:`╂`,lineUpDownLeftBoldRightBold:`┿`,lineUpBoldDownLeftBoldRight:`╃`,lineUpBoldDownLeftRightBold:`╄`,lineUpDownBoldLeftBoldRight:`╅`,lineUpDownBoldLeftRightBold:`╆`,lineUpDoubleDownDoubleLeftDoubleRightDouble:`╬`,lineUpDoubleDownDoubleLeftRight:`╫`,lineUpDownLeftDoubleRightDouble:`╪`,lineCross:`╳`,lineBackslash:`╲`,lineSlash:`╱`},rt={tick:`✔`,info:`ℹ`,warning:`⚠`,cross:`✘`,squareSmall:`◻`,squareSmallFilled:`◼`,circle:`◯`,circleFilled:`◉`,circleDotted:`◌`,circleDouble:`◎`,circleCircle:`ⓞ`,circleCross:`ⓧ`,circlePipe:`Ⓘ`,radioOn:`◉`,radioOff:`◯`,checkboxOn:`☒`,checkboxOff:`☐`,checkboxCircleOn:`ⓧ`,checkboxCircleOff:`Ⓘ`,pointer:`❯`,triangleUpOutline:`△`,triangleLeft:`◀`,triangleRight:`▶`,lozenge:`◆`,lozengeOutline:`◇`,hamburger:`☰`,smiley:`㋡`,mustache:`෴`,star:`★`,play:`▶`,nodejs:`⬢`,oneSeventh:`⅐`,oneNinth:`⅑`,oneTenth:`⅒`},it={tick:`√`,info:`i`,warning:`‼`,cross:`×`,squareSmall:`□`,squareSmallFilled:`■`,circle:`( )`,circleFilled:`(*)`,circleDotted:`( )`,circleDouble:`( )`,circleCircle:`(○)`,circleCross:`(×)`,circlePipe:`(│)`,radioOn:`(*)`,radioOff:`( )`,checkboxOn:`[×]`,checkboxOff:`[ ]`,checkboxCircleOn:`(×)`,checkboxCircleOff:`( )`,pointer:`>`,triangleUpOutline:`∆`,triangleLeft:`◄`,triangleRight:`►`,lozenge:`♦`,lozengeOutline:`◊`,hamburger:`≡`,smiley:`☺`,mustache:`┌─┐`,star:`✶`,play:`►`,nodejs:`♦`,oneSeventh:`1/7`,oneNinth:`1/9`,oneTenth:`1/10`},at={...nt,...rt},ot={...nt,...it},W=tt()?at:ot;Object.entries(rt);const st={prefix:{idle:z(`blue`,`?`),done:z(`green`,W.tick)},spinner:{interval:80,frames:[`⠋`,`⠙`,`⠹`,`⠸`,`⠼`,`⠴`,`⠦`,`⠧`,`⠇`,`⠏`].map(e=>z(`yellow`,e))},keybindings:[],style:{answer:e=>z(`cyan`,e),message:e=>z(`bold`,e),error:e=>z(`red`,`> ${e}`),defaultAnswer:e=>z(`dim`,`(${e})`),help:e=>z(`dim`,e),highlight:e=>z(`cyan`,e),key:e=>z(`cyan`,z(`bold`,`<${e}>`))}};function ct(){return{...st,keybindings:Fe()}}function lt(e){if(typeof e!=`object`||!e)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function ut(...e){let t={};for(let n of e)for(let[e,r]of Object.entries(n)){let n=t[e];t[e]=lt(n)&<(r)?ut(n,r):r}return t}function dt(...e){return ut(ct(),...e.filter(e=>e!=null))}function ft({status:e=`idle`,theme:t}){let[n,r]=U(!1),[i,a]=U(0),{prefix:o,spinner:s}=dt(t);return et(()=>{if(e===`loading`){let e,t=-1,n=setTimeout(()=>{r(!0),e=setInterval(()=>{t+=1,a(t%s.frames.length)},s.interval)},300);return()=>{clearTimeout(n),clearInterval(e)}}else r(!1)},[e]),n?s.frames[i]:typeof o==`string`?o:o[e===`loading`?`idle`:e]??o.idle}function pt(e,t){return Ze(n=>{let r=n.get();if(!r||r.dependencies.length!==t.length||r.dependencies.some((e,n)=>e!==t[n])){let r=e();return n.set({value:r,dependencies:t}),r}return r.value})}function mt(e){return U({current:e})[0]}function ht(e){let t=mt(e);t.current=e,et(e=>{let n=!1,r=Xe((r,i)=>{n||t.current(i,e)});return e.input.on(`keypress`,r),()=>{n=!0,e.input.removeListener(`keypress`,r)}},[])}var gt=n(((t,n)=>{n.exports=i;function r(t){let n={defaultWidth:0,output:process.stdout,tty:e(`tty`)};return t?(Object.keys(n).forEach(function(e){t[e]||(t[e]=n[e])}),t):n}function i(e){let t=r(e);if(t.output.getWindowSize)return t.output.getWindowSize()[0]||t.defaultWidth;if(t.tty.getWindowSize)return t.tty.getWindowSize()[1]||t.defaultWidth;if(t.output.columns)return t.output.columns;if(process.env.CLI_WIDTH){let e=parseInt(process.env.CLI_WIDTH,10);if(!isNaN(e)&&e!==0)return e}return t.defaultWidth}}));const _t=(()=>{let e=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;return t=>{let n=0;for(e.lastIndex=0;e.test(t);)n+=1;return t.length-n}})(),vt=e=>e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510,yt=e=>e===8987||e===9001||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12771||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=19903||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e>=131072&&e<=196605||e>=196608&&e<=262141,bt=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y,xt=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,St=/(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}]){1,1000}/uy,Ct=/\t{1,1000}/y,wt=/[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/uy,Tt=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,Et=/\p{M}+/gu,Dt={limit:1/0,ellipsis:``},Ot=(e,t={},n={})=>{let r=t.limit??1/0,i=t.ellipsis??``,a=t?.ellipsisWidth??(i?Ot(i,Dt,n).width:0),o=n.controlWidth??0,s=n.tabWidth??8,c=n.emojiWidth??2,l=n.regularWidth??1,u=n.wideWidth??2,d=[[Tt,l],[bt,0],[xt,o],[Ct,s],[wt,c],[St,u]],f=0,p=0,m=e.length,h=0,g=!1,_=m,v=Math.max(0,r-a),y=0,b=0,x=0,S=0;outer:for(;;){if(b>y||p>=m&&p>f){let t=e.slice(y,b)||e.slice(f,p);h=0;for(let e of t.replaceAll(Et,``)){let t=e.codePointAt(0)||0;if(S=vt(t)?2:yt(t)?u:l,x+S>v&&(_=Math.min(_,Math.max(y,f)+h)),x+S>r){g=!0;break outer}h+=e.length,x+=S}y=b=0}if(p>=m)break outer;for(let t=0,n=d.length;t<n;t++){let[n,i]=d[t];if(n.lastIndex=p,n.test(e)){if(h=n===St?_t(e.slice(p,n.lastIndex)):n===wt?1:n.lastIndex-p,S=h*i,x+S>v&&(_=Math.min(_,p+Math.floor((v-x)/i))),x+S>r){g=!0;break outer}x+=S,y=f,b=p,p=f=n.lastIndex;continue outer}}p+=1}return{width:g?v:x,index:g?_:m,truncated:g,ellipsed:g&&r>=a}},kt={limit:1/0,ellipsis:``,ellipsisWidth:0},G=(e,t={})=>Ot(e,kt,t).width,At=`]8;;`,jt=RegExp(`(?:\\[(?<code>\\d+)m|\\${At}(?<uri>.*))`,`y`),Mt=e=>{if(e>=30&&e<=37||e>=90&&e<=97)return 39;if(e>=40&&e<=47||e>=100&&e<=107)return 49;if(e===1||e===2)return 22;if(e===3)return 23;if(e===4)return 24;if(e===7)return 27;if(e===8)return 28;if(e===9)return 29;if(e===0)return 0},Nt=e=>`[${e}m`,Pt=e=>`${At}${e}`,Ft=(e,t,n)=>{let r=t[Symbol.iterator](),i=!1,a=!1,o=e.at(-1),s=o===void 0?0:G(o),c=r.next(),l=r.next(),u=0;for(;!c.done;){let o=c.value,d=G(o);s+d<=n?e[e.length-1]+=o:(e.push(o),s=0),(o===`\x1B`||o===``)&&(i=!0,a=t.startsWith(At,u+1)),i?a?o===`\x07`&&(i=!1,a=!1):o===`m`&&(i=!1):(s+=d,s===n&&!l.done&&(e.push(``),s=0)),c=l,l=r.next(),u+=o.length}o=e.at(-1),!s&&o!==void 0&&o.length&&e.length>1&&(e[e.length-2]+=e.pop())},It=e=>{let t=e.split(` `),n=t.length;for(;n&&!G(t[n-1]);)n--;return n===t.length?e:t.slice(0,n).join(` `)+t.slice(n).join(``)},Lt=(e,t,n={})=>{if(n.trim!==!1&&e.trim()===``)return``;let r=``,i,a,o=e.split(` `),s=[``],c=0;for(let e=0;e<o.length;e++){let r=o[e];if(n.trim!==!1){let e=s.at(-1)??``,t=e.trimStart();e.length!==t.length&&(s[s.length-1]=t,c=G(t))}e!==0&&(c>=t&&(n.wordWrap===!1||n.trim===!1)&&(s.push(``),c=0),(c||n.trim===!1)&&(s[s.length-1]+=` `,c++));let i=G(r);if(n.hard&&i>t){let e=t-c,n=1+Math.floor((i-e-1)/t);Math.floor((i-1)/t)<n&&s.push(``),Ft(s,r,t),c=G(s.at(-1)??``);continue}if(c+i>t&&c&&i){if(n.wordWrap===!1&&c<t){Ft(s,r,t),c=G(s.at(-1)??``);continue}s.push(``),c=0}if(c+i>t&&n.wordWrap===!1){Ft(s,r,t),c=G(s.at(-1)??``);continue}s[s.length-1]+=r,c+=i}n.trim!==!1&&(s=s.map(e=>It(e)));let l=s.join(`
|
|
2
2
|
`),u=!1;for(let e=0;e<l.length;e++){let t=l[e];if(r+=t,u)u=!1;else if(u=t>=`\ud800`&&t<=`\udbff`,u)continue;if(t===`\x1B`||t===``){jt.lastIndex=e+1;let t=jt.exec(l)?.groups;if(t?.code!==void 0){let e=Number.parseFloat(t.code);i=e===39?void 0:e}else t?.uri!==void 0&&(a=t.uri.length===0?void 0:t.uri)}if(l[e+1]===`
|
|
3
3
|
`){a&&(r+=Pt(``));let e=i?Mt(i):void 0;i&&e&&(r+=Nt(e))}else t===`
|
|
4
4
|
`&&(i&&Mt(i)&&(r+=Nt(i)),a&&(r+=Pt(a)))}return r},Rt=/\r?\n/;function zt(e,t,n){return String(e).normalize().split(Rt).map(e=>Lt(e,t,n)).join(`
|
|
@@ -634,6 +634,6 @@ export default function okBridge(pi: {
|
|
|
634
634
|
`));let p=`${a?``:``}${d}`;return p!==i&&l(e,p,{mode:J(e)}),{kind:u?`overwritten`:`written`}}const _i=e=>e!==`project`,vi=e=>e!==`user`;async function yi(){let e=await Gn({message:`Where should the MCP server be configured?
|
|
635
635
|
`,required:!1,theme:{icon:{checked:`[x]`,unchecked:`[ ]`}},choices:[{name:`User-level (~/.claude.json, ~/.cursor/mcp.json, …)`,value:`user`,checked:!0},{name:`Project-level (.mcp.json, .cursor/mcp.json, …)`,value:`project`,checked:!0}]});return e.includes(`user`)&&e.includes(`project`)?`both`:e.includes(`user`)?`user`:e.includes(`project`)?`project`:null}async function bi(e){return e.mcp===!1?null:e.scope?e.scope:e.isTTY??process.stdout.isTTY?(e.promptFn??yi)():`both`}async function xi(e){return Xn({message:`How do you want to handle OpenKnowledge config files (.ok/, .mcp.json, project skills)?`,default:e,choices:[{name:`Share with my team (commit alongside content)`,value:`shared`,description:`OK config gets committed alongside your project content.`},{name:`Local only (keep out of git via .git/info/exclude)`,value:`local-only`,description:"OK config stays on this machine only; teammates do not see it. Safe escape hatch via `ok config-sharing share`."}]})}async function Si(e){if(e.sharing!==void 0)return e.sharing;let t=Cn(e.projectRoot)===`local-only`?`local-only`:`shared`;return e.isTTY??process.stdout.isTTY?(e.promptFn??xi)(t):t}var $=class extends Error{constructor(e){super(e),this.name=`ContentDirError`}};function Ci(e){if(e===void 0||e===!0)return new Set(C);if(e===!1)return new Set;let t=e.split(`,`).map(e=>e.trim()).filter(Boolean);return new Set(C.filter(e=>t.includes(e)))}function wi(e,t,n){let r=F(n,e),i;try{i=Te(r)}catch(e){let t=e.code;throw t===`ENOENT`?new $(`--content-dir path does not exist: ${r}`):new $(`--content-dir path is not accessible (${t??`unknown error`}): ${r}`)}if(!i.isDirectory())throw new $(`--content-dir must be a directory: ${r}`);let a=P(Ti(t),Ti(r));if(a.startsWith(`..`)||ve(a))throw new $(`--content-dir must be inside the project root (${t}); got ${r}`);return a===``?`.`:a}function Ti(e){try{return we(e)}catch{return e}}const Ei=`open-knowledge-ui`;function Di(e,t,n){try{return L(e.detectPath?.(t,n)??M(e.configPath(t,n)))}catch{return!1}}function Oi(e,t,n,r,i){let a=e.serverName(t),o;try{o=i??e.configPath(t,r)}catch(t){return{editorId:e.id,label:e.label,action:`failed`,configPath:``,serverName:a,error:t instanceof Error?t.message:String(t)}}let s=!n.skipAvailabilityCheck||e.offerOnlyWhenDetected===!0;if(!i&&s&&!Di(e,t,r))return{editorId:e.id,label:e.label,action:`skipped-missing`,configPath:o,serverName:a};if(i!==void 0)try{fe(o,t)}catch(t){return{editorId:e.id,label:e.label,action:`failed`,configPath:o,serverName:a,error:t instanceof Error?t.message:String(t),configScope:`project`}}if(e.format===`file`)return Ai(e,o,a,n,{isProjectScope:i!==void 0});let c;try{c=e.buildEntry(t,n)}catch(t){return{editorId:e.id,label:e.label,action:`failed`,configPath:o,serverName:a,error:t instanceof Error?t.message:String(t),...i===void 0?{}:{configScope:`project`}}}try{Se(M(o),{recursive:!0})}catch(t){return{editorId:e.id,label:e.label,action:`failed`,configPath:o,serverName:a,error:t instanceof Error?t.message:String(t),...i===void 0?{}:{configScope:`project`}}}let l={action:`written`},u;try{S(`${o}.lock`,()=>{let t=Gr(o).writePath;if(Se(M(t),{recursive:!0}),e.format===`toml`){let n=hi($r(),t,e.topLevelKey,a,c);l.action=n.kind,n.kind===`declined`&&(l.declineReason=n.reason);return}if(e.format===`yaml`){let n=gi(t,e.topLevelKey,a,c);l.action=n.kind,n.kind===`declined`&&(l.declineReason=n.reason);return}let n=mi(t,e.topLevelKey,a,c,e.serverMapSubKey);l.action=n.kind,n.kind===`declined`&&(l.declineReason=n.reason)},{onWarn:(e,t)=>process.stderr.write(`[ok] ${e} ${JSON.stringify(t)}\n`)})}catch(e){u=e instanceof Error?e:Error(String(e))}return u?{editorId:e.id,label:e.label,action:`failed`,configPath:o,serverName:a,error:u.message,...i===void 0?{}:{configScope:`project`}}:l.action===`declined`?{editorId:e.id,label:e.label,action:`declined`,configPath:o,serverName:a,declineReason:l.declineReason,...i===void 0?{}:{configScope:`project`}}:{editorId:e.id,label:e.label,action:l.action,configPath:o,serverName:a,...i===void 0?{}:{configScope:`project`}}}const ki={pi:Pr};function Ai(e,t,n,r,i){let a=i.isProjectScope?{configScope:`project`}:{},o=r=>({editorId:e.id,label:e.label,action:`failed`,configPath:t,serverName:n,error:r instanceof Error?r.message:String(r),...a}),s=ki[e.id];if(!s)return o(Error(`No managed-file builder registered for editor "${e.id}" (format: 'file' targets need a MANAGED_FILE_BUILDERS entry).`));let c;try{c=s(r)}catch(e){return o(e)}try{Se(M(t),{recursive:!0})}catch(e){return o(e)}let u={action:`written`};try{S(`${t}.lock`,()=>{let e=null;try{e=R(t,`utf-8`)}catch{e=null}if(e===c){u.action=`overwritten`;return}l(t,c,e===null?void 0:{mode:J(t)}),u.action=e===null?`written`:`overwritten`},{onWarn:(e,t)=>process.stderr.write(`[ok] ${e} ${JSON.stringify(t)}\n`)})}catch(e){return o(e)}return{editorId:e.id,label:e.label,action:u.action,configPath:t,serverName:n,...a}}function ji(e,t){let n=e.projectConfigPath?.(t);if(!(!n||!L(n)))return{editorId:e.id,label:e.label,path:n}}async function Mi(e){let t=ae(e.editors).filter(e=>e.scope===`global`),n={mode:`published`,skipAvailabilityCheck:!0};return t.map(t=>Oi(t,``,n,e.home))}function Ni(e,t,n,r){let i=Fi(e,t,n,r);return i.kind===`present`?i.entry:null}function Pi(e,t,n,r){let i=pi(e,t,r);if(!T(i))return{kind:`no-entry`};let a=i[n];return T(a)?{kind:`present`,entry:a}:{kind:`no-entry`}}function Fi(e,t,n,r){let i;try{i=r??e.configPath(t,n)}catch{return{kind:`absent`}}if(!L(i))return{kind:`absent`};try{if(Te(i).size>ci)return{kind:`decline`,reason:`oversize`}}catch{return{kind:`decline`,reason:`unparseable`}}let a;try{a=R(i,`utf-8`)}catch{return{kind:`decline`,reason:`unparseable`}}if(a.trim()===``)return{kind:`absent`};if(e.format===`file`)return{kind:`present`,entry:Nr(a)};let o=e.serverName(t);if(e.format===`toml`){let t;try{t=$r().parseToObject(a)}catch{return{kind:`decline`,reason:`unparseable`}}return Pi(t,e.topLevelKey,o,e.serverMapSubKey)}if(e.format===`yaml`){let t=(0,ei.parseDocument)(a.charCodeAt(0)===65279?a.slice(1):a);return t.errors.length>0?{kind:`decline`,reason:`unparseable`}:Pi(t.toJS()??{},e.topLevelKey,o,e.serverMapSubKey)}let s=ri(a);return s?ii(s,e.topLevelKey)>1?{kind:`decline`,reason:`duplicate-container`}:Pi(m(s),e.topLevelKey,o,e.serverMapSubKey):{kind:`decline`,reason:`unparseable`}}async function Ii(e={}){let t=F(e.cwd??process.cwd()),n=Lr(t,{homeDir:e.home}),r=n.projectRoot,i=!L(N(r,`.ok`)),a=n.gitRootPromoted?P(r,t):void 0,o=e.contentDir===void 0?n.defaultContentDir:wi(e.contentDir,r,t);n.ancestorPromoted?console.log(`[ok] Opened existing project at ${r}`):n.gitRootPromoted&&i&&o===`.`&&process.stderr.write(`${k(`[ok] Content scope promoted to the git repo root: ${r}`)}\n Ran in ${a}/, but .ok/ lives at the git root (one .ok/ per git repo),\n so the whole repo is now the content scope. To narrow it, re-run with\n \`ok init --content-dir .\`, or set content.dir: ${a} in .ok/config.yml.\n`);let s={mode:e.devMcp?`dev`:`published`},c=await _(r),l;try{l=d(r,{contentDir:o})}catch(t){let i=E.claude.configPath(r,e.home);return{projectRoot:r,contentCreated:[],contentUpdated:[],contentSkipped:[],editors:[],projectSkills:[],legacyProjectConfigs:[],didGitInit:c.didInit,rootGitignoreCreated:!1,gitRootPromoted:n.gitRootPromoted,promotedFromDir:a,contentDirRequested:e.contentDir,contentScaffoldFailed:!0,mcpAction:`failed`,mcpPath:i,mcpError:`Content scaffolding failed: ${t instanceof Error?t.message:String(t)}`,sharing:{kind:`no-exclude`,reason:`no-git`,localOnlyRequested:!1}}}let u=l.created.includes(re),f=!1;if(c.didInit)try{f=ee(r)===`created`}catch(e){console.warn(`[ok] Skipping .gitignore seed at ${r}: ${e instanceof Error?e.message:String(e)}`)}let p=await bi({scope:e.scope,mcp:e.mcp,isTTY:e.isTTY,promptFn:e.promptFn}),m=e.editors??Hi(r,e.home),h=e.editors??de.filter(e=>E[e].projectConfigPath!==void 0||E[e].projectSkillPath!==void 0),v=ae(m),b=ae(h),S=e.mcp===!1||p===null,te=Array.from(new Map([...v,...S?[]:b].map(e=>[e.id,e])).values()),ne=v.filter(t=>Di(t,r,e.home)),w=[],T=[],oe=new Set;for(let t of te){if(S){let n=``;try{n=t.configPath(r,e.home)}catch{}w.push({editorId:t.id,label:t.label,action:`skipped-flag`,configPath:n,serverName:t.serverName(r)});continue}if(_i(p)&&v.includes(t)&&t.scope===`global`&&w.push(Oi(t,r,s,e.home)),vi(p)&&b.includes(t)&&t.projectConfigPath){let n=t.projectConfigPath(r),i=Oi(t,r,s,e.home,n);w.push(i),(i.action===`written`||i.action===`overwritten`)&&oe.add(n)}}let se=new Set;for(let t of b){let n=t.projectSkillPath?.(r);!n||se.has(n)||(se.add(n),T.push(ce(t,r,{home:e.home})))}let le=!S&&p!==null&&vi(p)?b.filter(e=>!e.projectConfigPath&&!e.projectSkillPath).map(e=>e.label):void 0,ue=S?[]:ne.map(e=>ji(e,r)).filter(e=>e!==void 0).filter(e=>!oe.has(e.path)),fe=e.installUserSkill??g,D=e.home??De(),pe=Ci(e.skills),O=!1,me=!1,A=!1,he=!1;for(let t of C){let n=pe.has(t);if(await y(D,x[t],n).catch(()=>{}),n){O=!0;let n=await fe({home:e.home,bundleId:t,force:!0});n===`installed`?me=!0:n===`failed`?A=!0:he=!0}else try{ie(D,t)}catch{}}let ge=A?`failed`:me?`installed`:O&&he?`skip-current`:`declined`,_e=S?`skipped-flag`:`skipped-missing`,j=w.find(e=>e.editorId===`claude`)??w[0]??{action:_e,configPath:E.claude.configPath(r,e.home)},M=await Li({projectRoot:r,desiredMode:await Si({sharing:e.sharing,projectRoot:r,isTTY:e.isTTY,promptFn:e.sharingPromptFn}),explicitFlag:e.sharing});return{projectRoot:r,contentCreated:l.created,contentUpdated:l.updated,contentSkipped:l.skipped,editors:w,projectSkills:T,legacyProjectConfigs:ue,skillInstall:ge,didGitInit:c.didInit,rootGitignoreCreated:f,gitRootPromoted:n.gitRootPromoted,promotedFromDir:a,contentDir:u?o:void 0,contentDirRequested:e.contentDir,contentScaffoldFailed:!1,mcpAction:j.action,mcpPath:j.configPath,mcpError:`error`in j?j.error:void 0,projectScopeUnsupportedLabels:le,sharing:M}}async function Li(e){let{projectRoot:t,desiredMode:n,explicitFlag:r}=e,i=Cn(t);if(i===`no-git`)return{kind:`no-exclude`,reason:`no-git`,localOnlyRequested:r===`local-only`};let a=bn(t);if(n===`local-only`){let e=xn(t,a);if(e.kind===`refused-tracked`){let t=e;return{kind:`refused-tracked`,tracked:t.tracked,remediation:t.remediation}}return e.kind===`no-exclude`?{kind:`no-exclude`,reason:e.reason,localOnlyRequested:r===`local-only`}:Ri(t,e,`add`)}if(i===`shared`)return{kind:`applied`,mode:`shared`,action:`noop`,appended:[],alreadyPresent:[],removed:[]};let o=Sn(t,a);return o.kind===`no-exclude`?{kind:`no-exclude`,reason:o.reason,localOnlyRequested:!1}:Ri(t,o,`remove`)}function Ri(e,t,n){let r=Cn(e);return n===`add`?{kind:`applied`,mode:r,action:t.appended.length>0?`added`:`noop`,appended:t.appended,alreadyPresent:t.alreadyPresent,removed:[]}:{kind:`applied`,mode:r,action:`removed`,appended:[],alreadyPresent:[],removed:t.removed}}function zi(e){switch(e){case`oversize`:return`config too large to edit safely`;case`duplicate-container`:return`duplicate server block`;case`no-native-writer`:return`no format-preserving writer available`;default:return`config not readable`}}function Bi(e,t){let n=[],r=e.editors.some(e=>e.action===`written`||e.action===`overwritten`),i=e.editors.some(e=>e.action===`failed`)||e.projectSkills.some(e=>e.action===`failed`),a=e.editors.length>0&&e.editors.every(e=>e.action===`skipped-flag`),o=e.editors.length>0&&e.editors.every(e=>e.action===`skipped-missing`);e.didGitInit&&n.push(`Initialized git repo at ${t}/.git/ (default branch: main)`),e.rootGitignoreCreated&&n.push(`Seeded .gitignore at ${t}/.gitignore (.DS_Store)`);let s=N(t,`.ok`);if(e.contentCreated.length>0||e.contentUpdated.length>0?(n.push(A(`Content scaffolded at ${s}/`)),e.contentCreated.length>0&&n.push(` Created: ${e.contentCreated.join(`, `)}`),e.contentUpdated.length>0&&n.push(` Updated: ${e.contentUpdated.join(`, `)}`)):n.push(A(`Content already present at ${s}/`)),e.contentSkipped.length>0&&n.push(` Skipped (already exist): ${e.contentSkipped.join(`, `)}`),n.push(``),e.mcpError&&e.editors.length===0)n.push(`Warning: ${e.mcpError}`);else if(e.editors.length===0)if(n.push(A(`MCP server configuration:`)),e.mcpAction===`skipped-flag`)n.push(` MCP config not written — use without --no-mcp to configure editors`);else if(e.projectScopeUnsupportedLabels&&e.projectScopeUnsupportedLabels.length>0){let t=e.projectScopeUnsupportedLabels.join(`, `),r=e.projectScopeUnsupportedLabels.length===1?`does`:`do`;n.push(` ${t} ${r} not support project-level config; skipped`)}else n.push(` No supported editor config directories detected; skipped MCP registration`);else if(a)n.push(`MCP config not written — use without --no-mcp to configure editors`);else if(o)n.push(A(`MCP server configuration:`)),n.push(` No supported editor config directories detected; skipped MCP registration`);else{n.push(A(`MCP server configuration:`));for(let r of e.editors){let e=r.configPath.startsWith(t)?P(t,r.configPath):r.configPath.replace(/^\/Users\/[^/]+/,`~`),i=r.serverName===`open-knowledge`?``:` (${r.serverName})`,a=r.configScope===`project`?` (project)`:``,o=`${r.label}${a}`,s=` `.repeat(Math.max(1,20-o.length)),c=r.editorId===`claude-desktop`&&(r.action===`written`||r.action===`overwritten`)?` — quit and relaunch Claude Desktop to activate`:``;switch(r.action){case`written`:n.push(` ${o}${s}${e} ${O(`registered`)}${i}${c}`);break;case`overwritten`:n.push(` ${o}${s}${e} ${O(`updated`)}${i}${c}`);break;case`skipped-missing`:n.push(` ${o}${s}${e} config root missing; skipped`);break;case`failed`:n.push(` ${o}${s}${e} ${me(`FAILED`)}: ${r.error}`);break;case`declined`:n.push(` ${o}${s}${e} left unchanged (${zi(r.declineReason)})`);break;case`skipped-flag`:break;default:r.action}}if(e.projectScopeUnsupportedLabels&&e.projectScopeUnsupportedLabels.length>0){let t=e.projectScopeUnsupportedLabels.join(`, `),r=e.projectScopeUnsupportedLabels.length===1?`does`:`do`;n.push(` ${t} ${r} not support project-level config; skipped`)}}if(e.projectSkills.length>0){n.push(``),n.push(A(`Project-local skills:`));for(let r of e.projectSkills){let e=`${r.label} (project)`,i=` `.repeat(Math.max(1,20-e.length)),a=r.path?P(t,r.path):``;switch(r.action){case`written`:n.push(` ${e}${i}${a} ${O(`installed`)}`);break;case`overwritten`:n.push(` ${e}${i}${a} ${O(`updated`)}`);break;case`skipped-unsupported`:n.push(` ${e}${i}no known project skill surface; skipped`);break;case`skipped-prerequisite`:n.push(` ${e}${i}OpenKnowledge MCP is not configured; skipped`);break;case`failed`:n.push(` ${e}${i}${a} ${me(`FAILED`)}: ${r.error}`);break}}}if(i&&(n.push(``),n.push(`For failed editors, add the MCP server entry or project skill manually. See:`),n.push(` https://github.com/inkeep/open-knowledge#mcp-setup`)),e.legacyProjectConfigs.length>0){n.push(``),n.push(`Project MCP configs found:`);for(let r of e.legacyProjectConfigs)n.push(` ${r.label} ${P(t,r.path)}`);n.push(` These project-local files may override the global config. Remove them if you want fully user-scoped MCP setup in this project.`)}if(e.skillInstall)switch(n.push(``),n.push(A(`User-global skill:`)),e.skillInstall){case`installed`:n.push(` open-knowledge ${O(`installed to detected agent hosts`)} via \`npx skills\``);break;case`skip-current`:n.push(` open-knowledge ${O(`already installed at current version`)}`);break;case`declined`:n.push(` open-knowledge ${pe(`skipped (opted out via --no-skills)`)}`);break;case`failed`:n.push(` ${k(`open-knowledge install failed — MCP still configured; run manually:`)}`),n.push(` ${k(` npx skills@~1.5.0 add <bundled-path> --agent '*' -g -y --copy`)}`);break}if(e.contentDirRequested!==void 0&&e.contentDir===void 0&&!e.contentScaffoldFailed?(n.push(``),n.push(k(`⚠ --content-dir ${e.contentDirRequested} ignored — .ok/config.yml already exists`)),n.push(` Edit .ok/config.yml → content.dir directly to change the content scope.`)):e.contentDir!==void 0&&e.contentDir!==`.`?(n.push(``),n.push(`Content scope set to ${e.contentDir}/ (content.dir in .ok/config.yml).`)):e.gitRootPromoted&&e.contentDir===`.`&&e.contentDirRequested===void 0&&(n.push(``),n.push(k(`⚠ Content scope promoted to the git repo root`)),n.push(` .ok/ was initialized at ${t} because it contains a .git folder (one .ok/ per git repo),`),n.push(` not the sub-folder you ran \`ok init\` in${e.promotedFromDir?` (${e.promotedFromDir})`:``}. The whole repo is now the content scope.`),e.promotedFromDir&&(n.push(" To scope to just that sub-folder, re-run `ok init --content-dir .` from there, or set"),n.push(` content.dir: ${e.promotedFromDir} in .ok/config.yml.`))),e.preview?(n.push(``),n.push(he(e.preview,t))):e.previewWarning&&(n.push(``),n.push(`Content preview unavailable: ${e.previewWarning}`)),n.push(``),n.push(...Gi(e.sharing,t)),r){let t=new Set,r=e.editors.filter(e=>e.action===`written`||e.action===`overwritten`).filter(e=>!t.has(e.editorId)&&t.add(e.editorId)).map(e=>e.label);n.push(``),n.push(`${O(`✓`)} ${A(`Next steps:`)}`),n.push(` 1. Open your editor (${D(r.join(` / `))})`),n.push(` 2. Approve the MCP server when prompted`),n.push(` 3. (Optional) scaffold the starter knowledge-base structure:`),n.push(` - ${D(`ok seed`)} — empty repo, Karpathy 3-layer`),n.push(` - ${D(`mcp__open-knowledge__discover`)} — existing repo, extract conventions`),n.push(` 4. Use the MCP workflow tools as you build the wiki:`),n.push(` - ${D(`mcp__open-knowledge__ingest`)} — capture an external source`),n.push(` - ${D(`mcp__open-knowledge__research`)} — gather sources and write findings`),n.push(` - ${D(`mcp__open-knowledge__consolidate`)} — promote research to canonical articles`)}return n.join(`
|
|
636
636
|
`)}function Vi(e,t){return{projectRoot:e.projectRoot,gitRootPromoted:e.gitRootPromoted,promotedFromDir:e.promotedFromDir??null,contentDir:t.contentDir,contentDirRequested:e.contentDirRequested??null,contentDirApplied:e.contentDir!==void 0,contentFileCount:t.contentFileCount,previewError:e.previewWarning??null,didGitInit:e.didGitInit,mcpAction:e.mcpAction,editors:e.editors.map(e=>({editorId:e.editorId,label:e.label,action:e.action,configPath:e.configPath,scope:e.configScope===`project`?`project`:`user`}))}}function Hi(e,t){let n=[];for(let r of de)Di(E[r],e,t)&&n.push(r);return n}function Ui(){let e={log:console.log,info:console.info,debug:console.debug},t=(...e)=>{process.stderr.write(`${e.map(e=>typeof e==`string`?e:Oe(e)).join(` `)}\n`)};return console.log=t,console.info=t,console.debug=t,()=>{console.log=e.log,console.info=e.info,console.debug=e.debug}}function Wi(){return new w(`init`).description(`Scaffold .ok/ in the current directory and register the MCP server for your editor(s)`).option(`--mcp`,`Register the MCP server for selected editors (default: true)`,!0).option(`--no-mcp`,`Scaffold the .ok/ directory but do not touch MCP config`).option(`--dev-mcp`,`Register a local dev MCP entry using node + packages/cli/dist/cli.mjs with debug logging`).option(`--content-dir <dir>`,`Limit content to <dir> instead of the whole project. <dir> is interpreted relative to your current directory (e.g. "." = the folder you run the command in), then saved to .ok/config.yml as content.dir.`).option(`--json`,`Emit a structured JSON summary to stdout (diagnostics stay on stderr)`).option(`--skills <ids>`,`Install only the named user-global skill bundles (comma list: discovery,write-skill)`).option(`--no-skills`,`Do not install any user-global skill bundles`).addOption(new ne(`--scope <scope>`,`Write MCP config at user level, project level, or both`).choices([`user`,`project`,`both`])).addOption(new ne(`--shared`,`Commit OK config alongside content (the default for fresh repos)`).conflicts(`localOnly`)).addOption(new ne(`--local-only`,`Keep OK config out of git via .git/info/exclude (per-clone, not committed)`).conflicts(`shared`)).action(async e=>{let t=process.cwd(),n=e.shared?`shared`:e.localOnly?`local-only`:void 0,r=e.json?Ui():null;try{let r;try{r=await Ii({cwd:t,mcp:e.mcp,devMcp:e.devMcp,scope:e.scope,sharing:n,contentDir:e.contentDir,skills:e.skills})}catch(e){if(e instanceof $){process.stderr.write(`${e.message}\n`),process.exitCode=64;return}if(e instanceof c||e instanceof f){process.stderr.write(`${e.message}\n`),process.exitCode=78;return}if(e instanceof u){process.stderr.write(`open-knowledge could not initialize a git repo for this project. Re-run, or run 'git init' yourself in the project folder.
|
|
637
|
-
`),e.stderr&&process.stderr.write(`${e.stderr.trim()}\n`),process.exitCode=1;return}throw e}let i=r.contentDir??`.`,a=null,{loadConfig:o}=await import(`./loader-
|
|
637
|
+
`),e.stderr&&process.stderr.write(`${e.stderr.trim()}\n`),process.exitCode=1;return}throw e}let i=r.contentDir??`.`,a=null,{loadConfig:o}=await import(`./loader-9_Oowsk_.mjs`),{resolveContentDir:s}=await import(`./dist-QZbqwLoi.mjs`),l;try{l=o(r.projectRoot).config,i=l.content.dir}catch(e){r.previewWarning=e instanceof Error?e.message:String(e)}if(l)try{let{previewContent:e}=await import(`./preview-Cjw4kD50.mjs`),t=s(l,r.projectRoot);r.preview=e({projectDir:r.projectRoot,contentDir:t}),a=r.preview.totalCount}catch(e){r.previewWarning=e instanceof Error?e.message:String(e)}e.json?process.stdout.write(`${JSON.stringify(Vi(r,{contentDir:i,contentFileCount:a}),null,2)}\n`):process.stdout.write(`${Bi(r,r.projectRoot)}\n`),(r.editors.some(e=>e.action===`failed`)||r.mcpAction===`failed`)&&(process.exitCode=1)}finally{r?.()}})}function Gi(e,t){let n=[];switch(e.kind){case`applied`:return n.push(A(`Sharing mode:`)),e.mode===`local-only`?e.action===`added`?n.push(` ${O(`local-only`)} — appended ${e.appended.length} path(s) to ${A(`${t}/.git/info/exclude`)} (per-clone, not committed).`):e.action===`noop`&&e.alreadyPresent.length>0?n.push(` ${O(`local-only`)} — already excluded; nothing to do.`):n.push(` ${O(`local-only`)}`):e.action===`removed`?n.push(` ${O(`shared`)} — removed OK paths from ${A(`${t}/.git/info/exclude`)}; commit the files to share with teammates.`):n.push(` ${O(`shared`)} — OK config will be committed alongside content.`),n;case`refused-tracked`:n.push(k(`Sharing mode: switch to local-only deferred`));for(let t of e.remediation.split(`
|
|
638
638
|
`))n.push(t.length>0?` ${t}`:``);return n.push(` Re-run ${D(`ok config-sharing unshare`)} after resolving to complete the switch.`),n;case`no-exclude`:if(e.localOnlyRequested)n.push(k(`Sharing mode: --local-only requested but no git repo found — option ignored`)),n.push(` Run ${D(`git init`)} (or open this folder via OK Desktop, which can scaffold a repo) and then ${D(`ok config-sharing unshare`)}.`);else if(e.reason===`no-git`)return[];else n.push(k(`Sharing mode unavailable: ${e.reason}.`));return n}}export{bn as A,Be as B,Gn as C,xn as D,Ln as E,on as F,ht as I,ft as L,Cn as M,Sn as N,En as O,yn as P,dt as R,Mr as S,In as T,di as _,Vi as a,$r as b,Bi as c,Ni as d,Ci as f,Ii as g,Si as h,Li as i,Tn as j,wn as k,Gi as l,wi as m,Ei as n,Fi as o,bi as p,ki as r,Hi as s,$ as t,Wi as u,Oi as v,J as w,Lr as x,Mi as y,U as z};
|
|
639
|
-
//# sourceMappingURL=init-
|
|
639
|
+
//# sourceMappingURL=init-BLqnkoD0.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as e}from"./init-BLqnkoD0.mjs";export{e as runInit};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Ea as e,Sa as t,Ta as n}from"./dist-
|
|
2
|
-
//# sourceMappingURL=launch-json-removal-
|
|
1
|
+
import{Ea as e,Sa as t,Ta as n}from"./dist-aEEP-3u8.mjs";import{E as r,w as i}from"./init-BLqnkoD0.mjs";import{t as a}from"./is-object-DAC-mmwo.mjs";import{join as o}from"node:path";import{existsSync as s,readFileSync as c,rmSync as l}from"node:fs";const u={allowTrailingComma:!0,disallowComments:!1};function d(e,t){return e.error===1&&e.offset===0&&t.charCodeAt(0)===65279}function f(f){let p=o(f,`.claude`,`launch.json`);if(!s(p))return{kind:`not-present`};let m;try{m=c(p,`utf-8`)}catch{return{kind:`declined`}}let h=[],g=n(m,h,u)??void 0;if(h.some(e=>!d(e,m))||!g||g.type!==`object`)return{kind:`declined`};let _=t(g).configurations;if(!Array.isArray(_))return{kind:`not-present`};let v=_.findIndex(e=>a(e)&&e.name===`open-knowledge-ui`);if(v===-1)return{kind:`not-present`};if(_.length===1)return l(p,{force:!0}),{kind:`removed-file`};let{text:y,changed:b}=r(m,[`configurations`,v]);return b?(e(p,y,{mode:i(p)}),{kind:`removed`}):{kind:`not-present`}}export{f as t};
|
|
2
|
+
//# sourceMappingURL=launch-json-removal-BxZ6bHN3.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./loader-CtonJ-33.mjs";export{e as loadConfig};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{bo as e,ds as t,go as n,ho as r}from"./server-lock-iLcBw_q0-DrtDFuEH.mjs";import{Da as i,Oa as a,_ as o}from"./dist-
|
|
1
|
+
import{bo as e,ds as t,go as n,ho as r}from"./server-lock-iLcBw_q0-DrtDFuEH.mjs";import{Da as i,Oa as a,_ as o}from"./dist-aEEP-3u8.mjs";import{t as s}from"./constants-ilUqafug.mjs";import{t as c}from"./is-object-DAC-mmwo.mjs";import{resolve as l}from"node:path";import{existsSync as u,readFileSync as d}from"node:fs";import{realpath as f}from"node:fs/promises";async function p(e){let t=l(e);try{return await f(t)}catch(e){if(e.code!==`ENOENT`){let n=e instanceof Error?e.message:String(e);console.warn(`[normalize-cwd] realpath failed for ${t}: ${n}`)}return t}}var m=t();function h(e,t){let n={...e};for(let r of Object.keys(t)){let i=e[r],a=t[r];c(a)&&c(i)?n[r]=h(i,a):a!==void 0&&(n[r]=a)}return n}function g(e){if(!u(e))return{value:null,path:e,source:null,doc:null};let t;try{t=d(e,`utf-8`)}catch(t){return console.warn(`[config] Failed to read ${e}: ${t instanceof Error?t.message:t}`),{value:null,path:e,source:null,doc:null}}let n=(0,m.parseDocument)(t);if(n.errors.length>0)return console.warn(`[config] Failed to parse ${e}: ${n.errors.map(e=>e.message).join(`; `)}`),{value:null,path:e,source:t,doc:null};let r=n.toJSON();return c(r)?{value:r,path:e,source:t,doc:n}:{value:null,path:e,source:t,doc:n}}function _(t,n){return t.map(t=>{let r=t.path.map(e=>typeof e==`symbol`?String(e):e),i={path:r,message:t.message,issueCode:t.code};if(n.doc!==null&&n.source!==null){let t=e({file:n.path,source:n.source,doc:n.doc,path:r});if(t!==void 0)return{...i,source:t}}return i})}function v(e){let t=e??process.cwd(),c=[],u=a(`user`,t),d=i({absPath:u}),f={};d.valid&&d.source!==void 0?(f=h(f,d.value),c.push(u)):d.valid;let p=l(t,`.ok`,s),m=g(p);if(m.value!==null){let e=r({value:m.value,file:m.path,source:m.source,doc:m.doc});if(e.length>0)throw Error(e.map(n).join(`
|
|
2
2
|
|
|
3
3
|
`));f=h(f,m.value),c.push(p)}let v=o.safeParse(f);if(!v.success){let e={code:`SCHEMA_INVALID`,issues:_(v.error.issues,m)};throw Error(n(e))}return{config:v.data,sources:c}}function y(e){let t=e.cacheMs??1e3,n=e.loadConfigFn??v,r=new Map,i=new Map,a=p(e.startupCwd);return async o=>{let s=await p(o??e.startupCwd),c=Date.now(),l=r.get(s);if(l&&l.expiresAt>c)return l.config;let u=i.get(s);if(u)return await u;let d=(async()=>{if(s===await a)return r.set(s,{config:e.startupConfig,expiresAt:Date.now()+t}),e.startupConfig;let i=n(s).config;return r.set(s,{config:i,expiresAt:Date.now()+t}),i})();i.set(s,d);try{return await d}finally{i.delete(s)}}}export{v as n,y as t};
|
|
4
|
-
//# sourceMappingURL=loader-
|
|
4
|
+
//# sourceMappingURL=loader-CtonJ-33.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{aa as e}from"./dist-
|
|
2
|
-
//# sourceMappingURL=open-browser-
|
|
1
|
+
import{aa as e}from"./dist-aEEP-3u8.mjs";import{execFile as t}from"node:child_process";const n=new Set([`http:`,`https:`]),r=/[\u0000-\u0020\u007F-\u009F"'`\\&|<>^()$;{}[\]*?!~]/;function i(e,t){console.warn(`Could not auto-open browser (${t}); visit ${e} manually`)}function a(a){let o;try{o=new URL(a)}catch{i(a,`invalid URL`);return}if(!n.has(o.protocol)){i(a,`unsupported scheme '${o.protocol}'`);return}if(r.test(a)){i(a,`URL contains unsafe characters`);return}t(process.platform===`darwin`?`open`:process.platform===`win32`?`cmd`:`xdg-open`,process.platform===`win32`?[`/c`,`start`,``,a]:[a],e({}),e=>{e&&console.warn(`Could not auto-open browser (${e.message}); visit ${a} manually`)})}export{a as openBrowser};
|
|
2
|
+
//# sourceMappingURL=open-browser-D2TYxL7J.mjs.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{qt as e}from"./dist-
|
|
1
|
+
import{qt as e}from"./dist-aEEP-3u8.mjs";import"./constants-ilUqafug.mjs";import{join as t,relative as n}from"node:path";import{existsSync as r,lstatSync as i,readdirSync as a,realpathSync as o,statSync as s}from"node:fs";function c(r){let{projectDir:c,contentDir:l,sampleCap:u=5}=r,d=[],f=[];try{i(l)}catch(e){return{totalCount:0,sample:[],contentDir:l,warnings:[`cannot access content directory ${l}: ${e instanceof Error?e.message:String(e)}`]}}let p;try{p=e({projectDir:c,contentDir:l})}catch(e){return{totalCount:0,sample:[],contentDir:l,warnings:[e instanceof Error?e.message:String(e)]}}function m(e){let r;try{r=a(e,{withFileTypes:!0})}catch(t){let r=t instanceof Error?t.message:String(t);d.push(`could not read directory ${n(l,e)||`.`}: ${r}`);return}for(let i of r){let r=t(e,i.name);if(i.isSymbolicLink()){let e;try{e=o(r)}catch(e){let t=e.code;t===`ENOENT`||t===`ELOOP`?d.push(`broken or cyclic symlink: ${n(l,r)}`):d.push(`cannot resolve symlink ${n(l,r)}: ${t??`unknown error`}`);continue}let t;try{t=s(e)}catch{continue}if(t.isDirectory()){let e=n(l,r);if(p.isDirExcluded(e))continue;m(r)}else if(t.isFile()){let e=n(l,r);if(p.isExcluded(e))continue;f.push(e)}}else if(i.isDirectory()){let e=n(l,r);if(p.isDirExcluded(e))continue;m(r)}else if(i.isFile()){let e=n(l,r);if(p.isExcluded(e))continue;f.push(e)}}}return m(l),{totalCount:f.length,sample:f.slice(0,u),contentDir:l,warnings:d}}function l(e,i){let a=[],o=n(i,e.contentDir),s=o===``?`./`:`./${o}`;if(a.push(`Content:`),a.push(` Found ${e.totalCount} markdown files in ${s}`),e.sample.length>0){let t=e.sample.join(`, `),n=e.totalCount>e.sample.length?`, …`:``;a.push(` Sample: ${t}${n}`)}if(e.warnings.length>0)for(let t of e.warnings)a.push(` Warning: ${t}`);return a.push(``),r(t(i,`.ok`,`config.yml`))?(a.push(` To adjust scope, add patterns to .okignore at the project root.`),a.push(` To change the content root, edit .ok/config.yml → content.dir.`)):a.push(" Run `open-knowledge init` to scaffold config + .okignore."),a.push(``),a.push(` Re-check anytime: open-knowledge preview`),a.join(`
|
|
2
2
|
`)}export{c as n,l as t};
|
|
3
|
-
//# sourceMappingURL=preview-
|
|
3
|
+
//# sourceMappingURL=preview-3L4wIR1-.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,t}from"./preview-3L4wIR1-.mjs";export{t as formatPreviewBlock,e as previewContent};
|
package/dist/public/assets/{ActivityModeContent-Ba-bfAiX.js → ActivityModeContent-l52MgAx6.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ActivityPanelDiffView-D3tFIws1.js","./chunk-Bj-mKKzh.js","./dist-UKzQrqGt.js","./compiler-runtime-B6sxACDP.js","./ActivityPanelDiffView-legcy4jI.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{s as e}from"./chunk-Bj-mKKzh.js";import{t}from"./preload-helper-2ej06EnG.js";import{n,r,t as i}from"./compiler-runtime-B6sxACDP.js";import{n as a,r as o}from"./DocumentContext-BJbSJRci.js";import{n as s,r as c}from"./dist-UKzQrqGt.js";import{n as l,t as u}from"./createLucideIcon-DkO1lL_8.js";import{i as d,n as f,t as p}from"./tooltip-C0qAzcHx.js";import{a as m,c as h,i as g,o as _,s as v,t as y}from"./dialog-DFGKErvF.js";import{B as b,vt as x}from"./CodeMirrorPropInput-CALfAE-h.js";import{a as S,dt as C,i as w}from"./dist-BEKDTMMu.js";import{t as ee}from"./chevron-down-CfwFDIcB.js";import{t as te}from"./chevron-right-Cn_Rq8Go.js";import{r as T}from"./CopyButton-CMJPcMjt.js";import{i as E}from"./prop-types-Btuscftq.js";import{t as D}from"./loader-circle-CLDbHvUo.js";import{i as O,r as k,s as A,t as j}from"./agent-presence-DqLAvigl.js";import{n as M}from"./dist-DyPw7rC6.js";import{t as N}from"./dist-D6ZXVw3E.js";import{s as P}from"./navigation-targets-DimlRQoH.js";import{o as ne}from"./documents-events-BQSqJQJB.js";var re=u(`rewind`,[[`path`,{d:`M12 6a2 2 0 0 0-3.414-1.414l-6 6a2 2 0 0 0 0 2.828l6 6A2 2 0 0 0 12 18z`,key:`2a1g8i`}],[`path`,{d:`M22 6a2 2 0 0 0-3.414-1.414l-6 6a2 2 0 0 0 0 2.828l6 6A2 2 0 0 0 22 18z`,key:`rg3s36`}]]),F=i(),I=e(n(),1),ie=500,L=64;async function ae(e){let t=`/api/agent-activity?agentId=${encodeURIComponent(e)}`,n=await fetch(t),r;try{r=await n.json()}catch(e){throw new b(`Could not parse /api/agent-activity response.`,{cause:e,status:n.status})}if(!n.ok){let e=C.safeParse(r);throw e.success?Error(e.data.title):new b(`/api/agent-activity returned a non-RFC-9457 error response.`,{cause:e.error,status:n.status})}let i=w.safeParse(r);if(!i.success)throw new b(`/api/agent-activity returned a body that did not match AgentActivitySuccessSchema.`,{cause:i.error,status:n.status});return i.data}async function oe(e,t,n){let r=`/api/agent-burst-diff?agentId=${encodeURIComponent(e)}&docName=${encodeURIComponent(t)}&stackIndex=${n}`,i=await fetch(r),a;try{a=await i.json()}catch(e){throw new b(`Could not parse /api/agent-burst-diff response.`,{cause:e,status:i.status})}if(!i.ok){let e=C.safeParse(a);throw e.success?Error(e.data.title):new b(`/api/agent-burst-diff returned a non-RFC-9457 error response.`,{cause:e.error,status:i.status})}let o=S.safeParse(a);if(!o.success)throw new b(`/api/agent-burst-diff returned a body that did not match AgentBurstDiffSuccessSchema.`,{cause:o.error,status:i.status});return o.data.diff}function se(e){let t=(0,F.c)(23),{systemProvider:n}=a(),[r,i]=(0,I.useState)(null),[o,s]=(0,I.useState)(`idle`),[c,l]=(0,I.useState)(null),u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=new O(L),t[0]=u):u=t[0];let d=(0,I.useRef)(u),f=(0,I.useRef)(0),p;t[1]===n?p=t[2]:(p=e=>{let t=f.current+=1;s(`loading`),l(null),ae(e).then(r=>{if(f.current!==t)return;let a=le(n,e);i({...r,writingDocs:a}),s(`ready`)}).catch(e=>{f.current===t&&(l(e instanceof Error?e.message:String(e)),s(`error`))})},t[1]=n,t[2]=p);let m=p,h;t[3]!==e||t[4]!==m?(h=()=>{if(!e){f.current+=1,i(null),s(`idle`),l(null),d.current.clear();return}d.current.clear(),m(e);let t=null,n=ne(n=>{n.includes(`session-activity`)&&(t&&clearTimeout(t),t=setTimeout(()=>{t=null,m(e)},ie))});return()=>{t&&clearTimeout(t),n()}},t[3]=e,t[4]=m,t[5]=h):h=t[5];let g;t[6]===e?g=t[7]:(g=[e],t[6]=e,t[7]=g),(0,I.useEffect)(h,g);let _,v;t[8]!==e||t[9]!==n?(_=()=>{if(!e||!n)return;let t=()=>{if(!n.awareness)return;let t=le(n,e);i(e=>!e||ce(e.writingDocs,t)?e:{...e,writingDocs:t})},r=n.awareness;if(!r||typeof r.on!=`function`){t();return}r.on(`update`,t),t();let a=setInterval(t,1e3);return()=>{clearInterval(a),typeof r.off==`function`&&r.off(`update`,t)}},v=[e,n],t[8]=e,t[9]=n,t[10]=_,t[11]=v):(_=t[10],v=t[11]),(0,I.useEffect)(_,v);let y;t[12]===e?y=t[13]:(y=async(t,n)=>{if(!e)return``;let r=`${t}\0${n}`,i=d.current.get(r);if(i!==void 0)return i;let a=await oe(e,t,n);return d.current.set(r,a),a},t[12]=e,t[13]=y);let b=y,x;t[14]!==e||t[15]!==m?(x=()=>{e&&m(e)},t[14]=e,t[15]=m,t[16]=x):x=t[16];let S=x,C;return t[17]!==r||t[18]!==c||t[19]!==b||t[20]!==S||t[21]!==o?(C={data:r,status:o,error:c,reload:S,fetchBurstDiff:b},t[17]=r,t[18]=c,t[19]=b,t[20]=S,t[21]=o,t[22]=C):C=t[22],C}function ce(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function le(e,t){let n=new Set;if(!e)return n;let r=e.awareness;if(!j(r))return n;let i=[t,t.startsWith(`agent-`)?t.slice(6):`agent-${t}`];for(let e of r.getStates().values()){let t=e.agentPresence;if(t)for(let e of i){let r=t[e];r&&r.mode===`writing`&&r.currentDoc&&n.add(r.currentDoc)}}return n}var R=r(),ue=(0,I.lazy)(async()=>({default:(await t(()=>import(`./ActivityPanelDiffView-D3tFIws1.js`),__vite__mapDeps([0,1,2,3,4]),import.meta.url)).ActivityPanelDiffView}));function de(e,t){let n=Math.max(0,t-e);if(n<6e4){let e=Math.round(n/1e3);return N._({id:`pbwTg6`,values:{seconds:e}})}if(n<36e5){let e=Math.round(n/6e4);return N._({id:`_rP3HI`,values:{minutes:e}})}return new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function fe(e){let t=(0,F.c)(42),{burst:n,docName:r,fetchBurstDiff:i}=e,{_:a}=c(),[o,l]=(0,I.useState)(!1),[u,d]=(0,I.useState)(null),[f,p]=(0,I.useState)(null),[m,h]=(0,I.useState)(!1),[g,_]=(0,I.useState)(z),v,y;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(v=()=>{let e=setInterval(()=>_(Date.now()),3e4);return()=>clearInterval(e)},y=[],t[0]=v,t[1]=y):(v=t[0],y=t[1]),(0,I.useEffect)(v,y);let b;t[2]!==n.stackIndex||t[3]!==u||t[4]!==r||t[5]!==o||t[6]!==i||t[7]!==m?(b=()=>{let e=!o;l(e),e&&u===null&&!m&&(h(!0),p(null),i(r,n.stackIndex).then(e=>{d(e),h(!1)}).catch(e=>{p(e instanceof Error?e.message:String(e)),h(!1)}))},t[2]=n.stackIndex,t[3]=u,t[4]=r,t[5]=o,t[6]=i,t[7]=m,t[8]=b):b=t[8];let x=b,S=n.stackIndex+1,C;t[9]!==a||t[10]!==S||t[11]!==o?(C=a(o?{id:`-i7ik4`,values:{burstNumber:S}}:{id:`EeRZnZ`,values:{burstNumber:S}}),t[9]=a,t[10]=S,t[11]=o,t[12]=C):C=t[12];let w;t[13]===o?w=t[14]:(w=o?(0,R.jsx)(ee,{className:`size-3 shrink-0`,"aria-hidden":`true`}):(0,R.jsx)(te,{className:`size-3 shrink-0`,"aria-hidden":`true`}),t[13]=o,t[14]=w);let T;t[15]!==n.ts||t[16]!==g?(T=de(n.ts,g),t[15]=n.ts,t[16]=g,t[17]=T):T=t[17];let E;t[18]===T?E=t[19]:(E=(0,R.jsx)(`span`,{className:`font-mono`,children:T}),t[18]=T,t[19]=E);let D;t[20]===n.additions?D=t[21]:(D=(0,R.jsxs)(`span`,{className:`text-green-600 dark:text-green-400`,children:[`+`,n.additions]}),t[20]=n.additions,t[21]=D);let O;t[22]===n.deletions?O=t[23]:(O=(0,R.jsxs)(`span`,{className:`text-red-600 dark:text-red-400`,children:[`−`,n.deletions]}),t[22]=n.deletions,t[23]=O);let k;t[24]!==D||t[25]!==O?(k=(0,R.jsxs)(`span`,{className:`ml-auto font-mono`,children:[D,` `,O]}),t[24]=D,t[25]=O,t[26]=k):k=t[26];let A;t[27]!==o||t[28]!==k||t[29]!==C||t[30]!==w||t[31]!==E||t[32]!==x?(A=(0,R.jsxs)(`button`,{type:`button`,onClick:x,className:`flex w-full items-center gap-2 px-4 py-1.5 text-xs text-muted-foreground hover:bg-muted/40`,"aria-expanded":o,"aria-label":C,children:[w,E,k]}),t[27]=o,t[28]=k,t[29]=C,t[30]=w,t[31]=E,t[32]=x,t[33]=A):A=t[33];let j;t[34]!==u||t[35]!==o||t[36]!==f||t[37]!==m?(j=o?(0,R.jsx)(`div`,{className:`bg-muted/20`,children:m?(0,R.jsx)(`div`,{className:`px-4 py-2 text-xs text-muted-foreground italic`,children:(0,R.jsx)(s,{id:`38foVZ`})}):f?(0,R.jsx)(`div`,{className:`px-4 py-2 text-xs text-destructive`,children:(0,R.jsx)(s,{id:`pmKdif`,values:{loadError:f}})}):u===null?(0,R.jsx)(`div`,{className:`px-4 py-2 text-xs text-muted-foreground italic`,children:(0,R.jsx)(s,{id:`iNFKkm`})}):(0,R.jsx)(I.Suspense,{fallback:(0,R.jsx)(`div`,{className:`px-4 py-2 text-xs text-muted-foreground italic`,children:(0,R.jsx)(s,{id:`38foVZ`})}),children:(0,R.jsx)(ue,{diff:u})})}):null,t[34]=u,t[35]=o,t[36]=f,t[37]=m,t[38]=j):j=t[38];let M;return t[39]!==A||t[40]!==j?(M=(0,R.jsxs)(`div`,{className:`border-t border-border/50`,children:[A,j]}),t[39]=A,t[40]=j,t[41]=M):M=t[41],M}function z(){return Date.now()}function pe(e,t){let n=Math.max(0,t-e);if(n<6e4){let e=Math.round(n/1e3);return N._({id:`pbwTg6`,values:{seconds:e}})}if(n<36e5){let e=Math.round(n/6e4);return N._({id:`_rP3HI`,values:{minutes:e}})}let r=Math.round(n/36e5);return N._({id:`nYeBmY`,values:{hours:r}})}function B(e){let t=(0,F.c)(118),{file:n,sessionAlive:r,isWriting:i,onNavigate:a,onUndoLast:o,onUndoAll:u,fetchBurstDiff:b}=e,{_:x}=c(),{docName:S}=n,[C,w]=(0,I.useState)(!1),[T,E]=(0,I.useState)(!1),[D,O]=(0,I.useState)(!1),[k,j]=(0,I.useState)(he),M,N;if(t[0]===Symbol.for(`react.memo_cache_sentinel`)?(M=()=>{let e=setInterval(()=>j(Date.now()),3e4);return()=>clearInterval(e)},N=[],t[0]=M,t[1]=N):(M=t[0],N=t[1]),(0,I.useEffect)(M,N),n.bursts.length===0)return null;let P=!r||n.bursts.length===0||D,ne=n.bursts.length,ie;t[2]!==x||t[3]!==n.bursts.length||t[4]!==r?(ie=r?n.bursts.length===0?x({id:`2fkdnR`}):null:x({id:`NzFvyK`}),t[2]=x,t[3]=n.bursts.length,t[4]=r,t[5]=ie):ie=t[5];let L=ie,ae;t[6]!==P||t[7]!==n.docName||t[8]!==o?(ae=e=>{e.stopPropagation(),!P&&(O(!0),Promise.resolve(o(n.docName)).finally(()=>O(!1)))},t[6]=P,t[7]=n.docName,t[8]=o,t[9]=ae):ae=t[9];let oe=ae,se;t[10]===P?se=t[11]:(se=e=>{e.stopPropagation(),!P&&E(!0)},t[10]=P,t[11]=se);let ce=se,le;t[12]!==P||t[13]!==n.docName||t[14]!==u?(le=()=>{E(!1),!P&&(O(!0),Promise.resolve(u(n.docName)).finally(()=>O(!1)))},t[12]=P,t[13]=n.docName,t[14]=u,t[15]=le):le=t[15];let ue=le,de;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(de=()=>w(me),t[16]=de):de=t[16];let z;t[17]!==x||t[18]!==S||t[19]!==C?(z=x(C?{id:`rVgSRB`,values:{docName:S}}:{id:`tW_yvQ`,values:{docName:S}}),t[17]=x,t[18]=S,t[19]=C,t[20]=z):z=t[20];let B;t[21]===C?B=t[22]:(B=C?(0,R.jsx)(ee,{className:`size-4`,"aria-hidden":`true`}):(0,R.jsx)(te,{className:`size-4`,"aria-hidden":`true`}),t[21]=C,t[22]=B);let V;t[23]!==C||t[24]!==z||t[25]!==B?(V=(0,R.jsx)(`button`,{type:`button`,onClick:de,className:`flex size-5 shrink-0 items-center justify-center rounded hover:bg-muted`,"aria-expanded":C,"aria-label":z,"data-testid":`activity-panel-file-row-carrot`,children:B}),t[23]=C,t[24]=z,t[25]=B,t[26]=V):V=t[26];let H;t[27]!==n.docName||t[28]!==a?(H=()=>a(n.docName),t[27]=n.docName,t[28]=a,t[29]=H):H=t[29];let U;t[30]!==x||t[31]!==S?(U=x({id:`QcpeeE`,values:{docName:S}}),t[30]=x,t[31]=S,t[32]=U):U=t[32];let W;t[33]!==n.docName||t[34]!==H||t[35]!==U?(W=(0,R.jsx)(`button`,{type:`button`,onClick:H,className:`min-w-0 flex-1 truncate text-left text-foreground hover:underline focus-visible:outline-ring`,"aria-label":U,"data-testid":`activity-panel-file-row-filename`,title:n.docName,children:n.docName}),t[33]=n.docName,t[34]=H,t[35]=U,t[36]=W):W=t[36];let G;t[37]!==x||t[38]!==S?(G=x({id:`m4v3XT`,values:{docName:S}}),t[37]=x,t[38]=S,t[39]=G):G=t[39];let ge;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(ge=(0,R.jsx)(A,{className:`size-3.5`,"aria-hidden":`true`}),t[40]=ge):ge=t[40];let K;t[41]!==P||t[42]!==oe||t[43]!==G?(K=(0,R.jsx)(d,{asChild:!0,children:(0,R.jsx)(l,{type:`button`,variant:`ghost`,size:`icon`,className:`size-6 shrink-0`,onClick:oe,disabled:P,"aria-label":G,"data-testid":`activity-panel-undo-last`,children:ge})}),t[41]=P,t[42]=oe,t[43]=G,t[44]=K):K=t[44];let q;t[45]!==x||t[46]!==L?(q=L??x({id:`ArBWJf`}),t[45]=x,t[46]=L,t[47]=q):q=t[47];let J;t[48]===q?J=t[49]:(J=(0,R.jsx)(f,{side:`bottom`,children:q}),t[48]=q,t[49]=J);let Y;t[50]!==K||t[51]!==J?(Y=(0,R.jsxs)(p,{children:[K,J]}),t[50]=K,t[51]=J,t[52]=Y):Y=t[52];let X;t[53]!==x||t[54]!==S?(X=x({id:`J2MgzQ`,values:{docName:S}}),t[53]=x,t[54]=S,t[55]=X):X=t[55];let _e;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,R.jsx)(re,{className:`size-3.5`,"aria-hidden":`true`}),t[56]=_e):_e=t[56];let Z;t[57]!==P||t[58]!==ce||t[59]!==X?(Z=(0,R.jsx)(d,{asChild:!0,children:(0,R.jsx)(l,{type:`button`,variant:`ghost`,size:`icon`,className:`size-6 shrink-0`,onClick:ce,disabled:P,"aria-label":X,"data-testid":`activity-panel-undo-all`,children:_e})}),t[57]=P,t[58]=ce,t[59]=X,t[60]=Z):Z=t[60];let Q;t[61]!==x||t[62]!==L?(Q=L??x({id:`mNY1G6`}),t[61]=x,t[62]=L,t[63]=Q):Q=t[63];let ve;t[64]===Q?ve=t[65]:(ve=(0,R.jsx)(f,{side:`bottom`,children:Q}),t[64]=Q,t[65]=ve);let ye;t[66]!==Z||t[67]!==ve?(ye=(0,R.jsxs)(p,{children:[Z,ve]}),t[66]=Z,t[67]=ve,t[68]=ye):ye=t[68];let be;t[69]===n.additionsTotal?be=t[70]:(be=(0,R.jsxs)(`span`,{className:`text-green-600 dark:text-green-400`,children:[`+`,n.additionsTotal]}),t[69]=n.additionsTotal,t[70]=be);let xe;t[71]===n.deletionsTotal?xe=t[72]:(xe=(0,R.jsxs)(`span`,{className:`text-red-600 dark:text-red-400`,children:[`−`,n.deletionsTotal]}),t[71]=n.deletionsTotal,t[72]=xe);let Se;t[73]!==be||t[74]!==xe?(Se=(0,R.jsxs)(`span`,{className:`shrink-0 font-mono text-xs`,children:[be,` `,xe]}),t[73]=be,t[74]=xe,t[75]=Se):Se=t[75];let Ce;t[76]!==n.lastTs||t[77]!==k?(Ce=pe(n.lastTs,k),t[76]=n.lastTs,t[77]=k,t[78]=Ce):Ce=t[78];let $;t[79]===Ce?$=t[80]:($=(0,R.jsx)(`span`,{className:`shrink-0 font-mono text-[11px] text-muted-foreground`,children:Ce}),t[79]=Ce,t[80]=$);let we;t[81]===i?we=t[82]:(we=i?(0,R.jsx)(`span`,{className:`shrink-0 text-[11px] text-primary animate-pulse`,role:`status`,children:(0,R.jsx)(s,{id:`6q0rnH`})}):null,t[81]=i,t[82]=we);let Te;t[83]!==V||t[84]!==W||t[85]!==Y||t[86]!==ye||t[87]!==Se||t[88]!==$||t[89]!==we?(Te=(0,R.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2 text-sm`,children:[V,W,Y,ye,Se,$,we]}),t[83]=V,t[84]=W,t[85]=Y,t[86]=ye,t[87]=Se,t[88]=$,t[89]=we,t[90]=Te):Te=t[90];let Ee;t[91]!==C||t[92]!==b||t[93]!==n.bursts||t[94]!==n.docName?(Ee=C?(0,R.jsx)(`div`,{children:n.bursts.map(e=>(0,R.jsx)(fe,{burst:e,docName:n.docName,fetchBurstDiff:b},`${n.docName}:${e.stackIndex}`))}):null,t[91]=C,t[92]=b,t[93]=n.bursts,t[94]=n.docName,t[95]=Ee):Ee=t[95];let De;t[96]===Symbol.for(`react.memo_cache_sentinel`)?(De=(0,R.jsx)(h,{children:(0,R.jsx)(s,{id:`SEYWYq`})}),t[96]=De):De=t[96];let Oe;t[97]!==ne||t[98]!==S?(Oe={docName:S,burstCount:ne},t[97]=ne,t[98]=S,t[99]=Oe):Oe=t[99];let ke;t[100]===Symbol.for(`react.memo_cache_sentinel`)?(ke={0:(0,R.jsx)(`span`,{className:`font-mono text-foreground`})},t[100]=ke):ke=t[100];let Ae;t[101]===Oe?Ae=t[102]:(Ae=(0,R.jsxs)(v,{children:[De,(0,R.jsx)(m,{children:(0,R.jsx)(s,{id:`ZBYKxv`,values:Oe,components:ke})})]}),t[101]=Oe,t[102]=Ae);let je;t[103]===Symbol.for(`react.memo_cache_sentinel`)?(je=()=>E(!1),t[103]=je):je=t[103];let Me;t[104]===Symbol.for(`react.memo_cache_sentinel`)?(Me=(0,R.jsx)(l,{type:`button`,variant:`outline`,onClick:je,"data-testid":`activity-panel-undo-all-cancel`,children:(0,R.jsx)(s,{id:`dEgA5A`})}),t[104]=Me):Me=t[104];let Ne;t[105]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=(0,R.jsx)(s,{id:`MWrUEd`}),t[105]=Ne):Ne=t[105];let Pe;t[106]===ue?Pe=t[107]:(Pe=(0,R.jsxs)(_,{children:[Me,(0,R.jsx)(l,{type:`button`,variant:`destructive`,onClick:ue,"data-testid":`activity-panel-undo-all-confirm`,children:Ne})]}),t[106]=ue,t[107]=Pe);let Fe;t[108]!==Ae||t[109]!==Pe?(Fe=(0,R.jsxs)(g,{className:`sm:max-w-md`,children:[Ae,Pe]}),t[108]=Ae,t[109]=Pe,t[110]=Fe):Fe=t[110];let Ie;t[111]!==T||t[112]!==Fe?(Ie=(0,R.jsx)(y,{open:T,onOpenChange:E,children:Fe}),t[111]=T,t[112]=Fe,t[113]=Ie):Ie=t[113];let Le;return t[114]!==Te||t[115]!==Ee||t[116]!==Ie?(Le=(0,R.jsxs)(`div`,{className:`border-b border-border`,"data-testid":`activity-panel-file-row`,children:[Te,Ee,Ie]}),t[114]=Te,t[115]=Ee,t[116]=Ie,t[117]=Le):Le=t[117],Le}function me(e){return!e}function he(){return Date.now()}async function V(e){let t=await fetch(`/api/agent-undo`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({...e,agentId:e.connectionId})});if(!t.ok)throw Error(`agent-undo failed: HTTP ${t.status}`)}function H(e){return`#/${e.split(`/`).map(e=>encodeURIComponent(e)).join(`/`)}`}function U(e){typeof window>`u`||(window.location.hash=H(e))}function W(){let e=(0,F.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,R.jsx)(D,{className:`mr-2 size-4 animate-spin`,"aria-hidden":`true`}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,R.jsxs)(`div`,{className:`flex h-full items-center justify-center p-6 text-muted-foreground`,role:`status`,"aria-busy":`true`,children:[t,(0,R.jsx)(`span`,{className:`text-sm`,children:(0,R.jsx)(s,{id:`ONPvOb`})})]}),e[1]=n):n=e[1],n}function G(e){let t=(0,F.c)(10),{error:n,onRetry:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,R.jsx)(T,{className:`size-6 text-destructive`,"aria-hidden":`true`}),t[0]=i):i=t[0];let a;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,R.jsx)(`p`,{className:`text-sm font-medium`,children:(0,R.jsx)(s,{id:`DhLHEb`})}),t[1]=a):a=t[1];let o;t[2]===n?o=t[3]:(o=(0,R.jsxs)(`div`,{className:`space-y-1`,children:[a,(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:n})]}),t[2]=n,t[3]=o);let c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,R.jsx)(s,{id:`6gRgw8`}),t[4]=c):c=t[4];let u;t[5]===r?u=t[6]:(u=(0,R.jsx)(l,{type:`button`,variant:`outline`,size:`sm`,onClick:r,children:c}),t[5]=r,t[6]=u);let d;return t[7]!==o||t[8]!==u?(d=(0,R.jsxs)(`div`,{className:`flex flex-col items-center gap-3 p-6 text-center`,role:`alert`,"data-testid":`activity-panel-error`,children:[i,o,u]}),t[7]=o,t[8]=u,t[9]=d):d=t[9],d}function ge(){let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,R.jsx)(`div`,{className:`flex h-full items-center justify-center p-6 text-muted-foreground`,"data-testid":`activity-panel-empty`,children:(0,R.jsx)(`p`,{className:`text-sm italic`,children:(0,R.jsx)(s,{id:`iuTKci`})})}),e[0]=t):t=e[0],t}function K(e){let t=(0,F.c)(12),{onExit:n,showBackButton:r}=e,{_:i}=c(),a;t[0]===i?a=t[1]:(a=i({id:`kYL1lH`}),t[0]=i,t[1]=a);let o;t[2]!==n||t[3]!==r?(o=r?(0,R.jsx)(q,{onClick:n}):null,t[2]=n,t[3]=r,t[4]=o):o=t[4];let l;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,R.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:(0,R.jsx)(s,{id:`kYL1lH`})}),t[5]=l):l=t[5];let u;t[6]===o?u=t[7]:(u=(0,R.jsxs)(`div`,{className:`flex shrink-0 flex-row items-center gap-2 border-b border-border px-3 py-2`,children:[o,l]}),t[6]=o,t[7]=u);let d;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,R.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-6 text-muted-foreground`,children:(0,R.jsx)(`p`,{className:`text-center text-sm italic`,children:(0,R.jsx)(s,{id:`D_WKe_`})})}),t[8]=d):d=t[8];let f;return t[9]!==a||t[10]!==u?(f=(0,R.jsxs)(`section`,{className:`flex h-full min-h-0 flex-col`,"data-testid":`activity-panel-no-agent`,"aria-label":a,children:[u,d]}),t[9]=a,t[10]=u,t[11]=f):f=t[11],f}function q(e){let t=(0,F.c)(9),{onClick:n}=e,{_:r}=c(),i;t[0]===r?i=t[1]:(i=r({id:`ogAuyr`}),t[0]=r,t[1]=i);let a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,R.jsx)(x,{}),t[2]=a):a=t[2];let o;t[3]!==n||t[4]!==i?(o=(0,R.jsx)(d,{asChild:!0,children:(0,R.jsx)(l,{type:`button`,variant:`ghost`,size:`icon`,className:`size-7 shrink-0`,onClick:n,"aria-label":i,"data-testid":`docpanel-exit-agent-mode`,children:a})}),t[3]=n,t[4]=i,t[5]=o):o=t[5];let u;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,R.jsx)(f,{side:`bottom`,children:(0,R.jsx)(s,{id:`ogAuyr`})}),t[6]=u):u=t[6];let m;return t[7]===o?m=t[8]:(m=(0,R.jsxs)(p,{children:[o,u]}),t[7]=o,t[8]=m),m}function J(e){let t=(0,F.c)(9),{lastTs:n}=e,[r]=(0,I.useState)(Y),i;t[0]!==n||t[1]!==r?(i=n?X(r-n):null,t[0]=n,t[1]=r,t[2]=i):i=t[2];let a=i,o;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,R.jsx)(`span`,{className:`font-medium`,children:(0,R.jsx)(s,{id:`LCUy_N`})}),t[3]=o):o=t[3];let c;t[4]===a?c=t[5]:(c=a?(0,R.jsxs)(`span`,{children:[` · `,a]}):null,t[4]=a,t[5]=c);let l;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,R.jsx)(`div`,{className:`mt-1 opacity-80`,children:(0,R.jsx)(s,{id:`GK-IRZ`})}),t[6]=l):l=t[6];let u;return t[7]===c?u=t[8]:(u=(0,R.jsxs)(`div`,{className:`border-b border-border bg-muted/40 px-4 py-3 text-xs text-muted-foreground`,"data-testid":`activity-panel-session-ended`,children:[o,c,l]}),t[7]=c,t[8]=u),u}function Y(){return Date.now()}function X(e){let t=Math.max(0,e);if(t<6e4){let e=Math.round(t/1e3);return N._({id:`pbwTg6`,values:{seconds:e}})}if(t<36e5){let e=Math.round(t/6e4);return N._({id:`_rP3HI`,values:{minutes:e}})}let n=Math.round(t/36e5);return N._({id:`nYeBmY`,values:{hours:n}})}function _e(e){let t=(0,F.c)(10),{agent:n,size:r}=e,i=r===void 0?28:r,a;t[0]!==n.color||t[1]!==i?(a={backgroundColor:n.color,width:i,height:i},t[0]=n.color,t[1]=i,t[2]=a):a=t[2];let o=i*.57,s=i*.57,c;t[3]!==n.icon||t[4]!==o||t[5]!==s?(c=(0,R.jsx)(k,{icon:n.icon,width:o,height:s}),t[3]=n.icon,t[4]=o,t[5]=s,t[6]=c):c=t[6];let l;return t[7]!==a||t[8]!==c?(l=(0,R.jsx)(`span`,{className:`inline-flex shrink-0 items-center justify-center rounded-full text-white ring-2 ring-background`,style:a,"aria-hidden":`true`,children:c}),t[7]=a,t[8]=c,t[9]=l):l=t[9],l}function Z(e){let t=(0,F.c)(26),{data:n,status:r,error:i,reload:a,fetchBurstDiff:o,onExit:l,onNavigate:u,onUndoLast:d,onUndoAll:f,showBackButton:p}=e,{_:m}=c(),h=n?.files?.[0]?.lastTs??null,g=n?.files?.length??0,_;t[0]===m?_=t[1]:(_=m({id:`kYL1lH`}),t[0]=m,t[1]=_);let v;t[2]!==l||t[3]!==p?(v=p?(0,R.jsx)(q,{onClick:l}):null,t[2]=l,t[3]=p,t[4]=v):v=t[4];let y;t[5]!==n||t[6]!==g||t[7]!==h?(y=n?.agent?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(_e,{agent:n.agent}),(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:n.agent.displayName}),(0,R.jsxs)(`p`,{className:`truncate text-xs text-muted-foreground`,children:[n.sessionAlive?(0,R.jsx)(s,{id:`F6pfE9`}):h===null?(0,R.jsx)(s,{id:`PMyJ9C`}):(0,R.jsx)(s,{id:`237hSL`}),n.files.length>0?(0,R.jsxs)(R.Fragment,{children:[` · `,(0,R.jsx)(s,{id:`u3BOHd`,values:{fileCount:g}})]}):null]})]})]}):(0,R.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,R.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:(0,R.jsx)(s,{id:`kYL1lH`})})}),t[5]=n,t[6]=g,t[7]=h,t[8]=y):y=t[8];let b;t[9]!==v||t[10]!==y?(b=(0,R.jsxs)(`div`,{className:`flex flex-row items-center gap-2 border-b border-border px-3 py-2 shrink-0`,children:[v,y]}),t[9]=v,t[10]=y,t[11]=b):b=t[11];let x;t[12]!==n||t[13]!==i||t[14]!==o||t[15]!==h||t[16]!==u||t[17]!==f||t[18]!==d||t[19]!==a||t[20]!==r?(x=(0,R.jsx)(`div`,{className:`flex-1 overflow-y-auto`,"data-testid":`activity-panel-body`,children:r===`loading`&&n===null?(0,R.jsx)(W,{}):r===`error`&&i?(0,R.jsx)(G,{error:i,onRetry:a}):n===null?(0,R.jsx)(ge,{}):(0,R.jsxs)(R.Fragment,{children:[!n.sessionAlive&&h!==null?(0,R.jsx)(J,{lastTs:h}):null,n.files.length===0?(0,R.jsx)(ge,{}):n.files.map(e=>(0,R.jsx)(B,{file:e,sessionAlive:n.sessionAlive,isWriting:n.writingDocs.has(e.docName),onNavigate:u,onUndoLast:d,onUndoAll:f,fetchBurstDiff:o},e.docName))]})}),t[12]=n,t[13]=i,t[14]=o,t[15]=h,t[16]=u,t[17]=f,t[18]=d,t[19]=a,t[20]=r,t[21]=x):x=t[21];let S;return t[22]!==_||t[23]!==b||t[24]!==x?(S=(0,R.jsxs)(`section`,{className:`flex h-full min-h-0 flex-col`,"data-testid":`activity-panel`,"aria-label":_,children:[b,x]}),t[22]=_,t[23]=b,t[24]=x,t[25]=S):S=t[25],S}function Q(e){let t=(0,F.c)(29),n;t[0]===e?n=t[1]:(n=e===void 0?{}:e,t[0]=e,t[1]=n);let{showBackButton:r}=n,i=r===void 0?!0:r,{_:s}=c(),{docPanelAgentId:l,closeActivityPanel:u}=a(),{openTargetTransition:d}=o(),{pageMeta:f}=E(),{data:p,status:m,error:h,reload:g,fetchBurstDiff:_}=se(l);if(l===null){let e;return t[2]!==u||t[3]!==i?(e=(0,R.jsx)(K,{onExit:u,showBackButton:i}),t[2]=u,t[3]=i,t[4]=e):e=t[4],e}let v;t[5]!==d||t[6]!==f?(v=e=>{d(P({kind:`doc`,target:e,docName:e},f)),U(e)},t[5]=d,t[6]=f,t[7]=v):v=t[7];let y=v,b;t[8]!==s||t[9]!==p||t[10]!==l||t[11]!==g?(b=async e=>{try{await V({connectionId:l,docName:e,scope:`last`,agentName:p?.agent?.displayName}),g()}catch(e){let t=e,n=t instanceof Error?t.message:String(t);M.error(s({id:`EqrC_R`,values:{message:n}})),g()}},t[8]=s,t[9]=p,t[10]=l,t[11]=g,t[12]=b):b=t[12];let x=b,S;t[13]!==s||t[14]!==p||t[15]!==l||t[16]!==g?(S=async e=>{try{await V({connectionId:l,docName:e,scope:`file`,agentName:p?.agent?.displayName}),M.success(s({id:`pRc-Im`,values:{docName:e}})),g()}catch(e){let t=e,n=t instanceof Error?t.message:String(t);M.error(s({id:`7KeV5F`,values:{message:n}})),g()}},t[13]=s,t[14]=p,t[15]=l,t[16]=g,t[17]=S):S=t[17];let C=S,w;return t[18]!==u||t[19]!==p||t[20]!==h||t[21]!==_||t[22]!==y||t[23]!==C||t[24]!==x||t[25]!==g||t[26]!==i||t[27]!==m?(w=(0,R.jsx)(Z,{data:p,status:m,error:h,reload:g,fetchBurstDiff:_,onExit:u,onNavigate:y,onUndoLast:x,onUndoAll:C,showBackButton:i}),t[18]=u,t[19]=p,t[20]=h,t[21]=_,t[22]=y,t[23]=C,t[24]=x,t[25]=g,t[26]=i,t[27]=m,t[28]=w):w=t[28],w}export{Q as ActivityModeContent};
|
|
2
|
+
import{s as e}from"./chunk-Bj-mKKzh.js";import{t}from"./preload-helper-2ej06EnG.js";import{n,r,t as i}from"./compiler-runtime-B6sxACDP.js";import{n as a,r as o}from"./DocumentContext-CZ__UpxY.js";import{n as s,r as c}from"./dist-UKzQrqGt.js";import{n as l,t as u}from"./createLucideIcon-DkO1lL_8.js";import{i as d,n as f,t as p}from"./tooltip-C0qAzcHx.js";import{a as m,c as h,i as g,o as _,s as v,t as y}from"./dialog-DFGKErvF.js";import{B as b,vt as x}from"./CodeMirrorPropInput-B6T7D2-X.js";import{a as S,dt as C,i as w}from"./dist-BEKDTMMu.js";import{t as ee}from"./chevron-down-CfwFDIcB.js";import{t as te}from"./chevron-right-Cn_Rq8Go.js";import{r as T}from"./CopyButton-CMJPcMjt.js";import{i as E}from"./prop-types-Btuscftq.js";import{t as D}from"./loader-circle-CLDbHvUo.js";import{i as O,r as k,s as A,t as j}from"./agent-presence-DqLAvigl.js";import{n as M}from"./dist-DyPw7rC6.js";import{t as N}from"./dist-D6ZXVw3E.js";import{s as P}from"./navigation-targets-DimlRQoH.js";import{o as ne}from"./documents-events-BQSqJQJB.js";var re=u(`rewind`,[[`path`,{d:`M12 6a2 2 0 0 0-3.414-1.414l-6 6a2 2 0 0 0 0 2.828l6 6A2 2 0 0 0 12 18z`,key:`2a1g8i`}],[`path`,{d:`M22 6a2 2 0 0 0-3.414-1.414l-6 6a2 2 0 0 0 0 2.828l6 6A2 2 0 0 0 22 18z`,key:`rg3s36`}]]),F=i(),I=e(n(),1),ie=500,L=64;async function ae(e){let t=`/api/agent-activity?agentId=${encodeURIComponent(e)}`,n=await fetch(t),r;try{r=await n.json()}catch(e){throw new b(`Could not parse /api/agent-activity response.`,{cause:e,status:n.status})}if(!n.ok){let e=C.safeParse(r);throw e.success?Error(e.data.title):new b(`/api/agent-activity returned a non-RFC-9457 error response.`,{cause:e.error,status:n.status})}let i=w.safeParse(r);if(!i.success)throw new b(`/api/agent-activity returned a body that did not match AgentActivitySuccessSchema.`,{cause:i.error,status:n.status});return i.data}async function oe(e,t,n){let r=`/api/agent-burst-diff?agentId=${encodeURIComponent(e)}&docName=${encodeURIComponent(t)}&stackIndex=${n}`,i=await fetch(r),a;try{a=await i.json()}catch(e){throw new b(`Could not parse /api/agent-burst-diff response.`,{cause:e,status:i.status})}if(!i.ok){let e=C.safeParse(a);throw e.success?Error(e.data.title):new b(`/api/agent-burst-diff returned a non-RFC-9457 error response.`,{cause:e.error,status:i.status})}let o=S.safeParse(a);if(!o.success)throw new b(`/api/agent-burst-diff returned a body that did not match AgentBurstDiffSuccessSchema.`,{cause:o.error,status:i.status});return o.data.diff}function se(e){let t=(0,F.c)(23),{systemProvider:n}=a(),[r,i]=(0,I.useState)(null),[o,s]=(0,I.useState)(`idle`),[c,l]=(0,I.useState)(null),u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=new O(L),t[0]=u):u=t[0];let d=(0,I.useRef)(u),f=(0,I.useRef)(0),p;t[1]===n?p=t[2]:(p=e=>{let t=f.current+=1;s(`loading`),l(null),ae(e).then(r=>{if(f.current!==t)return;let a=le(n,e);i({...r,writingDocs:a}),s(`ready`)}).catch(e=>{f.current===t&&(l(e instanceof Error?e.message:String(e)),s(`error`))})},t[1]=n,t[2]=p);let m=p,h;t[3]!==e||t[4]!==m?(h=()=>{if(!e){f.current+=1,i(null),s(`idle`),l(null),d.current.clear();return}d.current.clear(),m(e);let t=null,n=ne(n=>{n.includes(`session-activity`)&&(t&&clearTimeout(t),t=setTimeout(()=>{t=null,m(e)},ie))});return()=>{t&&clearTimeout(t),n()}},t[3]=e,t[4]=m,t[5]=h):h=t[5];let g;t[6]===e?g=t[7]:(g=[e],t[6]=e,t[7]=g),(0,I.useEffect)(h,g);let _,v;t[8]!==e||t[9]!==n?(_=()=>{if(!e||!n)return;let t=()=>{if(!n.awareness)return;let t=le(n,e);i(e=>!e||ce(e.writingDocs,t)?e:{...e,writingDocs:t})},r=n.awareness;if(!r||typeof r.on!=`function`){t();return}r.on(`update`,t),t();let a=setInterval(t,1e3);return()=>{clearInterval(a),typeof r.off==`function`&&r.off(`update`,t)}},v=[e,n],t[8]=e,t[9]=n,t[10]=_,t[11]=v):(_=t[10],v=t[11]),(0,I.useEffect)(_,v);let y;t[12]===e?y=t[13]:(y=async(t,n)=>{if(!e)return``;let r=`${t}\0${n}`,i=d.current.get(r);if(i!==void 0)return i;let a=await oe(e,t,n);return d.current.set(r,a),a},t[12]=e,t[13]=y);let b=y,x;t[14]!==e||t[15]!==m?(x=()=>{e&&m(e)},t[14]=e,t[15]=m,t[16]=x):x=t[16];let S=x,C;return t[17]!==r||t[18]!==c||t[19]!==b||t[20]!==S||t[21]!==o?(C={data:r,status:o,error:c,reload:S,fetchBurstDiff:b},t[17]=r,t[18]=c,t[19]=b,t[20]=S,t[21]=o,t[22]=C):C=t[22],C}function ce(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function le(e,t){let n=new Set;if(!e)return n;let r=e.awareness;if(!j(r))return n;let i=[t,t.startsWith(`agent-`)?t.slice(6):`agent-${t}`];for(let e of r.getStates().values()){let t=e.agentPresence;if(t)for(let e of i){let r=t[e];r&&r.mode===`writing`&&r.currentDoc&&n.add(r.currentDoc)}}return n}var R=r(),ue=(0,I.lazy)(async()=>({default:(await t(()=>import(`./ActivityPanelDiffView-D3tFIws1.js`),__vite__mapDeps([0,1,2,3,4]),import.meta.url)).ActivityPanelDiffView}));function de(e,t){let n=Math.max(0,t-e);if(n<6e4){let e=Math.round(n/1e3);return N._({id:`pbwTg6`,values:{seconds:e}})}if(n<36e5){let e=Math.round(n/6e4);return N._({id:`_rP3HI`,values:{minutes:e}})}return new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function fe(e){let t=(0,F.c)(42),{burst:n,docName:r,fetchBurstDiff:i}=e,{_:a}=c(),[o,l]=(0,I.useState)(!1),[u,d]=(0,I.useState)(null),[f,p]=(0,I.useState)(null),[m,h]=(0,I.useState)(!1),[g,_]=(0,I.useState)(z),v,y;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(v=()=>{let e=setInterval(()=>_(Date.now()),3e4);return()=>clearInterval(e)},y=[],t[0]=v,t[1]=y):(v=t[0],y=t[1]),(0,I.useEffect)(v,y);let b;t[2]!==n.stackIndex||t[3]!==u||t[4]!==r||t[5]!==o||t[6]!==i||t[7]!==m?(b=()=>{let e=!o;l(e),e&&u===null&&!m&&(h(!0),p(null),i(r,n.stackIndex).then(e=>{d(e),h(!1)}).catch(e=>{p(e instanceof Error?e.message:String(e)),h(!1)}))},t[2]=n.stackIndex,t[3]=u,t[4]=r,t[5]=o,t[6]=i,t[7]=m,t[8]=b):b=t[8];let x=b,S=n.stackIndex+1,C;t[9]!==a||t[10]!==S||t[11]!==o?(C=a(o?{id:`-i7ik4`,values:{burstNumber:S}}:{id:`EeRZnZ`,values:{burstNumber:S}}),t[9]=a,t[10]=S,t[11]=o,t[12]=C):C=t[12];let w;t[13]===o?w=t[14]:(w=o?(0,R.jsx)(ee,{className:`size-3 shrink-0`,"aria-hidden":`true`}):(0,R.jsx)(te,{className:`size-3 shrink-0`,"aria-hidden":`true`}),t[13]=o,t[14]=w);let T;t[15]!==n.ts||t[16]!==g?(T=de(n.ts,g),t[15]=n.ts,t[16]=g,t[17]=T):T=t[17];let E;t[18]===T?E=t[19]:(E=(0,R.jsx)(`span`,{className:`font-mono`,children:T}),t[18]=T,t[19]=E);let D;t[20]===n.additions?D=t[21]:(D=(0,R.jsxs)(`span`,{className:`text-green-600 dark:text-green-400`,children:[`+`,n.additions]}),t[20]=n.additions,t[21]=D);let O;t[22]===n.deletions?O=t[23]:(O=(0,R.jsxs)(`span`,{className:`text-red-600 dark:text-red-400`,children:[`−`,n.deletions]}),t[22]=n.deletions,t[23]=O);let k;t[24]!==D||t[25]!==O?(k=(0,R.jsxs)(`span`,{className:`ml-auto font-mono`,children:[D,` `,O]}),t[24]=D,t[25]=O,t[26]=k):k=t[26];let A;t[27]!==o||t[28]!==k||t[29]!==C||t[30]!==w||t[31]!==E||t[32]!==x?(A=(0,R.jsxs)(`button`,{type:`button`,onClick:x,className:`flex w-full items-center gap-2 px-4 py-1.5 text-xs text-muted-foreground hover:bg-muted/40`,"aria-expanded":o,"aria-label":C,children:[w,E,k]}),t[27]=o,t[28]=k,t[29]=C,t[30]=w,t[31]=E,t[32]=x,t[33]=A):A=t[33];let j;t[34]!==u||t[35]!==o||t[36]!==f||t[37]!==m?(j=o?(0,R.jsx)(`div`,{className:`bg-muted/20`,children:m?(0,R.jsx)(`div`,{className:`px-4 py-2 text-xs text-muted-foreground italic`,children:(0,R.jsx)(s,{id:`38foVZ`})}):f?(0,R.jsx)(`div`,{className:`px-4 py-2 text-xs text-destructive`,children:(0,R.jsx)(s,{id:`pmKdif`,values:{loadError:f}})}):u===null?(0,R.jsx)(`div`,{className:`px-4 py-2 text-xs text-muted-foreground italic`,children:(0,R.jsx)(s,{id:`iNFKkm`})}):(0,R.jsx)(I.Suspense,{fallback:(0,R.jsx)(`div`,{className:`px-4 py-2 text-xs text-muted-foreground italic`,children:(0,R.jsx)(s,{id:`38foVZ`})}),children:(0,R.jsx)(ue,{diff:u})})}):null,t[34]=u,t[35]=o,t[36]=f,t[37]=m,t[38]=j):j=t[38];let M;return t[39]!==A||t[40]!==j?(M=(0,R.jsxs)(`div`,{className:`border-t border-border/50`,children:[A,j]}),t[39]=A,t[40]=j,t[41]=M):M=t[41],M}function z(){return Date.now()}function pe(e,t){let n=Math.max(0,t-e);if(n<6e4){let e=Math.round(n/1e3);return N._({id:`pbwTg6`,values:{seconds:e}})}if(n<36e5){let e=Math.round(n/6e4);return N._({id:`_rP3HI`,values:{minutes:e}})}let r=Math.round(n/36e5);return N._({id:`nYeBmY`,values:{hours:r}})}function B(e){let t=(0,F.c)(118),{file:n,sessionAlive:r,isWriting:i,onNavigate:a,onUndoLast:o,onUndoAll:u,fetchBurstDiff:b}=e,{_:x}=c(),{docName:S}=n,[C,w]=(0,I.useState)(!1),[T,E]=(0,I.useState)(!1),[D,O]=(0,I.useState)(!1),[k,j]=(0,I.useState)(he),M,N;if(t[0]===Symbol.for(`react.memo_cache_sentinel`)?(M=()=>{let e=setInterval(()=>j(Date.now()),3e4);return()=>clearInterval(e)},N=[],t[0]=M,t[1]=N):(M=t[0],N=t[1]),(0,I.useEffect)(M,N),n.bursts.length===0)return null;let P=!r||n.bursts.length===0||D,ne=n.bursts.length,ie;t[2]!==x||t[3]!==n.bursts.length||t[4]!==r?(ie=r?n.bursts.length===0?x({id:`2fkdnR`}):null:x({id:`NzFvyK`}),t[2]=x,t[3]=n.bursts.length,t[4]=r,t[5]=ie):ie=t[5];let L=ie,ae;t[6]!==P||t[7]!==n.docName||t[8]!==o?(ae=e=>{e.stopPropagation(),!P&&(O(!0),Promise.resolve(o(n.docName)).finally(()=>O(!1)))},t[6]=P,t[7]=n.docName,t[8]=o,t[9]=ae):ae=t[9];let oe=ae,se;t[10]===P?se=t[11]:(se=e=>{e.stopPropagation(),!P&&E(!0)},t[10]=P,t[11]=se);let ce=se,le;t[12]!==P||t[13]!==n.docName||t[14]!==u?(le=()=>{E(!1),!P&&(O(!0),Promise.resolve(u(n.docName)).finally(()=>O(!1)))},t[12]=P,t[13]=n.docName,t[14]=u,t[15]=le):le=t[15];let ue=le,de;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(de=()=>w(me),t[16]=de):de=t[16];let z;t[17]!==x||t[18]!==S||t[19]!==C?(z=x(C?{id:`rVgSRB`,values:{docName:S}}:{id:`tW_yvQ`,values:{docName:S}}),t[17]=x,t[18]=S,t[19]=C,t[20]=z):z=t[20];let B;t[21]===C?B=t[22]:(B=C?(0,R.jsx)(ee,{className:`size-4`,"aria-hidden":`true`}):(0,R.jsx)(te,{className:`size-4`,"aria-hidden":`true`}),t[21]=C,t[22]=B);let V;t[23]!==C||t[24]!==z||t[25]!==B?(V=(0,R.jsx)(`button`,{type:`button`,onClick:de,className:`flex size-5 shrink-0 items-center justify-center rounded hover:bg-muted`,"aria-expanded":C,"aria-label":z,"data-testid":`activity-panel-file-row-carrot`,children:B}),t[23]=C,t[24]=z,t[25]=B,t[26]=V):V=t[26];let H;t[27]!==n.docName||t[28]!==a?(H=()=>a(n.docName),t[27]=n.docName,t[28]=a,t[29]=H):H=t[29];let U;t[30]!==x||t[31]!==S?(U=x({id:`QcpeeE`,values:{docName:S}}),t[30]=x,t[31]=S,t[32]=U):U=t[32];let W;t[33]!==n.docName||t[34]!==H||t[35]!==U?(W=(0,R.jsx)(`button`,{type:`button`,onClick:H,className:`min-w-0 flex-1 truncate text-left text-foreground hover:underline focus-visible:outline-ring`,"aria-label":U,"data-testid":`activity-panel-file-row-filename`,title:n.docName,children:n.docName}),t[33]=n.docName,t[34]=H,t[35]=U,t[36]=W):W=t[36];let G;t[37]!==x||t[38]!==S?(G=x({id:`m4v3XT`,values:{docName:S}}),t[37]=x,t[38]=S,t[39]=G):G=t[39];let ge;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(ge=(0,R.jsx)(A,{className:`size-3.5`,"aria-hidden":`true`}),t[40]=ge):ge=t[40];let K;t[41]!==P||t[42]!==oe||t[43]!==G?(K=(0,R.jsx)(d,{asChild:!0,children:(0,R.jsx)(l,{type:`button`,variant:`ghost`,size:`icon`,className:`size-6 shrink-0`,onClick:oe,disabled:P,"aria-label":G,"data-testid":`activity-panel-undo-last`,children:ge})}),t[41]=P,t[42]=oe,t[43]=G,t[44]=K):K=t[44];let q;t[45]!==x||t[46]!==L?(q=L??x({id:`ArBWJf`}),t[45]=x,t[46]=L,t[47]=q):q=t[47];let J;t[48]===q?J=t[49]:(J=(0,R.jsx)(f,{side:`bottom`,children:q}),t[48]=q,t[49]=J);let Y;t[50]!==K||t[51]!==J?(Y=(0,R.jsxs)(p,{children:[K,J]}),t[50]=K,t[51]=J,t[52]=Y):Y=t[52];let X;t[53]!==x||t[54]!==S?(X=x({id:`J2MgzQ`,values:{docName:S}}),t[53]=x,t[54]=S,t[55]=X):X=t[55];let _e;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,R.jsx)(re,{className:`size-3.5`,"aria-hidden":`true`}),t[56]=_e):_e=t[56];let Z;t[57]!==P||t[58]!==ce||t[59]!==X?(Z=(0,R.jsx)(d,{asChild:!0,children:(0,R.jsx)(l,{type:`button`,variant:`ghost`,size:`icon`,className:`size-6 shrink-0`,onClick:ce,disabled:P,"aria-label":X,"data-testid":`activity-panel-undo-all`,children:_e})}),t[57]=P,t[58]=ce,t[59]=X,t[60]=Z):Z=t[60];let Q;t[61]!==x||t[62]!==L?(Q=L??x({id:`mNY1G6`}),t[61]=x,t[62]=L,t[63]=Q):Q=t[63];let ve;t[64]===Q?ve=t[65]:(ve=(0,R.jsx)(f,{side:`bottom`,children:Q}),t[64]=Q,t[65]=ve);let ye;t[66]!==Z||t[67]!==ve?(ye=(0,R.jsxs)(p,{children:[Z,ve]}),t[66]=Z,t[67]=ve,t[68]=ye):ye=t[68];let be;t[69]===n.additionsTotal?be=t[70]:(be=(0,R.jsxs)(`span`,{className:`text-green-600 dark:text-green-400`,children:[`+`,n.additionsTotal]}),t[69]=n.additionsTotal,t[70]=be);let xe;t[71]===n.deletionsTotal?xe=t[72]:(xe=(0,R.jsxs)(`span`,{className:`text-red-600 dark:text-red-400`,children:[`−`,n.deletionsTotal]}),t[71]=n.deletionsTotal,t[72]=xe);let Se;t[73]!==be||t[74]!==xe?(Se=(0,R.jsxs)(`span`,{className:`shrink-0 font-mono text-xs`,children:[be,` `,xe]}),t[73]=be,t[74]=xe,t[75]=Se):Se=t[75];let Ce;t[76]!==n.lastTs||t[77]!==k?(Ce=pe(n.lastTs,k),t[76]=n.lastTs,t[77]=k,t[78]=Ce):Ce=t[78];let $;t[79]===Ce?$=t[80]:($=(0,R.jsx)(`span`,{className:`shrink-0 font-mono text-[11px] text-muted-foreground`,children:Ce}),t[79]=Ce,t[80]=$);let we;t[81]===i?we=t[82]:(we=i?(0,R.jsx)(`span`,{className:`shrink-0 text-[11px] text-primary animate-pulse`,role:`status`,children:(0,R.jsx)(s,{id:`6q0rnH`})}):null,t[81]=i,t[82]=we);let Te;t[83]!==V||t[84]!==W||t[85]!==Y||t[86]!==ye||t[87]!==Se||t[88]!==$||t[89]!==we?(Te=(0,R.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2 text-sm`,children:[V,W,Y,ye,Se,$,we]}),t[83]=V,t[84]=W,t[85]=Y,t[86]=ye,t[87]=Se,t[88]=$,t[89]=we,t[90]=Te):Te=t[90];let Ee;t[91]!==C||t[92]!==b||t[93]!==n.bursts||t[94]!==n.docName?(Ee=C?(0,R.jsx)(`div`,{children:n.bursts.map(e=>(0,R.jsx)(fe,{burst:e,docName:n.docName,fetchBurstDiff:b},`${n.docName}:${e.stackIndex}`))}):null,t[91]=C,t[92]=b,t[93]=n.bursts,t[94]=n.docName,t[95]=Ee):Ee=t[95];let De;t[96]===Symbol.for(`react.memo_cache_sentinel`)?(De=(0,R.jsx)(h,{children:(0,R.jsx)(s,{id:`SEYWYq`})}),t[96]=De):De=t[96];let Oe;t[97]!==ne||t[98]!==S?(Oe={docName:S,burstCount:ne},t[97]=ne,t[98]=S,t[99]=Oe):Oe=t[99];let ke;t[100]===Symbol.for(`react.memo_cache_sentinel`)?(ke={0:(0,R.jsx)(`span`,{className:`font-mono text-foreground`})},t[100]=ke):ke=t[100];let Ae;t[101]===Oe?Ae=t[102]:(Ae=(0,R.jsxs)(v,{children:[De,(0,R.jsx)(m,{children:(0,R.jsx)(s,{id:`ZBYKxv`,values:Oe,components:ke})})]}),t[101]=Oe,t[102]=Ae);let je;t[103]===Symbol.for(`react.memo_cache_sentinel`)?(je=()=>E(!1),t[103]=je):je=t[103];let Me;t[104]===Symbol.for(`react.memo_cache_sentinel`)?(Me=(0,R.jsx)(l,{type:`button`,variant:`outline`,onClick:je,"data-testid":`activity-panel-undo-all-cancel`,children:(0,R.jsx)(s,{id:`dEgA5A`})}),t[104]=Me):Me=t[104];let Ne;t[105]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=(0,R.jsx)(s,{id:`MWrUEd`}),t[105]=Ne):Ne=t[105];let Pe;t[106]===ue?Pe=t[107]:(Pe=(0,R.jsxs)(_,{children:[Me,(0,R.jsx)(l,{type:`button`,variant:`destructive`,onClick:ue,"data-testid":`activity-panel-undo-all-confirm`,children:Ne})]}),t[106]=ue,t[107]=Pe);let Fe;t[108]!==Ae||t[109]!==Pe?(Fe=(0,R.jsxs)(g,{className:`sm:max-w-md`,children:[Ae,Pe]}),t[108]=Ae,t[109]=Pe,t[110]=Fe):Fe=t[110];let Ie;t[111]!==T||t[112]!==Fe?(Ie=(0,R.jsx)(y,{open:T,onOpenChange:E,children:Fe}),t[111]=T,t[112]=Fe,t[113]=Ie):Ie=t[113];let Le;return t[114]!==Te||t[115]!==Ee||t[116]!==Ie?(Le=(0,R.jsxs)(`div`,{className:`border-b border-border`,"data-testid":`activity-panel-file-row`,children:[Te,Ee,Ie]}),t[114]=Te,t[115]=Ee,t[116]=Ie,t[117]=Le):Le=t[117],Le}function me(e){return!e}function he(){return Date.now()}async function V(e){let t=await fetch(`/api/agent-undo`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({...e,agentId:e.connectionId})});if(!t.ok)throw Error(`agent-undo failed: HTTP ${t.status}`)}function H(e){return`#/${e.split(`/`).map(e=>encodeURIComponent(e)).join(`/`)}`}function U(e){typeof window>`u`||(window.location.hash=H(e))}function W(){let e=(0,F.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,R.jsx)(D,{className:`mr-2 size-4 animate-spin`,"aria-hidden":`true`}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,R.jsxs)(`div`,{className:`flex h-full items-center justify-center p-6 text-muted-foreground`,role:`status`,"aria-busy":`true`,children:[t,(0,R.jsx)(`span`,{className:`text-sm`,children:(0,R.jsx)(s,{id:`ONPvOb`})})]}),e[1]=n):n=e[1],n}function G(e){let t=(0,F.c)(10),{error:n,onRetry:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,R.jsx)(T,{className:`size-6 text-destructive`,"aria-hidden":`true`}),t[0]=i):i=t[0];let a;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,R.jsx)(`p`,{className:`text-sm font-medium`,children:(0,R.jsx)(s,{id:`DhLHEb`})}),t[1]=a):a=t[1];let o;t[2]===n?o=t[3]:(o=(0,R.jsxs)(`div`,{className:`space-y-1`,children:[a,(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:n})]}),t[2]=n,t[3]=o);let c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,R.jsx)(s,{id:`6gRgw8`}),t[4]=c):c=t[4];let u;t[5]===r?u=t[6]:(u=(0,R.jsx)(l,{type:`button`,variant:`outline`,size:`sm`,onClick:r,children:c}),t[5]=r,t[6]=u);let d;return t[7]!==o||t[8]!==u?(d=(0,R.jsxs)(`div`,{className:`flex flex-col items-center gap-3 p-6 text-center`,role:`alert`,"data-testid":`activity-panel-error`,children:[i,o,u]}),t[7]=o,t[8]=u,t[9]=d):d=t[9],d}function ge(){let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,R.jsx)(`div`,{className:`flex h-full items-center justify-center p-6 text-muted-foreground`,"data-testid":`activity-panel-empty`,children:(0,R.jsx)(`p`,{className:`text-sm italic`,children:(0,R.jsx)(s,{id:`iuTKci`})})}),e[0]=t):t=e[0],t}function K(e){let t=(0,F.c)(12),{onExit:n,showBackButton:r}=e,{_:i}=c(),a;t[0]===i?a=t[1]:(a=i({id:`kYL1lH`}),t[0]=i,t[1]=a);let o;t[2]!==n||t[3]!==r?(o=r?(0,R.jsx)(q,{onClick:n}):null,t[2]=n,t[3]=r,t[4]=o):o=t[4];let l;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,R.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:(0,R.jsx)(s,{id:`kYL1lH`})}),t[5]=l):l=t[5];let u;t[6]===o?u=t[7]:(u=(0,R.jsxs)(`div`,{className:`flex shrink-0 flex-row items-center gap-2 border-b border-border px-3 py-2`,children:[o,l]}),t[6]=o,t[7]=u);let d;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,R.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-6 text-muted-foreground`,children:(0,R.jsx)(`p`,{className:`text-center text-sm italic`,children:(0,R.jsx)(s,{id:`D_WKe_`})})}),t[8]=d):d=t[8];let f;return t[9]!==a||t[10]!==u?(f=(0,R.jsxs)(`section`,{className:`flex h-full min-h-0 flex-col`,"data-testid":`activity-panel-no-agent`,"aria-label":a,children:[u,d]}),t[9]=a,t[10]=u,t[11]=f):f=t[11],f}function q(e){let t=(0,F.c)(9),{onClick:n}=e,{_:r}=c(),i;t[0]===r?i=t[1]:(i=r({id:`ogAuyr`}),t[0]=r,t[1]=i);let a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,R.jsx)(x,{}),t[2]=a):a=t[2];let o;t[3]!==n||t[4]!==i?(o=(0,R.jsx)(d,{asChild:!0,children:(0,R.jsx)(l,{type:`button`,variant:`ghost`,size:`icon`,className:`size-7 shrink-0`,onClick:n,"aria-label":i,"data-testid":`docpanel-exit-agent-mode`,children:a})}),t[3]=n,t[4]=i,t[5]=o):o=t[5];let u;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,R.jsx)(f,{side:`bottom`,children:(0,R.jsx)(s,{id:`ogAuyr`})}),t[6]=u):u=t[6];let m;return t[7]===o?m=t[8]:(m=(0,R.jsxs)(p,{children:[o,u]}),t[7]=o,t[8]=m),m}function J(e){let t=(0,F.c)(9),{lastTs:n}=e,[r]=(0,I.useState)(Y),i;t[0]!==n||t[1]!==r?(i=n?X(r-n):null,t[0]=n,t[1]=r,t[2]=i):i=t[2];let a=i,o;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,R.jsx)(`span`,{className:`font-medium`,children:(0,R.jsx)(s,{id:`LCUy_N`})}),t[3]=o):o=t[3];let c;t[4]===a?c=t[5]:(c=a?(0,R.jsxs)(`span`,{children:[` · `,a]}):null,t[4]=a,t[5]=c);let l;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,R.jsx)(`div`,{className:`mt-1 opacity-80`,children:(0,R.jsx)(s,{id:`GK-IRZ`})}),t[6]=l):l=t[6];let u;return t[7]===c?u=t[8]:(u=(0,R.jsxs)(`div`,{className:`border-b border-border bg-muted/40 px-4 py-3 text-xs text-muted-foreground`,"data-testid":`activity-panel-session-ended`,children:[o,c,l]}),t[7]=c,t[8]=u),u}function Y(){return Date.now()}function X(e){let t=Math.max(0,e);if(t<6e4){let e=Math.round(t/1e3);return N._({id:`pbwTg6`,values:{seconds:e}})}if(t<36e5){let e=Math.round(t/6e4);return N._({id:`_rP3HI`,values:{minutes:e}})}let n=Math.round(t/36e5);return N._({id:`nYeBmY`,values:{hours:n}})}function _e(e){let t=(0,F.c)(10),{agent:n,size:r}=e,i=r===void 0?28:r,a;t[0]!==n.color||t[1]!==i?(a={backgroundColor:n.color,width:i,height:i},t[0]=n.color,t[1]=i,t[2]=a):a=t[2];let o=i*.57,s=i*.57,c;t[3]!==n.icon||t[4]!==o||t[5]!==s?(c=(0,R.jsx)(k,{icon:n.icon,width:o,height:s}),t[3]=n.icon,t[4]=o,t[5]=s,t[6]=c):c=t[6];let l;return t[7]!==a||t[8]!==c?(l=(0,R.jsx)(`span`,{className:`inline-flex shrink-0 items-center justify-center rounded-full text-white ring-2 ring-background`,style:a,"aria-hidden":`true`,children:c}),t[7]=a,t[8]=c,t[9]=l):l=t[9],l}function Z(e){let t=(0,F.c)(26),{data:n,status:r,error:i,reload:a,fetchBurstDiff:o,onExit:l,onNavigate:u,onUndoLast:d,onUndoAll:f,showBackButton:p}=e,{_:m}=c(),h=n?.files?.[0]?.lastTs??null,g=n?.files?.length??0,_;t[0]===m?_=t[1]:(_=m({id:`kYL1lH`}),t[0]=m,t[1]=_);let v;t[2]!==l||t[3]!==p?(v=p?(0,R.jsx)(q,{onClick:l}):null,t[2]=l,t[3]=p,t[4]=v):v=t[4];let y;t[5]!==n||t[6]!==g||t[7]!==h?(y=n?.agent?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(_e,{agent:n.agent}),(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:n.agent.displayName}),(0,R.jsxs)(`p`,{className:`truncate text-xs text-muted-foreground`,children:[n.sessionAlive?(0,R.jsx)(s,{id:`F6pfE9`}):h===null?(0,R.jsx)(s,{id:`PMyJ9C`}):(0,R.jsx)(s,{id:`237hSL`}),n.files.length>0?(0,R.jsxs)(R.Fragment,{children:[` · `,(0,R.jsx)(s,{id:`u3BOHd`,values:{fileCount:g}})]}):null]})]})]}):(0,R.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,R.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:(0,R.jsx)(s,{id:`kYL1lH`})})}),t[5]=n,t[6]=g,t[7]=h,t[8]=y):y=t[8];let b;t[9]!==v||t[10]!==y?(b=(0,R.jsxs)(`div`,{className:`flex flex-row items-center gap-2 border-b border-border px-3 py-2 shrink-0`,children:[v,y]}),t[9]=v,t[10]=y,t[11]=b):b=t[11];let x;t[12]!==n||t[13]!==i||t[14]!==o||t[15]!==h||t[16]!==u||t[17]!==f||t[18]!==d||t[19]!==a||t[20]!==r?(x=(0,R.jsx)(`div`,{className:`flex-1 overflow-y-auto`,"data-testid":`activity-panel-body`,children:r===`loading`&&n===null?(0,R.jsx)(W,{}):r===`error`&&i?(0,R.jsx)(G,{error:i,onRetry:a}):n===null?(0,R.jsx)(ge,{}):(0,R.jsxs)(R.Fragment,{children:[!n.sessionAlive&&h!==null?(0,R.jsx)(J,{lastTs:h}):null,n.files.length===0?(0,R.jsx)(ge,{}):n.files.map(e=>(0,R.jsx)(B,{file:e,sessionAlive:n.sessionAlive,isWriting:n.writingDocs.has(e.docName),onNavigate:u,onUndoLast:d,onUndoAll:f,fetchBurstDiff:o},e.docName))]})}),t[12]=n,t[13]=i,t[14]=o,t[15]=h,t[16]=u,t[17]=f,t[18]=d,t[19]=a,t[20]=r,t[21]=x):x=t[21];let S;return t[22]!==_||t[23]!==b||t[24]!==x?(S=(0,R.jsxs)(`section`,{className:`flex h-full min-h-0 flex-col`,"data-testid":`activity-panel`,"aria-label":_,children:[b,x]}),t[22]=_,t[23]=b,t[24]=x,t[25]=S):S=t[25],S}function Q(e){let t=(0,F.c)(29),n;t[0]===e?n=t[1]:(n=e===void 0?{}:e,t[0]=e,t[1]=n);let{showBackButton:r}=n,i=r===void 0?!0:r,{_:s}=c(),{docPanelAgentId:l,closeActivityPanel:u}=a(),{openTargetTransition:d}=o(),{pageMeta:f}=E(),{data:p,status:m,error:h,reload:g,fetchBurstDiff:_}=se(l);if(l===null){let e;return t[2]!==u||t[3]!==i?(e=(0,R.jsx)(K,{onExit:u,showBackButton:i}),t[2]=u,t[3]=i,t[4]=e):e=t[4],e}let v;t[5]!==d||t[6]!==f?(v=e=>{d(P({kind:`doc`,target:e,docName:e},f)),U(e)},t[5]=d,t[6]=f,t[7]=v):v=t[7];let y=v,b;t[8]!==s||t[9]!==p||t[10]!==l||t[11]!==g?(b=async e=>{try{await V({connectionId:l,docName:e,scope:`last`,agentName:p?.agent?.displayName}),g()}catch(e){let t=e,n=t instanceof Error?t.message:String(t);M.error(s({id:`EqrC_R`,values:{message:n}})),g()}},t[8]=s,t[9]=p,t[10]=l,t[11]=g,t[12]=b):b=t[12];let x=b,S;t[13]!==s||t[14]!==p||t[15]!==l||t[16]!==g?(S=async e=>{try{await V({connectionId:l,docName:e,scope:`file`,agentName:p?.agent?.displayName}),M.success(s({id:`pRc-Im`,values:{docName:e}})),g()}catch(e){let t=e,n=t instanceof Error?t.message:String(t);M.error(s({id:`7KeV5F`,values:{message:n}})),g()}},t[13]=s,t[14]=p,t[15]=l,t[16]=g,t[17]=S):S=t[17];let C=S,w;return t[18]!==u||t[19]!==p||t[20]!==h||t[21]!==_||t[22]!==y||t[23]!==C||t[24]!==x||t[25]!==g||t[26]!==i||t[27]!==m?(w=(0,R.jsx)(Z,{data:p,status:m,error:h,reload:g,fetchBurstDiff:_,onExit:u,onNavigate:y,onUndoLast:x,onUndoAll:C,showBackButton:i}),t[18]=u,t[19]=p,t[20]=h,t[21]=_,t[22]=y,t[23]=C,t[24]=x,t[25]=g,t[26]=i,t[27]=m,t[28]=w):w=t[28],w}export{Q as ActivityModeContent};
|