@inkeep/open-knowledge 0.26.1-beta.1 → 0.27.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/skills/discovery/SKILL.md +1 -1
- package/dist/assets/skills/project/SKILL.md +2 -2
- package/dist/assets/skills/project/references/preview.md +4 -4
- package/dist/assets/skills/write-skill/SKILL.md +1 -1
- package/dist/cli.mjs +63 -63
- package/dist/constants-FPRBLLHv.mjs +2 -0
- package/dist/{dist-D8lHZNr8.mjs → dist-CZ4COUHS.mjs} +1 -1
- package/dist/{dist-CUbAo1yS.mjs → dist-CdVqgoPq.mjs} +5 -5
- package/dist/{gh-detect-BUJyWvGO.mjs → gh-detect-KLjG6xCR.mjs} +2 -2
- package/dist/index.d.mts +16 -3
- package/dist/index.mjs +1 -1
- package/dist/init-DdgQk34k.mjs +660 -0
- package/dist/init-NQBVedkZ.mjs +1 -0
- package/dist/loader-B67yXEGv.mjs +1 -0
- package/dist/{loader-DLBG2Jf0.mjs → loader-XWkMJYxk.mjs} +2 -2
- package/dist/{preview-DMdR22hR.mjs → preview-BLauTAym.mjs} +2 -2
- package/dist/preview-BUda_ENP.mjs +1 -0
- package/dist/public/assets/{ActivityModeContent-ZV1oiH21.js → ActivityModeContent-Bu-aPWfE.js} +1 -1
- package/dist/public/assets/{ConsentDialogBody-ClEtx_H4.js → ConsentDialogBody-u7A2_0jL.js} +1 -1
- package/dist/public/assets/{DocumentContext-CNrQKGNw.js → DocumentContext-BNan6rEA.js} +1 -1
- package/dist/public/assets/{EnableSyncConfirmDialog-BhMvTv-2.js → EnableSyncConfirmDialog-DLAmAtNx.js} +1 -1
- package/dist/public/assets/{GraphPanel-B_Rx6o7k.js → GraphPanel-BXSu0qzO.js} +1 -1
- package/dist/public/assets/{ManagedArtifactProperties-CabIneyc.js → ManagedArtifactProperties-DCf7FSvm.js} +1 -1
- package/dist/public/assets/{McpConsentDialogBody-DW0Ku8h2.js → McpConsentDialogBody-DHnMMoKv.js} +1 -1
- package/dist/public/assets/{PropertyPanel-BGGPGg8z.js → PropertyPanel-CLRxrKmQ.js} +1 -1
- package/dist/public/assets/{SettingsDialogBody-D9Spbasa.js → SettingsDialogBody-BU_CWPpQ.js} +1 -1
- package/dist/public/assets/{ShareBranchSwitchDialog-MF01jVyK.js → ShareBranchSwitchDialog-DqhVt0LE.js} +1 -1
- package/dist/public/assets/{ShareReceiveDialog-BeDLlUWc.js → ShareReceiveDialog-COOji2w1.js} +1 -1
- package/dist/public/assets/{ShareReceiveMissDialog-CErdFiaW.js → ShareReceiveMissDialog-BIUsfWwx.js} +1 -1
- package/dist/public/assets/{SkillEditorActions--NrMimEw.js → SkillEditorActions-Cwen9r7n.js} +1 -1
- package/dist/public/assets/{SourceEditor-DR04Kk-L.js → SourceEditor-B8i0Zuc4.js} +1 -1
- package/dist/public/assets/{TerminalPanel-CDlxv5DM.js → TerminalPanel-CFHapL_S.js} +1 -1
- package/dist/public/assets/{auth-state-cache-XGzST2ZD.js → auth-state-cache-DbOzyU3U.js} +1 -1
- package/dist/public/assets/{config-provider-CNEpgM_S.js → config-provider-Do7HkFaK.js} +1 -1
- package/dist/public/assets/{dist-CQyX-suk.js → dist-IJIMi_KI.js} +2 -2
- package/dist/public/assets/{doc-hash-DK_ofUpp.js → doc-hash-B9qR3wab.js} +1 -1
- package/dist/public/assets/{documents-events-DWU2wzVY.js → documents-events-5sCrqLAB.js} +1 -1
- package/dist/public/assets/{file-tree-adapter-Co_rTNFv.js → file-tree-adapter-DeCSzJFc.js} +1 -1
- package/dist/public/assets/{index-CyAGZpgf.js → index-CfFNwC-k.js} +7 -7
- package/dist/public/assets/{index-CLrcKKoN.css → index-CwH3jLSk.css} +1 -1
- package/dist/public/assets/{keyboard-shortcuts-B_CAsza0.js → keyboard-shortcuts-DoqeoYey.js} +1 -1
- package/dist/public/assets/{navigation-targets-B88nmSdU.js → navigation-targets-CSLWdrg5.js} +1 -1
- package/dist/public/assets/{open-managed-artifact-tab-Bk_tqTdp.js → open-managed-artifact-tab-D6l9ALAm.js} +1 -1
- package/dist/public/assets/{pending-receive-nav-store-DpqQxXOd.js → pending-receive-nav-store-OU-qfx40.js} +1 -1
- package/dist/public/assets/{prop-types-YLAnoO2T.js → prop-types-Cak_LhNF.js} +1 -1
- package/dist/public/assets/{receive-store-BVPHm3DM.js → receive-store-DM0i5Ybb.js} +1 -1
- package/dist/public/assets/{selection-context-ythQq0B9.js → selection-context-Br-4VUmJ.js} +1 -1
- package/dist/public/assets/skill-actions-C1QaoF_v.js +1 -0
- package/dist/public/assets/{skills-api-9bY3Jtgz.js → skills-api-DJJ_LIKc.js} +1 -1
- package/dist/public/assets/{target-navigation-intent-CwZkFyaW.js → target-navigation-intent-DksqRbJO.js} +1 -1
- package/dist/public/assets/{typing-burst-detector-BwvPMOYl.js → typing-burst-detector-ClZLBemU.js} +1 -1
- package/dist/public/index.html +22 -22
- package/dist/{repair-launch-json-CWUTx3IW.mjs → repair-launch-json-Bk99TDG5.mjs} +2 -2
- package/dist/{repair-mcp-configs-BYRhVChI.mjs → repair-mcp-configs-D3XsTqKa.mjs} +2 -2
- package/dist/{repair-skills-B2AtzCSn.mjs → repair-skills-D7TJAZll.mjs} +2 -2
- package/dist/repair-skills-DCZqW9al.mjs +1 -0
- package/dist/server-lock-GuuouVft-CeF2bXVd.mjs +1 -0
- package/dist/{server-lock-iLcBw_q0-BF_u0tGL.mjs → server-lock-iLcBw_q0-CdrK5Xfo.mjs} +2 -2
- package/dist/{src-BWAFlazs.mjs → src-D0hiW4nw.mjs} +2 -2
- package/dist/{start-CnXUmVrI.mjs → start-B3yMZZZG.mjs} +2 -2
- package/dist/start-DAdXMVff.mjs +1 -0
- package/dist/write-project-skill-BEzL3S1a.mjs +36 -0
- package/package.json +1 -1
- package/dist/constants-BfJcirqe.mjs +0 -2
- package/dist/init-9d1LNBPj.mjs +0 -1
- package/dist/init-Dvj0QJzs.mjs +0 -321
- package/dist/loader-z1b3_1sK.mjs +0 -1
- package/dist/preview-C9s_wKIU.mjs +0 -1
- package/dist/public/assets/skill-actions-CbRk7LAn.js +0 -1
- package/dist/repair-skills-B8ePNziA.mjs +0 -1
- package/dist/server-lock-GuuouVft-CWlICi2c.mjs +0 -1
- package/dist/start-CY3HKbBn.mjs +0 -1
- package/dist/write-project-skill-Cjym3mlY.mjs +0 -36
package/dist/init-Dvj0QJzs.mjs
DELETED
|
@@ -1,321 +0,0 @@
|
|
|
1
|
-
import{a as e,s as t,t as n}from"./chunk-C94x7I9S.mjs";import{Aa as r,Ba as i,Bt as a,Et as o,Yi as s,bn as c,mt as l,yi as u,za as d}from"./server-lock-iLcBw_q0-BF_u0tGL.mjs";import{$n as f,D as p,Gn as m,K as h,O as g,Qn as _,Sa as v,Zn as y,_a as b,cr as x,d as S,ir as C,ma as w,na as T,ra as ee,ut as E,vn as te}from"./dist-CUbAo1yS.mjs";import{r as D,t as O}from"./esm-CsQUg9js.mjs";import{t as ne}from"./constants-BfJcirqe.mjs";import{a as re,g as ie,h as ae,l as k,n as oe,r as se,t as ce}from"./write-project-skill-Cjym3mlY.mjs";import{t as A}from"./is-object-Cg453afR.mjs";import{i as j,n as M,o as N,r as P,s as F,t as I}from"./colors-8SzMRIVy.mjs";import{t as le}from"./preview-DMdR22hR.mjs";import{createRequire as ue}from"node:module";import{execFileSync as de}from"node:child_process";import fe,{dirname as L,isAbsolute as pe,join as R,relative as z,resolve as me,sep as he}from"node:path";import B from"node:process";import{fileURLToPath as ge}from"node:url";import{homedir as _e}from"node:os";import{existsSync as V,lstatSync as ve,mkdirSync as ye,readFileSync as H,readlinkSync as be,realpathSync as xe,statSync as Se,writeFileSync as Ce}from"node:fs";import{randomUUID as we}from"node:crypto";import{inspect as Te,stripVTControlCharacters as Ee,styleText as U}from"node:util";import{AsyncLocalStorage as De,AsyncResource as Oe}from"node:async_hooks";import{createServer as ke,request as Ae}from"node:http";import*as je from"node:readline";import{connect as Me}from"node:net";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 Ie=(e,t=[])=>e.name===`up`||t.includes(`vim`)&&e.name===`k`||t.includes(`emacs`)&&e.ctrl&&e.name===`p`,Le=(e,t=[])=>e.name===`down`||t.includes(`vim`)&&e.name===`j`||t.includes(`emacs`)&&e.ctrl&&e.name===`n`,Re=e=>e.name===`space`,ze=e=>e.name===`backspace`,Be=e=>`1234567890`.includes(e.name),Ve=e=>e.name===`enter`||e.name===`return`;var He=class extends Error{name=`AbortPromptError`;message=`Prompt was aborted`;constructor(e){super(),this.cause=e?.cause}},Ue=class extends Error{name=`CancelPromptError`;message=`Prompt was canceled`},We=class extends Error{name=`ExitPromptError`},Ge=class extends Error{name=`HookError`},Ke=class extends Error{name=`ValidationError`};const qe=new De;function Je(e){return{rl:e,hooks:[],hooksCleanup:[],hooksEffect:[],index:0,handleChange(){}}}function Ye(e,t){let n=Je(e);return qe.run(n,()=>{function e(e){n.handleChange=()=>{n.index=0,e()},n.handleChange()}return t(e)})}function W(){let e=qe.getStore();if(!e)throw new Ge(`[Inquirer] Hook functions can only be called from within a prompt`);return e}function Xe(){return W().rl}function Ze(e){return Oe.bind((...t)=>{let n=W(),r=!1,i=n.handleChange;n.handleChange=()=>{r=!0};let a=e(...t);return r&&i(),n.handleChange=i,a})}function Qe(e){let t=W(),{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 $e(){W().handleChange()}const et={queue(e){let t=W(),{index:n}=t;t.hooksEffect.push(()=>{t.hooksCleanup[n]?.();let r=e(Xe());if(r!=null&&typeof r!=`function`)throw new Ke(`useEffect return value must be a cleanup function or nothing.`);t.hooksCleanup[n]=r})},run(){let e=W();Ze(()=>{e.hooksEffect.forEach(e=>{e()}),e.hooksEffect.length=0})()},clearAll(){let e=W();e.hooksCleanup.forEach(e=>{e?.()}),e.hooksEffect.length=0,e.hooksCleanup.length=0}};function tt(e){return typeof e==`function`}function G(e){return Qe(t=>{let n=Oe.bind(function(e){t.get()!==e&&(t.set(e),$e())});if(t.initialized)return[t.get(),n];let r=tt(e)?e():e;return t.set(r),[r,n]})}function nt(e,t){Qe(n=>{let r=n.get();(!Array.isArray(r)||t.some((e,t)=>!Object.is(e,r[t])))&&et.queue(e),n.set(t)})}function rt(){return B.platform.startsWith(`win`)?!!B.env.CI||!!B.env.WT_SESSION||!!B.env.TERMINUS_SUBLIME||B.env.ConEmuTask===`{cmd::Cmder}`||B.env.TERM_PROGRAM===`Terminus-Sublime`||B.env.TERM_PROGRAM===`vscode`||B.env.TERM===`xterm-256color`||B.env.TERM===`alacritty`||B.env.TERMINAL_EMULATOR===`JetBrains-JediTerm`:B.env.TERM!==`linux`}const it={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:`╱`},at={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:`⅒`},ot={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`},st={...it,...at},ct={...it,...ot},K=rt()?st:ct;Object.entries(at);const lt={prefix:{idle:U(`blue`,`?`),done:U(`green`,K.tick)},spinner:{interval:80,frames:[`⠋`,`⠙`,`⠹`,`⠸`,`⠼`,`⠴`,`⠦`,`⠧`,`⠇`,`⠏`].map(e=>U(`yellow`,e))},keybindings:[],style:{answer:e=>U(`cyan`,e),message:e=>U(`bold`,e),error:e=>U(`red`,`> ${e}`),defaultAnswer:e=>U(`dim`,`(${e})`),help:e=>U(`dim`,e),highlight:e=>U(`cyan`,e),key:e=>U(`cyan`,U(`bold`,`<${e}>`))}};function ut(){return{...lt,keybindings:Fe()}}function dt(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 ft(...e){let t={};for(let n of e)for(let[e,r]of Object.entries(n)){let n=t[e];t[e]=dt(n)&&dt(r)?ft(n,r):r}return t}function pt(...e){return ft(ut(),...e.filter(e=>e!=null))}function mt({status:e=`idle`,theme:t}){let[n,r]=G(!1),[i,a]=G(0),{prefix:o,spinner:s}=pt(t);return nt(()=>{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 ht(e,t){return Qe(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 gt(e){return G({current:e})[0]}function _t(e){let t=gt(e);t.current=e,nt(e=>{let n=!1,r=Ze((r,i)=>{n||t.current(i,e)});return e.input.on(`keypress`,r),()=>{n=!0,e.input.removeListener(`keypress`,r)}},[])}var vt=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 yt=(()=>{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}})(),bt=e=>e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510,xt=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,St=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y,Ct=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,wt=/(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}]){1,1000}/uy,Tt=/\t{1,1000}/y,Et=/[\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,Dt=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,Ot=/\p{M}+/gu,kt={limit:1/0,ellipsis:``},At=(e,t={},n={})=>{let r=t.limit??1/0,i=t.ellipsis??``,a=t?.ellipsisWidth??(i?At(i,kt,n).width:0),o=n.controlWidth??0,s=n.tabWidth??8,c=n.emojiWidth??2,l=n.regularWidth??1,u=n.wideWidth??2,d=[[Dt,l],[St,0],[Ct,o],[Tt,s],[Et,c],[wt,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(Ot,``)){let t=e.codePointAt(0)||0;if(S=bt(t)?2:xt(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===wt?yt(e.slice(p,n.lastIndex)):n===Et?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}},jt={limit:1/0,ellipsis:``,ellipsisWidth:0},q=(e,t={})=>At(e,jt,t).width,Mt=`]8;;`,Nt=RegExp(`(?:\\[(?<code>\\d+)m|\\${Mt}(?<uri>.*))`,`y`),Pt=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},Ft=e=>`[${e}m`,It=e=>`${Mt}${e}`,Lt=(e,t,n)=>{let r=t[Symbol.iterator](),i=!1,a=!1,o=e.at(-1),s=o===void 0?0:q(o),c=r.next(),l=r.next(),u=0;for(;!c.done;){let o=c.value,d=q(o);s+d<=n?e[e.length-1]+=o:(e.push(o),s=0),(o===`\x1B`||o===``)&&(i=!0,a=t.startsWith(Mt,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())},Rt=e=>{let t=e.split(` `),n=t.length;for(;n&&!q(t[n-1]);)n--;return n===t.length?e:t.slice(0,n).join(` `)+t.slice(n).join(``)},zt=(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=q(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=q(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(``),Lt(s,r,t),c=q(s.at(-1)??``);continue}if(c+i>t&&c&&i){if(n.wordWrap===!1&&c<t){Lt(s,r,t),c=q(s.at(-1)??``);continue}s.push(``),c=0}if(c+i>t&&n.wordWrap===!1){Lt(s,r,t),c=q(s.at(-1)??``);continue}s[s.length-1]+=r,c+=i}n.trim!==!1&&(s=s.map(e=>Rt(e)));let l=s.join(`
|
|
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===``){Nt.lastIndex=e+1;let t=Nt.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
|
-
`){a&&(r+=It(``));let e=i?Pt(i):void 0;i&&e&&(r+=Ft(e))}else t===`
|
|
4
|
-
`&&(i&&Pt(i)&&(r+=Ft(i)),a&&(r+=It(a)))}return r},Bt=/\r?\n/;function Vt(e,t,n){return String(e).normalize().split(Bt).map(e=>zt(e,t,n)).join(`
|
|
5
|
-
`)}var Ht=t(vt(),1);function Ut(e,t){return e.split(`
|
|
6
|
-
`).flatMap(e=>Vt(e,t,{trim:!1,wordWrap:!1}).split(`
|
|
7
|
-
`).map(e=>e.trimEnd())).join(`
|
|
8
|
-
`)}function Wt(){return(0,Ht.default)({defaultWidth:80,output:Xe().output})}function Gt({active:e,renderedItems:t,pageSize:n,loop:r}){let i=gt({lastPointer:e,lastActive:void 0}),{lastPointer:a,lastActive:o}=i.current,s=Math.floor(n/2),c=t.reduce((e,t)=>e+t.length,0),l=t.slice(0,e).reduce((e,t)=>e+t.length,0),u=l;if(c>n)if(r)u=a,o!=null&&o<e&&e-o<n&&(u=Math.min(s,Math.abs(e-o)===1?Math.min(a+(t[o]?.length??0),Math.max(l,a)):a+e-o));else{let r=t.slice(e).reduce((e,t)=>e+t.length,0);u=r<n-s?n-r:Math.min(l,s)}return i.current.lastPointer=u,i.current.lastActive=e,u}function Kt({items:e,active:t,renderItem:n,pageSize:r,loop:i=!0}){let a=Wt(),o=t=>(t%e.length+e.length)%e.length,s=e.map((e,r)=>e==null?[]:Ut(n({item:e,index:r,isActive:r===t}),a).split(`
|
|
9
|
-
`)),c=s.reduce((e,t)=>e+t.length,0),l=e=>s[e]??[],u=Gt({active:t,renderedItems:s,pageSize:r,loop:i}),d=l(t).slice(0,r),f=u+d.length<=r?u:r-d.length,p=Array.from({length:r});p.splice(f,d.length,...d);let m=new Set([t]),h=f+d.length,g=o(t+1);for(;h<r&&!m.has(g)&&(i&&c>r?g!==t:g>t);){let e=l(g).slice(0,r-h);p.splice(h,e.length,...e),m.add(g),h+=e.length,g=o(g+1)}for(h=f-1,g=o(t-1);h>=0&&!m.has(g)&&(i&&c>r?g!==t:g<t);){let e=l(g),t=e.slice(Math.max(0,e.length-h-1));p.splice(h-t.length+1,t.length,...t),m.add(g),h-=t.length,g=o(g-1)}return p.filter(e=>typeof e==`string`).join(`
|
|
10
|
-
`)}var qt=n(((t,n)=>{let r=e(`stream`);n.exports=class extends r{#e=null;constructor(e={}){super(e),this.writable=this.readable=!0,this.muted=!1,this.on(`pipe`,this._onpipe),this.replace=e.replace,this._prompt=e.prompt||null,this._hadControl=!1}#t(e,t){return this._dest?this._dest[e]:this._src?this._src[e]:t}#n(e,...t){typeof this._dest?.[e]==`function`&&this._dest[e](...t),typeof this._src?.[e]==`function`&&this._src[e](...t)}get isTTY(){return this.#e===null?this.#t(`isTTY`,!1):this.#e}set isTTY(e){this.#e=e}get rows(){return this.#t(`rows`)}get columns(){return this.#t(`columns`)}mute(){this.muted=!0}unmute(){this.muted=!1}_onpipe(e){this._src=e}pipe(e,t){return this._dest=e,super.pipe(e,t)}pause(){if(this._src)return this._src.pause()}resume(){if(this._src)return this._src.resume()}write(e){if(this.muted){if(!this.replace)return!0;if(e.match(/^\u001b/))return e.indexOf(this._prompt)===0&&(e=e.slice(this._prompt.length),e=e.replace(/./g,this.replace),e=this._prompt+e),this._hadControl=!0,this.emit(`data`,e);this._prompt&&this._hadControl&&e.indexOf(this._prompt)===0&&(this._hadControl=!1,this.emit(`data`,this._prompt),e=e.slice(this._prompt.length)),e=e.toString().replace(/./g,this.replace)}this.emit(`data`,e)}end(e){this.muted&&(e=e&&this.replace?e.toString().replace(/./g,this.replace):null),e&&this.emit(`data`,e),this.emit(`end`)}destroy(...e){return this.#n(`destroy`,...e)}destroySoon(...e){return this.#n(`destroySoon`,...e)}close(...e){return this.#n(`close`,...e)}}}));const Jt=[];Jt.push(`SIGHUP`,`SIGINT`,`SIGTERM`),process.platform!==`win32`&&Jt.push(`SIGALRM`,`SIGABRT`,`SIGVTALRM`,`SIGXCPU`,`SIGXFSZ`,`SIGUSR2`,`SIGTRAP`,`SIGSYS`,`SIGQUIT`,`SIGIOT`),process.platform===`linux`&&Jt.push(`SIGIO`,`SIGPOLL`,`SIGPWR`,`SIGSTKFLT`);const Yt=e=>!!e&&typeof e==`object`&&typeof e.removeListener==`function`&&typeof e.emit==`function`&&typeof e.reallyExit==`function`&&typeof e.listeners==`function`&&typeof e.kill==`function`&&typeof e.pid==`number`&&typeof e.on==`function`,Xt=Symbol.for(`signal-exit emitter`),Zt=globalThis,Qt=Object.defineProperty.bind(Object);var $t=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(Zt[Xt])return Zt[Xt];Qt(Zt,Xt,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(e,t){this.listeners[e].push(t)}removeListener(e,t){let n=this.listeners[e],r=n.indexOf(t);r!==-1&&(r===0&&n.length===1?n.length=0:n.splice(r,1))}emit(e,t,n){if(this.emitted[e])return!1;this.emitted[e]=!0;let r=!1;for(let i of this.listeners[e])r=i(t,n)===!0||r;return e===`exit`&&(r=this.emit(`afterExit`,t,n)||r),r}},en=class{};const tn=e=>({onExit(t,n){return e.onExit(t,n)},load(){return e.load()},unload(){return e.unload()}});var nn=class extends en{onExit(){return()=>{}}load(){}unload(){}},rn=class extends en{#e=an.platform===`win32`?`SIGINT`:`SIGHUP`;#t=new $t;#n;#r;#i;#a={};#o=!1;constructor(e){super(),this.#n=e,this.#a={};for(let t of Jt)this.#a[t]=()=>{let n=this.#n.listeners(t),{count:r}=this.#t,i=e;if(typeof i.__signal_exit_emitter__==`object`&&typeof i.__signal_exit_emitter__.count==`number`&&(r+=i.__signal_exit_emitter__.count),n.length===r){this.unload();let n=this.#t.emit(`exit`,null,t),r=t===`SIGHUP`?this.#e:t;n||e.kill(e.pid,r)}};this.#i=e.reallyExit,this.#r=e.emit}onExit(e,t){if(!Yt(this.#n))return()=>{};this.#o===!1&&this.load();let n=t?.alwaysLast?`afterExit`:`exit`;return this.#t.on(n,e),()=>{this.#t.removeListener(n,e),this.#t.listeners.exit.length===0&&this.#t.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#o){this.#o=!0,this.#t.count+=1;for(let e of Jt)try{let t=this.#a[e];t&&this.#n.on(e,t)}catch{}this.#n.emit=(e,...t)=>this.#c(e,...t),this.#n.reallyExit=e=>this.#s(e)}}unload(){this.#o&&(this.#o=!1,Jt.forEach(e=>{let t=this.#a[e];if(!t)throw Error(`Listener not defined for signal: `+e);try{this.#n.removeListener(e,t)}catch{}}),this.#n.emit=this.#r,this.#n.reallyExit=this.#i,--this.#t.count)}#s(e){return Yt(this.#n)?(this.#n.exitCode=e||0,this.#t.emit(`exit`,this.#n.exitCode,null),this.#i.call(this.#n,this.#n.exitCode)):0}#c(e,...t){let n=this.#r;if(e===`exit`&&Yt(this.#n)){typeof t[0]==`number`&&(this.#n.exitCode=t[0]);let r=n.call(this.#n,e,...t);return this.#t.emit(`exit`,this.#n.exitCode,null),r}else return n.call(this.#n,e,...t)}};const an=globalThis.process,{onExit:on,load:sn,unload:cn}=tn(Yt(an)?new rn(an):new nn),ln=`\x1B[?25l`,un=(e=1)=>e>0?`[${e}A`:``,dn=(e=1)=>e>0?`[${e}B`:``,fn=(e,t)=>typeof t==`number`&&!Number.isNaN(t)?`[${t+1};${e+1}H`:`[${e+1}G`,pn=`\x1B[2K`,mn=e=>e>0?(pn+un(1)).repeat(e-1)+pn+`\x1B[G`:``,hn=e=>e.split(`
|
|
11
|
-
`).length,gn=e=>e.split(`
|
|
12
|
-
`).pop()??``;var _n=class{height=0;extraLinesUnderPrompt=0;cursorPos;rl;constructor(e){this.rl=e,this.cursorPos=e.getCursorPos()}write(e){this.rl.output.unmute(),this.rl.output.write(e),this.rl.output.mute()}render(e,t=``){let n=Ee(gn(e)),r=n;this.rl.line.length>0&&(r=r.slice(0,-this.rl.line.length)),this.rl.setPrompt(r),this.cursorPos=this.rl.getCursorPos();let i=Wt();e=Ut(e,i),t=Ut(t,i),n.length%i===0&&(e+=`
|
|
13
|
-
`);let a=e+(t?`
|
|
14
|
-
`+t:``),o=Math.floor(n.length/i)-this.cursorPos.rows+(t?hn(t):0);o>0&&(a+=un(o)),a+=fn(this.cursorPos.cols),this.write(dn(this.extraLinesUnderPrompt)+mn(this.height)+a),this.extraLinesUnderPrompt=o,this.height=hn(a)}checkCursorPos(){let e=this.rl.getCursorPos();e.cols!==this.cursorPos.cols&&(this.write(fn(e.cols)),this.cursorPos=e)}done({clearContent:e}){this.rl.setPrompt(``);let t=dn(this.extraLinesUnderPrompt);t+=e?mn(this.height):`
|
|
15
|
-
`,t+=`\x1B[G`,t+=`\x1B[?25h`,this.write(t),this.rl.close()}},vn=class extends Promise{static withResolver(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}},yn=t(qt(),1);const bn=globalThis.setImmediate;function xn(){let e=Error.prepareStackTrace,t=[];try{Error.prepareStackTrace=(e,n)=>{let r=n.slice(1);return t=r,r},Error().stack}catch{return t}return Error.prepareStackTrace=e,t}function Sn(e){let t=xn();return(n,r={})=>{let{input:i=process.stdin,signal:a}=r,o=new Set,s=new yn.default;s.pipe(r.output??process.stdout);let c=je.createInterface({terminal:!0,input:i,output:s});s.mute();let l=new _n(c),{promise:u,resolve:d,reject:f}=vn.withResolver(),p=()=>f(new Ue);if(a){let e=()=>f(new He({cause:a.reason}));if(a.aborted)return e(),Object.assign(u,{cancel:p});a.addEventListener(`abort`,e),o.add(()=>a.removeEventListener(`abort`,e))}o.add(on((e,t)=>{f(new We(`User force closed the prompt with ${e} ${t}`))}));let m=()=>f(new We(`User force closed the prompt with SIGINT`));return c.on(`SIGINT`,m),o.add(()=>c.removeListener(`SIGINT`,m)),Ye(c,a=>{let m=Oe.bind(()=>et.clearAll());c.on(`close`,m),o.add(()=>c.removeListener(`close`,m));let h=()=>{let r=()=>l.checkCursorPos();c.input.on(`keypress`,r),o.add(()=>c.input.removeListener(`keypress`,r));let i=null;a(()=>{let r=!1;try{let a=e(n,e=>{r?d(e):i={value:e}});if(a===void 0){let e=t[1]?.getFileName();throw e&&!e.startsWith(`file://`)&&(e=fe.resolve(e)),Error(`Prompt functions must return a string.\n at ${e}`)}let[o,s]=typeof a==`string`?[a]:a;l.render(o,s),et.run()}catch(e){f(e)}if(r=!0,i!==null){let{value:e}=i;i=null,d(e)}})};return`readableFlowing`in i?bn(h):h(),Object.assign(u.then(e=>(et.clearAll(),e),e=>{throw et.clearAll(),e}).finally(()=>{o.forEach(e=>e()),l.done({clearContent:!!r.clearPromptOnDone}),s.end()}).then(()=>u),{cancel:p})})}}var J=class{separator=U(`dim`,Array.from({length:15}).join(K.line));type=`separator`;constructor(e){e&&(this.separator=e)}static isSeparator(e){return!!(e&&typeof e==`object`&&`type`in e&&e.type===`separator`)}};function Cn(e){let t=[`.ok/`,`.okignore`];for(let n of re){let r=k[n];if(r.projectConfigPath&&t.push(Fn(r.projectConfigPath(e),e)),r.projectSkillPath){let n=Fn(r.projectSkillPath(e),e);t.push(`${Ln(n)}/`)}}t.push(`.claude/launch.json`);let n=R(e,...a);if(V(n))try{let e=s(H(n,`utf-8`));if(e)for(let[n,r]of Object.entries(e.skills))for(let e of r.hosts){let r=o[e];r&&t.push(`${r}/${n}/`)}}catch{}return Array.from(new Set(t))}function wn(e,t){let n=On(e,t).tracked;if(n.length>0)return{kind:`refused-tracked`,tracked:n,remediation:kn(n)};let r=An(e);if(r.kind!==`ok`)return r.result;let i=V(r.path)?H(r.path,`utf-8`):``,a=Pn(i),o=[],s=[];for(let e of t)Nn(a,e)?s.push(e):o.push(e);if(o.length===0)return{kind:`updated`,appended:o,alreadyPresent:s,removed:[]};let c=i.length===0||i.endsWith(`
|
|
16
|
-
`)?``:`
|
|
17
|
-
`,l=`${o.join(`
|
|
18
|
-
`)}\n`;try{Ce(r.path,`${i}${c}${l}`,`utf-8`)}catch{return{kind:`no-exclude`,reason:`inaccessible`}}return{kind:`updated`,appended:o,alreadyPresent:s,removed:[]}}function Tn(e,t){let n=An(e);if(n.kind!==`ok`)return n.result;if(!V(n.path))return{kind:`updated`,appended:[],alreadyPresent:[],removed:[]};let r=t.map(e=>Mn(e)),i=new Set;for(let e of r)for(let t of e)i.add(t);let a;try{a=H(n.path,`utf-8`)}catch{return{kind:`no-exclude`,reason:`inaccessible`}}let o=a.split(`
|
|
19
|
-
`),s=new Set,c=[];for(let e of o){let t=e.trim();if(i.has(t)){s.add(t);continue}c.push(e)}let l=t.filter(e=>{for(let t of Mn(e))if(s.has(t))return!0;return!1});if(s.size===0)return{kind:`updated`,appended:[],alreadyPresent:[],removed:[]};let u=c.join(`
|
|
20
|
-
`);if(u!==a)try{Ce(n.path,u,`utf-8`)}catch{return{kind:`no-exclude`,reason:`inaccessible`}}return{kind:`updated`,appended:[],alreadyPresent:[],removed:l}}function En(e){let t=An(e);if(t.kind!==`ok`)return t.result.reason===`no-git`||t.result.reason===`malformed-pointer`||t.result.reason===`inaccessible`?`no-git`:`shared`;if(!V(t.path))return`shared`;let n;try{n=H(t.path,`utf-8`)}catch{return`shared`}let r=Pn(n),i=Cn(e);for(let e of i)if(Nn(r,e))return`local-only`;return`shared`}function Dn(e){let t=An(e);if(t.kind!==`ok`||!V(t.path))return[];let n;try{n=H(t.path,`utf-8`)}catch{return[]}let r=Pn(n);return Cn(e).filter(e=>Nn(r,e))}function On(e,t){let n=[];for(let r of t)if(V(me(e,r)))try{de(`git`,[`ls-files`,`--error-unmatch`,`--`,r],{cwd:e,stdio:[`ignore`,`ignore`,`ignore`]}),n.push(r)}catch{}return{tracked:n}}function kn(e){let t=[];t.push(`Cannot switch OpenKnowledge to local-only — these OK files are tracked upstream:`),t.push(``);for(let n of e)t.push(` ${n}`);t.push(``),t.push(`.git/info/exclude only hides files that git isn't already tracking. To proceed, untrack them first:`),t.push(``);for(let n of e){let e=n.replace(/\/$/,``),r=n.endsWith(`/`)?`-r `:``;t.push(` git rm --cached ${r}${e}`)}return t.push(``),t.push("Then re-run the command. Note: `git rm --cached` removes the files from the index — your teammates will see a deletion on their next pull. If you don't want that, leave sharing mode set to 'shared'."),t.join(`
|
|
21
|
-
`)}function An(e){let t=v(e);switch(t.kind){case`directory`:case`linked`:{let e=R(jn(t.path),`info`);return V(e)?{kind:`ok`,path:R(e,`exclude`)}:{kind:`no-exclude`,result:{kind:`no-exclude`,reason:`no-info-dir`}}}case`absent`:return{kind:`no-exclude`,result:{kind:`no-exclude`,reason:`no-git`}};case`malformed-pointer`:return{kind:`no-exclude`,result:{kind:`no-exclude`,reason:`malformed-pointer`}};case`inaccessible`:return{kind:`no-exclude`,result:{kind:`no-exclude`,reason:`inaccessible`}}}}function jn(e){let t=R(e,`commondir`);if(!V(t))return e;let n;try{n=H(t,`utf-8`).trim()}catch{return e}return n.length===0?e:pe(n)?n:me(e,n)}function Mn(e){let t=e.replace(/\/$/,``);return new Set([e,t,`/${e}`,`/${t}`])}function Nn(e,t){for(let n of Mn(t))if(e.has(n))return!0;return!1}function Pn(e){let t=new Set;for(let n of e.split(`
|
|
22
|
-
`)){let e=n.trim();e.length!==0&&t.add(e)}return t}function Fn(e,t){return In(z(t,e))}function In(e){return he===`/`?e:e.split(he).join(`/`)}function Ln(e){let t=e.lastIndexOf(`/`);return t<0?`.`:e.slice(0,t)}function Rn(e,t=!1){let n=e.length,r=0,i=``,a=0,o=16,s=0,c=0,l=0,u=0,d=0;function f(t,n){let i=0,a=0;for(;i<t||!n;){let t=e.charCodeAt(r);if(t>=48&&t<=57)a=a*16+t-48;else if(t>=65&&t<=70)a=a*16+t-65+10;else if(t>=97&&t<=102)a=a*16+t-97+10;else break;r++,i++}return i<t&&(a=-1),a}function p(e){r=e,i=``,a=0,o=16,d=0}function m(){let t=r;if(e.charCodeAt(r)===48)r++;else for(r++;r<e.length&&Vn(e.charCodeAt(r));)r++;if(r<e.length&&e.charCodeAt(r)===46)if(r++,r<e.length&&Vn(e.charCodeAt(r)))for(r++;r<e.length&&Vn(e.charCodeAt(r));)r++;else return d=3,e.substring(t,r);let n=r;if(r<e.length&&(e.charCodeAt(r)===69||e.charCodeAt(r)===101))if(r++,(r<e.length&&e.charCodeAt(r)===43||e.charCodeAt(r)===45)&&r++,r<e.length&&Vn(e.charCodeAt(r))){for(r++;r<e.length&&Vn(e.charCodeAt(r));)r++;n=r}else d=3;return e.substring(t,n)}function h(){let t=``,i=r;for(;;){if(r>=n){t+=e.substring(i,r),d=2;break}let a=e.charCodeAt(r);if(a===34){t+=e.substring(i,r),r++;break}if(a===92){if(t+=e.substring(i,r),r++,r>=n){d=2;break}switch(e.charCodeAt(r++)){case 34:t+=`"`;break;case 92:t+=`\\`;break;case 47:t+=`/`;break;case 98:t+=`\b`;break;case 102:t+=`\f`;break;case 110:t+=`
|
|
23
|
-
`;break;case 114:t+=`\r`;break;case 116:t+=` `;break;case 117:let e=f(4,!0);e>=0?t+=String.fromCharCode(e):d=4;break;default:d=5}i=r;continue}if(a>=0&&a<=31)if(Bn(a)){t+=e.substring(i,r),d=2;break}else d=6;r++}return t}function g(){if(i=``,d=0,a=r,c=s,u=l,r>=n)return a=n,o=17;let t=e.charCodeAt(r);if(zn(t)){do r++,i+=String.fromCharCode(t),t=e.charCodeAt(r);while(zn(t));return o=15}if(Bn(t))return r++,i+=String.fromCharCode(t),t===13&&e.charCodeAt(r)===10&&(r++,i+=`
|
|
24
|
-
`),s++,l=r,o=14;switch(t){case 123:return r++,o=1;case 125:return r++,o=2;case 91:return r++,o=3;case 93:return r++,o=4;case 58:return r++,o=6;case 44:return r++,o=5;case 34:return r++,i=h(),o=10;case 47:let c=r-1;if(e.charCodeAt(r+1)===47){for(r+=2;r<n&&!Bn(e.charCodeAt(r));)r++;return i=e.substring(c,r),o=12}if(e.charCodeAt(r+1)===42){r+=2;let t=n-1,a=!1;for(;r<t;){let t=e.charCodeAt(r);if(t===42&&e.charCodeAt(r+1)===47){r+=2,a=!0;break}r++,Bn(t)&&(t===13&&e.charCodeAt(r)===10&&r++,s++,l=r)}return a||(r++,d=1),i=e.substring(c,r),o=13}return i+=String.fromCharCode(t),r++,o=16;case 45:if(i+=String.fromCharCode(t),r++,r===n||!Vn(e.charCodeAt(r)))return o=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return i+=m(),o=11;default:for(;r<n&&_(t);)r++,t=e.charCodeAt(r);if(a!==r){switch(i=e.substring(a,r),i){case`true`:return o=8;case`false`:return o=9;case`null`:return o=7}return o=16}return i+=String.fromCharCode(t),r++,o=16}}function _(e){if(zn(e)||Bn(e))return!1;switch(e){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}function v(){let e;do e=g();while(e>=12&&e<=15);return e}return{setPosition:p,getPosition:()=>r,scan:t?v:g,getToken:()=>o,getTokenValue:()=>i,getTokenOffset:()=>a,getTokenLength:()=>r-a,getTokenStartLine:()=>c,getTokenStartCharacter:()=>a-u,getTokenError:()=>d}}function zn(e){return e===32||e===9}function Bn(e){return e===10||e===13}function Vn(e){return e>=48&&e<=57}var Hn;(function(e){e[e.lineFeed=10]=`lineFeed`,e[e.carriageReturn=13]=`carriageReturn`,e[e.space=32]=`space`,e[e._0=48]=`_0`,e[e._1=49]=`_1`,e[e._2=50]=`_2`,e[e._3=51]=`_3`,e[e._4=52]=`_4`,e[e._5=53]=`_5`,e[e._6=54]=`_6`,e[e._7=55]=`_7`,e[e._8=56]=`_8`,e[e._9=57]=`_9`,e[e.a=97]=`a`,e[e.b=98]=`b`,e[e.c=99]=`c`,e[e.d=100]=`d`,e[e.e=101]=`e`,e[e.f=102]=`f`,e[e.g=103]=`g`,e[e.h=104]=`h`,e[e.i=105]=`i`,e[e.j=106]=`j`,e[e.k=107]=`k`,e[e.l=108]=`l`,e[e.m=109]=`m`,e[e.n=110]=`n`,e[e.o=111]=`o`,e[e.p=112]=`p`,e[e.q=113]=`q`,e[e.r=114]=`r`,e[e.s=115]=`s`,e[e.t=116]=`t`,e[e.u=117]=`u`,e[e.v=118]=`v`,e[e.w=119]=`w`,e[e.x=120]=`x`,e[e.y=121]=`y`,e[e.z=122]=`z`,e[e.A=65]=`A`,e[e.B=66]=`B`,e[e.C=67]=`C`,e[e.D=68]=`D`,e[e.E=69]=`E`,e[e.F=70]=`F`,e[e.G=71]=`G`,e[e.H=72]=`H`,e[e.I=73]=`I`,e[e.J=74]=`J`,e[e.K=75]=`K`,e[e.L=76]=`L`,e[e.M=77]=`M`,e[e.N=78]=`N`,e[e.O=79]=`O`,e[e.P=80]=`P`,e[e.Q=81]=`Q`,e[e.R=82]=`R`,e[e.S=83]=`S`,e[e.T=84]=`T`,e[e.U=85]=`U`,e[e.V=86]=`V`,e[e.W=87]=`W`,e[e.X=88]=`X`,e[e.Y=89]=`Y`,e[e.Z=90]=`Z`,e[e.asterisk=42]=`asterisk`,e[e.backslash=92]=`backslash`,e[e.closeBrace=125]=`closeBrace`,e[e.closeBracket=93]=`closeBracket`,e[e.colon=58]=`colon`,e[e.comma=44]=`comma`,e[e.dot=46]=`dot`,e[e.doubleQuote=34]=`doubleQuote`,e[e.minus=45]=`minus`,e[e.openBrace=123]=`openBrace`,e[e.openBracket=91]=`openBracket`,e[e.plus=43]=`plus`,e[e.slash=47]=`slash`,e[e.formFeed=12]=`formFeed`,e[e.tab=9]=`tab`})(Hn||={});const Y=Array(20).fill(0).map((e,t)=>` `.repeat(t)),Un={" ":{"\n":Array(200).fill(0).map((e,t)=>`
|
|
25
|
-
`+` `.repeat(t)),"\r":Array(200).fill(0).map((e,t)=>`\r`+` `.repeat(t)),"\r\n":Array(200).fill(0).map((e,t)=>`\r
|
|
26
|
-
`+` `.repeat(t))}," ":{"\n":Array(200).fill(0).map((e,t)=>`
|
|
27
|
-
`+` `.repeat(t)),"\r":Array(200).fill(0).map((e,t)=>`\r`+` `.repeat(t)),"\r\n":Array(200).fill(0).map((e,t)=>`\r
|
|
28
|
-
`+` `.repeat(t))}},Wn=[`
|
|
29
|
-
`,`\r`,`\r
|
|
30
|
-
`];function Gn(e,t,n){let r,i,a,o,s;if(t){for(o=t.offset,s=o+t.length,a=o;a>0&&!Yn(e,a-1);)a--;let c=s;for(;c<e.length&&!Yn(e,c);)c++;i=e.substring(a,c),r=qn(i,n)}else i=e,r=0,a=0,o=0,s=e.length;let c=Jn(n,e),l=Wn.includes(c),u=0,d=0,f;f=n.insertSpaces?Y[n.tabSize||4]??Kn(Y[1],n.tabSize||4):` `;let p=f===` `?` `:` `,m=Rn(i,!1),h=!1;function g(){if(u>1)return Kn(c,u)+Kn(f,r+d);let e=f.length*(r+d);return!l||e>Un[p][c].length?c+Kn(f,r+d):e<=0?c:Un[p][c][e]}function _(){let e=m.scan();for(u=0;e===15||e===14;)e===14&&n.keepLines?u+=1:e===14&&(u=1),e=m.scan();return h=e===16||m.getTokenError()!==0,e}let v=[];function y(n,r,i){!h&&(!t||r<s&&i>o)&&e.substring(r,i)!==n&&v.push({offset:r,length:i-r,content:n})}let b=_();if(n.keepLines&&u>0&&y(Kn(c,u),0,0),b!==17){let e=m.getTokenOffset()+a;y(f.length*r<20&&n.insertSpaces?Y[f.length*r]:Kn(f,r),a,e)}for(;b!==17;){let e=m.getTokenOffset()+m.getTokenLength()+a,t=_(),r=``,i=!1;for(;u===0&&(t===12||t===13);){let n=m.getTokenOffset()+a;y(Y[1],e,n),e=m.getTokenOffset()+m.getTokenLength()+a,i=t===12,r=i?g():``,t=_()}if(t===2)b!==1&&d--,n.keepLines&&u>0||!n.keepLines&&b!==1?r=g():n.keepLines&&(r=Y[1]);else if(t===4)b!==3&&d--,n.keepLines&&u>0||!n.keepLines&&b!==3?r=g():n.keepLines&&(r=Y[1]);else{switch(b){case 3:case 1:d++,r=n.keepLines&&u>0||!n.keepLines?g():Y[1];break;case 5:r=n.keepLines&&u>0||!n.keepLines?g():Y[1];break;case 12:r=g();break;case 13:u>0?r=g():i||(r=Y[1]);break;case 6:n.keepLines&&u>0?r=g():i||(r=Y[1]);break;case 10:n.keepLines&&u>0?r=g():t===6&&!i&&(r=``);break;case 7:case 8:case 9:case 11:case 2:case 4:n.keepLines&&u>0?r=g():(t===12||t===13)&&!i?r=Y[1]:t!==5&&t!==17&&(h=!0);break;case 16:h=!0;break}u>0&&(t===12||t===13)&&(r=g())}t===17&&(r=n.keepLines&&u>0?g():n.insertFinalNewline?c:``);let o=m.getTokenOffset()+a;y(r,e,o),b=t}return v}function Kn(e,t){let n=``;for(let r=0;r<t;r++)n+=e;return n}function qn(e,t){let n=0,r=0,i=t.tabSize||4;for(;n<e.length;){let t=e.charAt(n);if(t===Y[1])r++;else if(t===` `)r+=i;else break;n++}return Math.floor(r/i)}function Jn(e,t){for(let e=0;e<t.length;e++){let n=t.charAt(e);if(n===`\r`)return e+1<t.length&&t.charAt(e+1)===`
|
|
31
|
-
`?`\r
|
|
32
|
-
`:`\r`;if(n===`
|
|
33
|
-
`)return`
|
|
34
|
-
`}return e&&e.eol||`
|
|
35
|
-
`}function Yn(e,t){return`\r
|
|
36
|
-
`.indexOf(e.charAt(t))!==-1}var Xn;(function(e){e.DEFAULT={allowTrailingComma:!1}})(Xn||={});function Zn(e,t=[],n=Xn.DEFAULT){let r={type:`array`,offset:-1,length:-1,children:[],parent:void 0};function i(e){r.type===`property`&&(r.length=e-r.offset,r=r.parent)}function a(e){return r.children.push(e),e}rr(e,{onObjectBegin:e=>{r=a({type:`object`,offset:e,length:-1,parent:r,children:[]})},onObjectProperty:(e,t,n)=>{r=a({type:`property`,offset:t,length:-1,parent:r,children:[]}),r.children.push({type:`string`,value:e,offset:t,length:n,parent:r})},onObjectEnd:(e,t)=>{i(e+t),r.length=e+t-r.offset,r=r.parent,i(e+t)},onArrayBegin:(e,t)=>{r=a({type:`array`,offset:e,length:-1,parent:r,children:[]})},onArrayEnd:(e,t)=>{r.length=e+t-r.offset,r=r.parent,i(e+t)},onLiteralValue:(e,t,n)=>{a({type:ir(e),offset:t,length:n,parent:r,value:e}),i(t+n)},onSeparator:(e,t,n)=>{r.type===`property`&&(e===`:`?r.colonOffset=t:e===`,`&&i(t))},onError:(e,n,r)=>{t.push({error:e,offset:n,length:r})}},n);let o=r.children[0];return o&&delete o.parent,o}function Qn(e,t){if(!e)return;let n=e;for(let e of t)if(typeof e==`string`){if(n.type!==`object`||!Array.isArray(n.children))return;let t=!1;for(let r of n.children)if(Array.isArray(r.children)&&r.children[0].value===e&&r.children.length===2){n=r.children[1],t=!0;break}if(!t)return}else{let t=e;if(n.type!==`array`||t<0||!Array.isArray(n.children)||t>=n.children.length)return;n=n.children[t]}return n}function $n(e){if(!e.parent||!e.parent.children)return[];let t=$n(e.parent);if(e.parent.type===`property`){let n=e.parent.children[0].value;t.push(n)}else if(e.parent.type===`array`){let n=e.parent.children.indexOf(e);n!==-1&&t.push(n)}return t}function er(e){switch(e.type){case`array`:return e.children.map(er);case`object`:let t=Object.create(null);for(let n of e.children){let e=n.children[1];e&&(t[n.children[0].value]=er(e))}return t;case`null`:case`string`:case`number`:case`boolean`:return e.value;default:return}}function tr(e,t,n=!1){return t>=e.offset&&t<e.offset+e.length||n&&t===e.offset+e.length}function nr(e,t,n=!1){if(tr(e,t,n)){let r=e.children;if(Array.isArray(r))for(let e=0;e<r.length&&r[e].offset<=t;e++){let i=nr(r[e],t,n);if(i)return i}return e}}function rr(e,t,n=Xn.DEFAULT){let r=Rn(e,!1),i=[],a=0;function o(e){return e?()=>a===0&&e(r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter()):()=>!0}function s(e){return e?t=>a===0&&e(t,r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter()):()=>!0}function c(e){return e?t=>a===0&&e(t,r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter(),()=>i.slice()):()=>!0}function l(e){return e?()=>{a>0?a++:e(r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter(),()=>i.slice())===!1&&(a=1)}:()=>!0}function u(e){return e?()=>{a>0&&a--,a===0&&e(r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter())}:()=>!0}let d=l(t.onObjectBegin),f=c(t.onObjectProperty),p=u(t.onObjectEnd),m=l(t.onArrayBegin),h=u(t.onArrayEnd),g=c(t.onLiteralValue),_=s(t.onSeparator),v=o(t.onComment),y=s(t.onError),b=n&&n.disallowComments,x=n&&n.allowTrailingComma;function S(){for(;;){let e=r.scan();switch(r.getTokenError()){case 4:C(14);break;case 5:C(15);break;case 3:C(13);break;case 1:b||C(11);break;case 2:C(12);break;case 6:C(16);break}switch(e){case 12:case 13:b?C(10):v();break;case 16:C(1);break;case 15:case 14:break;default:return e}}}function C(e,t=[],n=[]){if(y(e),t.length+n.length>0){let e=r.getToken();for(;e!==17;){if(t.indexOf(e)!==-1){S();break}else if(n.indexOf(e)!==-1)break;e=S()}}}function w(e){let t=r.getTokenValue();return e?g(t):(f(t),i.push(t)),S(),!0}function T(){switch(r.getToken()){case 11:let e=r.getTokenValue(),t=Number(e);isNaN(t)&&(C(2),t=0),g(t);break;case 7:g(null);break;case 8:g(!0);break;case 9:g(!1);break;default:return!1}return S(),!0}function ee(){return r.getToken()===10?(w(!1),r.getToken()===6?(_(`:`),S(),D()||C(4,[],[2,5])):C(5,[],[2,5]),i.pop(),!0):(C(3,[],[2,5]),!1)}function E(){d(),S();let e=!1;for(;r.getToken()!==2&&r.getToken()!==17;){if(r.getToken()===5){if(e||C(4,[],[]),_(`,`),S(),r.getToken()===2&&x)break}else e&&C(6,[],[]);ee()||C(4,[],[2,5]),e=!0}return p(),r.getToken()===2?S():C(7,[2],[]),!0}function te(){m(),S();let e=!0,t=!1;for(;r.getToken()!==4&&r.getToken()!==17;){if(r.getToken()===5){if(t||C(4,[],[]),_(`,`),S(),r.getToken()===4&&x)break}else t&&C(6,[],[]);e?(i.push(0),e=!1):i[i.length-1]++,D()||C(4,[],[4,5]),t=!0}return h(),e||i.pop(),r.getToken()===4?S():C(8,[4],[]),!0}function D(){switch(r.getToken()){case 3:return te();case 1:return E();case 10:return w(!0);default:return T()}}return S(),r.getToken()===17?n.allowEmptyContent?!0:(C(4,[],[]),!1):D()?(r.getToken()!==17&&C(9,[],[]),!0):(C(4,[],[]),!1)}function ir(e){switch(typeof e){case`boolean`:return`boolean`;case`number`:return`number`;case`string`:return`string`;case`object`:return e?Array.isArray(e)?`array`:`object`:`null`;default:return`null`}}function ar(e,t,n,r){let i=t.slice(),a=Zn(e,[]),o,s;for(;i.length>0&&(s=i.pop(),o=Qn(a,i),o===void 0&&n!==void 0);)n=typeof s==`string`?{[s]:n}:[n];if(!o){if(n===void 0)throw Error(`Can not delete in empty document`);return X(e,{offset:a?a.offset:0,length:a?a.length:0,content:JSON.stringify(n)},r)}else if(o.type===`object`&&typeof s==`string`&&Array.isArray(o.children)){let t=Qn(o,[s]);if(t!==void 0)if(n===void 0){if(!t.parent)throw Error(`Malformed AST`);let n=o.children.indexOf(t.parent),i,a=t.parent.offset+t.parent.length;if(n>0){let e=o.children[n-1];i=e.offset+e.length}else i=o.offset+1,o.children.length>1&&(a=o.children[1].offset);return X(e,{offset:i,length:a-i,content:``},r)}else return X(e,{offset:t.offset,length:t.length,content:JSON.stringify(n)},r);else{if(n===void 0)return[];let t=`${JSON.stringify(s)}: ${JSON.stringify(n)}`,i=r.getInsertionIndex?r.getInsertionIndex(o.children.map(e=>e.children[0].value)):o.children.length,a;if(i>0){let e=o.children[i-1];a={offset:e.offset+e.length,length:0,content:`,`+t}}else a=o.children.length===0?{offset:o.offset+1,length:0,content:t}:{offset:o.offset+1,length:0,content:t+`,`};return X(e,a,r)}}else if(o.type===`array`&&typeof s==`number`&&Array.isArray(o.children)){let t=s;if(t===-1){let t=`${JSON.stringify(n)}`,i;if(o.children.length===0)i={offset:o.offset+1,length:0,content:t};else{let e=o.children[o.children.length-1];i={offset:e.offset+e.length,length:0,content:`,`+t}}return X(e,i,r)}else if(n===void 0&&o.children.length>=0){let t=s,n=o.children[t],i;if(o.children.length===1)i={offset:o.offset+1,length:o.length-2,content:``};else if(o.children.length-1===t){let e=o.children[t-1],n=e.offset+e.length;i={offset:n,length:o.offset+o.length-2-n,content:``}}else i={offset:n.offset,length:o.children[t+1].offset-n.offset,content:``};return X(e,i,r)}else if(n!==void 0){let t,i=`${JSON.stringify(n)}`;if(!r.isArrayInsertion&&o.children.length>s){let e=o.children[s];t={offset:e.offset,length:e.length,content:i}}else if(o.children.length===0||s===0)t={offset:o.offset+1,length:0,content:o.children.length===0?i:i+`,`};else{let e=s>o.children.length?o.children.length:s,n=o.children[e-1];t={offset:n.offset+n.length,length:0,content:`,`+i}}return X(e,t,r)}else throw Error(`Can not ${n===void 0?`remove`:r.isArrayInsertion?`insert`:`modify`} Array index ${t} as length is not sufficient`)}else throw Error(`Can not add ${typeof s==`number`?`property`:`index`} to parent of type ${o.type}`)}function X(e,t,n){if(!n.formattingOptions)return[t];let r=or(e,t),i=t.offset,a=t.offset+t.content.length;if(t.length===0||t.content.length===0){for(;i>0&&!Yn(r,i-1);)i--;for(;a<r.length&&!Yn(r,a);)a++}let o=Gn(r,{offset:i,length:a-i},{...n.formattingOptions,keepLines:!1});for(let e=o.length-1;e>=0;e--){let t=o[e];r=or(r,t),i=Math.min(i,t.offset),a=Math.max(a,t.offset+t.length),a+=t.content.length-t.length}let s=e.length-(r.length-a)-i;return[{offset:i,length:s,content:r.substring(i,a)}]}function or(e,t){return e.substring(0,t.offset)+t.content+e.substring(t.offset+t.length)}var sr;(function(e){e[e.None=0]=`None`,e[e.UnexpectedEndOfComment=1]=`UnexpectedEndOfComment`,e[e.UnexpectedEndOfString=2]=`UnexpectedEndOfString`,e[e.UnexpectedEndOfNumber=3]=`UnexpectedEndOfNumber`,e[e.InvalidUnicode=4]=`InvalidUnicode`,e[e.InvalidEscapeCharacter=5]=`InvalidEscapeCharacter`,e[e.InvalidCharacter=6]=`InvalidCharacter`})(sr||={});var cr;(function(e){e[e.OpenBraceToken=1]=`OpenBraceToken`,e[e.CloseBraceToken=2]=`CloseBraceToken`,e[e.OpenBracketToken=3]=`OpenBracketToken`,e[e.CloseBracketToken=4]=`CloseBracketToken`,e[e.CommaToken=5]=`CommaToken`,e[e.ColonToken=6]=`ColonToken`,e[e.NullKeyword=7]=`NullKeyword`,e[e.TrueKeyword=8]=`TrueKeyword`,e[e.FalseKeyword=9]=`FalseKeyword`,e[e.StringLiteral=10]=`StringLiteral`,e[e.NumericLiteral=11]=`NumericLiteral`,e[e.LineCommentTrivia=12]=`LineCommentTrivia`,e[e.BlockCommentTrivia=13]=`BlockCommentTrivia`,e[e.LineBreakTrivia=14]=`LineBreakTrivia`,e[e.Trivia=15]=`Trivia`,e[e.Unknown=16]=`Unknown`,e[e.EOF=17]=`EOF`})(cr||={});const lr=Zn,ur=er;var dr;(function(e){e[e.InvalidSymbol=1]=`InvalidSymbol`,e[e.InvalidNumberFormat=2]=`InvalidNumberFormat`,e[e.PropertyNameExpected=3]=`PropertyNameExpected`,e[e.ValueExpected=4]=`ValueExpected`,e[e.ColonExpected=5]=`ColonExpected`,e[e.CommaExpected=6]=`CommaExpected`,e[e.CloseBraceExpected=7]=`CloseBraceExpected`,e[e.CloseBracketExpected=8]=`CloseBracketExpected`,e[e.EndOfFileExpected=9]=`EndOfFileExpected`,e[e.InvalidCommentToken=10]=`InvalidCommentToken`,e[e.UnexpectedEndOfComment=11]=`UnexpectedEndOfComment`,e[e.UnexpectedEndOfString=12]=`UnexpectedEndOfString`,e[e.UnexpectedEndOfNumber=13]=`UnexpectedEndOfNumber`,e[e.InvalidUnicode=14]=`InvalidUnicode`,e[e.InvalidEscapeCharacter=15]=`InvalidEscapeCharacter`,e[e.InvalidCharacter=16]=`InvalidCharacter`})(dr||={});function fr(e,t,n,r){return ar(e,t,n,r)}function pr(e,t){let n=t.slice(0).sort((e,t)=>{let n=e.offset-t.offset;return n===0?e.length-t.length:n}),r=e.length;for(let t=n.length-1;t>=0;t--){let i=n[t];if(i.offset+i.length<=r)e=or(e,i);else throw Error(`Overlapping edit`);r=i.offset}return e}function mr(e){for(let t of e.split(`
|
|
37
|
-
`)){let e=t.trimStart();if(!(e.length===0||e.length===t.length))return t.charCodeAt(0)===9?{insertSpaces:!1,tabSize:1}:{insertSpaces:!0,tabSize:t.length-e.length}}return{insertSpaces:!0,tabSize:2}}function hr(e){let t=(e.match(/\r\n/g)??[]).length;return t===0?!1:t>=(e.match(/\n/g)??[]).length-t}function gr(e){try{return Se(e).mode&511}catch{return}}function _r(e,t){let n=e.charCodeAt(0)===65279,r=n?e.slice(1):e,i=r.includes(`\r
|
|
38
|
-
`)?`\r
|
|
39
|
-
`:`
|
|
40
|
-
`,a=fr(r,t,void 0,{formattingOptions:{...mr(r),eol:i}});if(a.length===0)return{text:e,changed:!1};let o=`${n?``:``}${pr(r,a)}`;return{text:o,changed:o!==e}}const vr={icon:{checked:U(`green`,K.circleFilled),unchecked:K.circle,cursor:K.pointer,disabledChecked:U(`green`,K.circleDouble),disabledUnchecked:`-`},style:{disabled:e=>U(`dim`,e),renderSelectedChoices:e=>e.map(e=>e.short).join(`, `),description:e=>U(`cyan`,e),keysHelpTip:e=>e.map(([e,t])=>`${U(`bold`,e)} ${U(`dim`,t)}`).join(U(`dim`,` • `))},i18n:{disabledError:`This option is disabled and cannot be toggled.`}};function yr(e){return!J.isSeparator(e)&&!e.disabled}function br(e){return!J.isSeparator(e)}function xr(e){return!J.isSeparator(e)&&e.checked}function Sr(e){return yr(e)?{...e,checked:!e.checked}:e}function Cr(e){return function(t){return yr(t)?{...t,checked:e}:t}}function wr(e){return e.map(e=>{if(J.isSeparator(e))return e;if(typeof e!=`object`||!e||!(`value`in e)){let t=String(e);return{value:e,name:t,short:t,checkedName:t,disabled:!1,checked:!1}}let t=e.name??String(e.value),n={value:e.value,name:t,short:e.short??t,checkedName:e.checkedName??t,disabled:e.disabled??!1,checked:e.checked??!1};return e.description&&(n.description=e.description),n})}var Tr=Sn((e,t)=>{let{pageSize:n=7,loop:r=!0,required:i,validate:a=()=>!0}=e,o={all:`a`,invert:`i`,...e.shortcuts},s=pt(vr,e.theme),{keybindings:c}=s,[l,u]=G(`idle`),d=mt({status:l,theme:s}),[f,p]=G(wr(e.choices)),m=ht(()=>{let e=f.findIndex(br),t=f.findLastIndex(br);if(e===-1)throw new Ke(`[checkbox prompt] No selectable choices. All choices are disabled.`);return{first:e,last:t}},[f]),[h,g]=G(m.first),[_,v]=G();_t(async e=>{if(Ve(e)){let e=f.filter(xr),n=await a([...e]);i&&!e.length?v(`At least one choice must be selected`):n===!0?(u(`done`),t(e.map(e=>e.value))):v(n||`You must select a valid value`)}else if(Ie(e,c)||Le(e,c)){if(_&&v(void 0),r||Ie(e,c)&&h!==m.first||Le(e,c)&&h!==m.last){let t=Ie(e,c)?-1:1,n=h;do n=(n+t+f.length)%f.length;while(!br(f[n]));g(n)}}else if(Re(e)){let e=f[h];e&&!J.isSeparator(e)&&(e.disabled?v(s.i18n.disabledError):(v(void 0),p(f.map((e,t)=>t===h?Sr(e):e))))}else if(e.name===o.all){let e=f.some(e=>yr(e)&&!e.checked);p(f.map(Cr(e)))}else if(e.name===o.invert)p(f.map(Sr));else if(Be(e)){let t=Number(e.name)-1,n=-1,r=f.findIndex(e=>J.isSeparator(e)?!1:(n++,n===t)),i=f[r];i&&yr(i)&&(g(r),p(f.map((e,t)=>t===r?Sr(e):e)))}});let y=s.style.message(e.message,l),b,x=Kt({items:f,active:h,renderItem({item:e,isActive:t}){if(J.isSeparator(e))return` ${e.separator}`;let n=t?s.icon.cursor:` `;if(e.disabled){let t=typeof e.disabled==`string`?e.disabled:`(disabled)`,r=e.checked?s.icon.disabledChecked:s.icon.disabledUnchecked;return s.style.disabled(`${n}${r} ${e.name} ${t}`)}t&&(b=e.description);let r=e.checked?s.icon.checked:s.icon.unchecked,i=e.checked?e.checkedName:e.name;return(t?s.style.highlight:e=>e)(`${n}${r} ${i}`)},pageSize:n,loop:r});if(l===`done`){let e=f.filter(xr);return[d,y,s.style.answer(s.style.renderSelectedChoices(e,f))].filter(Boolean).join(` `)}let S=[[`↑↓`,`navigate`],[`space`,`select`]];o.all&&S.push([o.all,`all`]),o.invert&&S.push([o.invert,`invert`]),S.push([`⏎`,`submit`]);let C=s.style.keysHelpTip(S);return`${[[d,y].filter(Boolean).join(` `),x,` `,b?s.style.description(b):``,_?s.style.error(_):``,C].filter(Boolean).join(`
|
|
41
|
-
`).trimEnd()}${ln}`});const Er={icon:{cursor:K.pointer},style:{disabled:e=>U(`dim`,e),description:e=>U(`cyan`,e),keysHelpTip:e=>e.map(([e,t])=>`${U(`bold`,e)} ${U(`dim`,t)}`).join(U(`dim`,` • `))},i18n:{disabledError:`This option is disabled and cannot be selected.`},indexMode:`hidden`};function Dr(e){return!J.isSeparator(e)&&!e.disabled}function Or(e){return!J.isSeparator(e)}function kr(e){return e.map(e=>{if(J.isSeparator(e))return e;if(typeof e!=`object`||!e||!(`value`in e)){let t=String(e);return{value:e,name:t,short:t,disabled:!1}}let t=e.name??String(e.value),n={value:e.value,name:t,short:e.short??t,disabled:e.disabled??!1};return e.description&&(n.description=e.description),n})}var Ar=Sn((e,t)=>{let{loop:n=!0,pageSize:r=7}=e,i=pt(Er,e.theme),{keybindings:a}=i,[o,s]=G(`idle`),c=mt({status:o,theme:i}),l=gt(),u=!a.includes(`vim`),d=ht(()=>kr(e.choices),[e.choices]),f=ht(()=>{let e=d.findIndex(Or),t=d.findLastIndex(Or);if(e===-1)throw new Ke(`[select prompt] No selectable choices. All choices are disabled.`);return{first:e,last:t}},[d]),p=ht(()=>`default`in e?d.findIndex(t=>Dr(t)&&t.value===e.default):-1,[e.default,d]),[m,h]=G(p===-1?f.first:p),g=d[m];if(g==null||J.isSeparator(g))throw Error(`Active index does not point to a choice`);let[_,v]=G();_t((e,r)=>{if(clearTimeout(l.current),_&&v(void 0),Ve(e))g.disabled?v(i.i18n.disabledError):(s(`done`),t(g.value));else if(Ie(e,a)||Le(e,a)){if(r.clearLine(0),n||Ie(e,a)&&m!==f.first||Le(e,a)&&m!==f.last){let t=Ie(e,a)?-1:1,n=m;do n=(n+t+d.length)%d.length;while(!Or(d[n]));h(n)}}else if(Be(e)&&!Number.isNaN(Number(r.line))){let e=Number(r.line)-1,t=-1,n=d.findIndex(n=>J.isSeparator(n)?!1:(t++,t===e)),i=d[n];i!=null&&Dr(i)&&h(n),l.current=setTimeout(()=>{r.clearLine(0)},700)}else if(ze(e))r.clearLine(0);else if(u){let e=r.line.toLowerCase(),t=d.findIndex(t=>J.isSeparator(t)||!Dr(t)?!1:t.name.toLowerCase().startsWith(e));t!==-1&&h(t),l.current=setTimeout(()=>{r.clearLine(0)},700)}}),nt(()=>()=>{clearTimeout(l.current)},[]);let y=i.style.message(e.message,o),b=i.style.keysHelpTip([[`↑↓`,`navigate`],[`⏎`,`select`]]),x=0,S=Kt({items:d,active:m,renderItem({item:e,isActive:t,index:n}){if(J.isSeparator(e))return x++,` ${e.separator}`;let r=t?i.icon.cursor:` `,a=i.indexMode===`number`?`${n+1-x}. `:``;if(e.disabled){let n=typeof e.disabled==`string`?e.disabled:`(disabled)`,r=t?i.icon.cursor:`-`;return i.style.disabled(`${r} ${a}${e.name} ${n}`)}return(t?i.style.highlight:e=>e)(`${r} ${a}${e.name}`)},pageSize:r,loop:n});if(o===`done`)return[c,y,i.style.answer(g.short)].filter(Boolean).join(` `);let{description:C}=g;return`${[[c,y].filter(Boolean).join(` `),S,` `,C?i.style.description(C):``,_?i.style.error(_):``,b].filter(Boolean).join(`
|
|
42
|
-
`).trimEnd()}${ln}`});
|
|
43
|
-
/*!
|
|
44
|
-
* Copyright (c) Squirrel Chat et al., All rights reserved.
|
|
45
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
46
|
-
*
|
|
47
|
-
* Redistribution and use in source and binary forms, with or without
|
|
48
|
-
* modification, are permitted provided that the following conditions are met:
|
|
49
|
-
*
|
|
50
|
-
* 1. Redistributions of source code must retain the above copyright notice, this
|
|
51
|
-
* list of conditions and the following disclaimer.
|
|
52
|
-
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
53
|
-
* this list of conditions and the following disclaimer in the
|
|
54
|
-
* documentation and/or other materials provided with the distribution.
|
|
55
|
-
* 3. Neither the name of the copyright holder nor the names of its contributors
|
|
56
|
-
* may be used to endorse or promote products derived from this software without
|
|
57
|
-
* specific prior written permission.
|
|
58
|
-
*
|
|
59
|
-
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
60
|
-
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
61
|
-
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
62
|
-
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
63
|
-
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
64
|
-
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
65
|
-
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
66
|
-
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
67
|
-
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
68
|
-
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
69
|
-
*/
|
|
70
|
-
function jr(e,t){let n=e.slice(0,t).split(/\r\n|\n|\r/g);return[n.length,n.pop().length+1]}function Mr(e,t,n){let r=e.split(/\r\n|\n|\r/g),i=``,a=(Math.log10(t+1)|0)+1;for(let e=t-1;e<=t+1;e++){let o=r[e-1];o&&(i+=e.toString().padEnd(a,` `),i+=`: `,i+=o,i+=`
|
|
71
|
-
`,e===t&&(i+=` `.repeat(a+n+2),i+=`^
|
|
72
|
-
`))}return i}var Z=class extends Error{line;column;codeblock;constructor(e,t){let[n,r]=jr(t.toml,t.ptr),i=Mr(t.toml,n,r);super(`Invalid TOML document: ${e}\n\n${i}`,t),this.line=n,this.column=r,this.codeblock=i}};
|
|
73
|
-
/*!
|
|
74
|
-
* Copyright (c) Squirrel Chat et al., All rights reserved.
|
|
75
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
76
|
-
*
|
|
77
|
-
* Redistribution and use in source and binary forms, with or without
|
|
78
|
-
* modification, are permitted provided that the following conditions are met:
|
|
79
|
-
*
|
|
80
|
-
* 1. Redistributions of source code must retain the above copyright notice, this
|
|
81
|
-
* list of conditions and the following disclaimer.
|
|
82
|
-
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
83
|
-
* this list of conditions and the following disclaimer in the
|
|
84
|
-
* documentation and/or other materials provided with the distribution.
|
|
85
|
-
* 3. Neither the name of the copyright holder nor the names of its contributors
|
|
86
|
-
* may be used to endorse or promote products derived from this software without
|
|
87
|
-
* specific prior written permission.
|
|
88
|
-
*
|
|
89
|
-
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
90
|
-
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
91
|
-
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
92
|
-
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
93
|
-
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
94
|
-
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
95
|
-
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
96
|
-
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
97
|
-
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
98
|
-
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
99
|
-
*/
|
|
100
|
-
function Nr(e,t){let n=0;for(;e[t-++n]===`\\`;);return--n&&n%2}function Pr(e,t=0,n=e.length){let r=e.indexOf(`
|
|
101
|
-
`,t);return e[r-1]===`\r`&&r--,r<=n?r:-1}function Fr(e,t){for(let n=t;n<e.length;n++){let r=e[n];if(r===`
|
|
102
|
-
`)return n;if(r===`\r`&&e[n+1]===`
|
|
103
|
-
`)return n+1;if(r<` `&&r!==` `||r===``)throw new Z(`control characters are not allowed in comments`,{toml:e,ptr:t})}return e.length}function Q(e,t,n,r){let i;for(;;){for(;(i=e[t])===` `||i===` `||!n&&(i===`
|
|
104
|
-
`||i===`\r`&&e[t+1]===`
|
|
105
|
-
`);)t++;if(r||i!==`#`)break;t=Fr(e,t)}return t}function Ir(e,t,n,r,i=!1){if(!r)return t=Pr(e,t),t<0?e.length:t;for(let a=t;a<e.length;a++){let t=e[a];if(t===`#`)a=Pr(e,a);else if(t===n)return a+1;else if(t===r||i&&(t===`
|
|
106
|
-
`||t===`\r`&&e[a+1]===`
|
|
107
|
-
`))return a}throw new Z(`cannot find end of structure`,{toml:e,ptr:t})}function Lr(e,t){let n=e[t],r=n===e[t+1]&&e[t+1]===e[t+2]?e.slice(t,t+3):n;t+=r.length-1;do t=e.indexOf(r,++t);while(t>-1&&n!==`'`&&Nr(e,t));return t>-1&&(t+=r.length,r.length>1&&(e[t]===n&&t++,e[t]===n&&t++)),t}
|
|
108
|
-
/*!
|
|
109
|
-
* Copyright (c) Squirrel Chat et al., All rights reserved.
|
|
110
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
111
|
-
*
|
|
112
|
-
* Redistribution and use in source and binary forms, with or without
|
|
113
|
-
* modification, are permitted provided that the following conditions are met:
|
|
114
|
-
*
|
|
115
|
-
* 1. Redistributions of source code must retain the above copyright notice, this
|
|
116
|
-
* list of conditions and the following disclaimer.
|
|
117
|
-
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
118
|
-
* this list of conditions and the following disclaimer in the
|
|
119
|
-
* documentation and/or other materials provided with the distribution.
|
|
120
|
-
* 3. Neither the name of the copyright holder nor the names of its contributors
|
|
121
|
-
* may be used to endorse or promote products derived from this software without
|
|
122
|
-
* specific prior written permission.
|
|
123
|
-
*
|
|
124
|
-
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
125
|
-
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
126
|
-
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
127
|
-
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
128
|
-
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
129
|
-
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
130
|
-
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
131
|
-
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
132
|
-
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
133
|
-
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
134
|
-
*/
|
|
135
|
-
let Rr=/^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|[-+]\d{2}:\d{2})?$/i;var zr=class e extends Date{#e=!1;#t=!1;#n=null;constructor(e){let t=!0,n=!0,r=`Z`;if(typeof e==`string`){let i=e.match(Rr);i?(i[1]||(t=!1,e=`0000-01-01T${e}`),n=!!i[2],n&&e[10]===` `&&(e=e.replace(` `,`T`)),i[2]&&+i[2]>23?e=``:(r=i[3]||null,e=e.toUpperCase(),!r&&n&&(e+=`Z`))):e=``}super(e),isNaN(this.getTime())||(this.#e=t,this.#t=n,this.#n=r)}isDateTime(){return this.#e&&this.#t}isLocal(){return!this.#e||!this.#t||!this.#n}isDate(){return this.#e&&!this.#t}isTime(){return this.#t&&!this.#e}isValid(){return this.#e||this.#t}toISOString(){let e=super.toISOString();if(this.isDate())return e.slice(0,10);if(this.isTime())return e.slice(11,23);if(this.#n===null)return e.slice(0,-1);if(this.#n===`Z`)return e;let t=this.#n.slice(1,3)*60+ +this.#n.slice(4,6);return t=this.#n[0]===`-`?t:-t,new Date(this.getTime()-t*6e4).toISOString().slice(0,-1)+this.#n}static wrapAsOffsetDateTime(t,n=`Z`){let r=new e(t);return r.#n=n,r}static wrapAsLocalDateTime(t){let n=new e(t);return n.#n=null,n}static wrapAsLocalDate(t){let n=new e(t);return n.#t=!1,n.#n=null,n}static wrapAsLocalTime(t){let n=new e(t);return n.#e=!1,n.#n=null,n}};
|
|
136
|
-
/*!
|
|
137
|
-
* Copyright (c) Squirrel Chat et al., All rights reserved.
|
|
138
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
139
|
-
*
|
|
140
|
-
* Redistribution and use in source and binary forms, with or without
|
|
141
|
-
* modification, are permitted provided that the following conditions are met:
|
|
142
|
-
*
|
|
143
|
-
* 1. Redistributions of source code must retain the above copyright notice, this
|
|
144
|
-
* list of conditions and the following disclaimer.
|
|
145
|
-
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
146
|
-
* this list of conditions and the following disclaimer in the
|
|
147
|
-
* documentation and/or other materials provided with the distribution.
|
|
148
|
-
* 3. Neither the name of the copyright holder nor the names of its contributors
|
|
149
|
-
* may be used to endorse or promote products derived from this software without
|
|
150
|
-
* specific prior written permission.
|
|
151
|
-
*
|
|
152
|
-
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
153
|
-
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
154
|
-
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
155
|
-
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
156
|
-
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
157
|
-
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
158
|
-
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
159
|
-
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
160
|
-
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
161
|
-
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
162
|
-
*/
|
|
163
|
-
let Br=/^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/,Vr=/^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/,Hr=/^[+-]?0[0-9_]/,Ur=/^[0-9a-f]{2,8}$/i,Wr={b:`\b`,t:` `,n:`
|
|
164
|
-
`,f:`\f`,r:`\r`,e:`\x1B`,'"':`"`,"\\":`\\`};function Gr(e,t=0,n=e.length){let r=e[t]===`'`,i=e[t++]===e[t]&&e[t]===e[t+1];i&&(n-=2,e[t+=2]===`\r`&&t++,e[t]===`
|
|
165
|
-
`&&t++);let a=0,o,s=``,c=t;for(;t<n-1;){let n=e[t++];if(n===`
|
|
166
|
-
`||n===`\r`&&e[t]===`
|
|
167
|
-
`){if(!i)throw new Z(`newlines are not allowed in strings`,{toml:e,ptr:t-1})}else if(n<` `&&n!==` `||n===``)throw new Z(`control characters are not allowed in strings`,{toml:e,ptr:t-1});if(o){if(o=!1,n===`x`||n===`u`||n===`U`){let r=e.slice(t,t+=n===`x`?2:n===`u`?4:8);if(!Ur.test(r))throw new Z(`invalid unicode escape`,{toml:e,ptr:a});try{s+=String.fromCodePoint(parseInt(r,16))}catch{throw new Z(`invalid unicode escape`,{toml:e,ptr:a})}}else if(i&&(n===`
|
|
168
|
-
`||n===` `||n===` `||n===`\r`)){if(t=Q(e,t-1,!0),e[t]!==`
|
|
169
|
-
`&&e[t]!==`\r`)throw new Z(`invalid escape: only line-ending whitespace may be escaped`,{toml:e,ptr:a});t=Q(e,t)}else if(n in Wr)s+=Wr[n];else throw new Z(`unrecognized escape sequence`,{toml:e,ptr:a});c=t}else !r&&n===`\\`&&(a=t-1,o=!0,s+=e.slice(c,a))}return s+e.slice(c,n-1)}function Kr(e,t,n,r){if(e===`true`)return!0;if(e===`false`)return!1;if(e===`-inf`)return-1/0;if(e===`inf`||e===`+inf`)return 1/0;if(e===`nan`||e===`+nan`||e===`-nan`)return NaN;if(e===`-0`)return r?0n:0;let i=Br.test(e);if(i||Vr.test(e)){if(Hr.test(e))throw new Z(`leading zeroes are not allowed`,{toml:t,ptr:n});e=e.replace(/_/g,``);let a=+e;if(isNaN(a))throw new Z(`invalid number`,{toml:t,ptr:n});if(i){if((i=!Number.isSafeInteger(a))&&!r)throw new Z(`integer value cannot be represented losslessly`,{toml:t,ptr:n});(i||r===!0)&&(a=BigInt(e))}return a}let a=new zr(e);if(!a.isValid())throw new Z(`invalid value`,{toml:t,ptr:n});return a}
|
|
170
|
-
/*!
|
|
171
|
-
* Copyright (c) Squirrel Chat et al., All rights reserved.
|
|
172
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
173
|
-
*
|
|
174
|
-
* Redistribution and use in source and binary forms, with or without
|
|
175
|
-
* modification, are permitted provided that the following conditions are met:
|
|
176
|
-
*
|
|
177
|
-
* 1. Redistributions of source code must retain the above copyright notice, this
|
|
178
|
-
* list of conditions and the following disclaimer.
|
|
179
|
-
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
180
|
-
* this list of conditions and the following disclaimer in the
|
|
181
|
-
* documentation and/or other materials provided with the distribution.
|
|
182
|
-
* 3. Neither the name of the copyright holder nor the names of its contributors
|
|
183
|
-
* may be used to endorse or promote products derived from this software without
|
|
184
|
-
* specific prior written permission.
|
|
185
|
-
*
|
|
186
|
-
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
187
|
-
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
188
|
-
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
189
|
-
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
190
|
-
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
191
|
-
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
192
|
-
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
193
|
-
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
194
|
-
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
195
|
-
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
196
|
-
*/
|
|
197
|
-
function qr(e,t,n){let r=e.slice(t,n),i=r.indexOf(`#`);return i>-1&&(Fr(e,i),r=r.slice(0,i)),[r.trimEnd(),i]}function Jr(e,t,n,r,i){if(r===0)throw new Z(`document contains excessively nested structures. aborting.`,{toml:e,ptr:t});let a=e[t];if(a===`[`||a===`{`){let[o,s]=a===`[`?Qr(e,t,r,i):Zr(e,t,r,i);if(n){if(s=Q(e,s),e[s]===`,`)s++;else if(e[s]!==n)throw new Z(`expected comma or end of structure`,{toml:e,ptr:s})}return[o,s]}let o;if(a===`"`||a===`'`){o=Lr(e,t);let r=Gr(e,t,o);if(n){if(o=Q(e,o),e[o]&&e[o]!==`,`&&e[o]!==n&&e[o]!==`
|
|
198
|
-
`&&e[o]!==`\r`)throw new Z(`unexpected character encountered`,{toml:e,ptr:o});o+=+(e[o]===`,`)}return[r,o]}o=Ir(e,t,`,`,n);let s=qr(e,t,o-+(e[o-1]===`,`));if(!s[0])throw new Z(`incomplete key-value declaration: no value specified`,{toml:e,ptr:t});return n&&s[1]>-1&&(o=Q(e,t+s[1]),o+=+(e[o]===`,`)),[Kr(s[0],e,t,i),o]}
|
|
199
|
-
/*!
|
|
200
|
-
* Copyright (c) Squirrel Chat et al., All rights reserved.
|
|
201
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
202
|
-
*
|
|
203
|
-
* Redistribution and use in source and binary forms, with or without
|
|
204
|
-
* modification, are permitted provided that the following conditions are met:
|
|
205
|
-
*
|
|
206
|
-
* 1. Redistributions of source code must retain the above copyright notice, this
|
|
207
|
-
* list of conditions and the following disclaimer.
|
|
208
|
-
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
209
|
-
* this list of conditions and the following disclaimer in the
|
|
210
|
-
* documentation and/or other materials provided with the distribution.
|
|
211
|
-
* 3. Neither the name of the copyright holder nor the names of its contributors
|
|
212
|
-
* may be used to endorse or promote products derived from this software without
|
|
213
|
-
* specific prior written permission.
|
|
214
|
-
*
|
|
215
|
-
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
216
|
-
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
217
|
-
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
218
|
-
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
219
|
-
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
220
|
-
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
221
|
-
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
222
|
-
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
223
|
-
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
224
|
-
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
225
|
-
*/
|
|
226
|
-
let Yr=/^[a-zA-Z0-9-_]+[ \t]*$/;function Xr(e,t,n=`=`){let r=t-1,i=[],a=e.indexOf(n,t);if(a<0)throw new Z(`incomplete key-value: cannot find end of key`,{toml:e,ptr:t});do{let o=e[t=++r];if(o!==` `&&o!==` `)if(o===`"`||o===`'`){if(o===e[t+1]&&o===e[t+2])throw new Z(`multiline strings are not allowed in keys`,{toml:e,ptr:t});let s=Lr(e,t);if(s<0)throw new Z(`unfinished string encountered`,{toml:e,ptr:t});r=e.indexOf(`.`,s);let c=e.slice(s,r<0||r>a?a:r),l=Pr(c);if(l>-1)throw new Z(`newlines are not allowed in keys`,{toml:e,ptr:t+r+l});if(c.trimStart())throw new Z(`found extra tokens after the string part`,{toml:e,ptr:s});if(a<s&&(a=e.indexOf(n,s),a<0))throw new Z(`incomplete key-value: cannot find end of key`,{toml:e,ptr:t});i.push(Gr(e,t,s))}else{r=e.indexOf(`.`,t);let n=e.slice(t,r<0||r>a?a:r);if(!Yr.test(n))throw new Z(`only letter, numbers, dashes and underscores are allowed in keys`,{toml:e,ptr:t});i.push(n.trimEnd())}}while(r+1&&r<a);return[i,Q(e,a+1,!0,!0)]}function Zr(e,t,n,r){let i={},a=new Set,o;for(t++;(o=e[t++])!==`}`&&o;)if(o===`,`)throw new Z(`expected value, found comma`,{toml:e,ptr:t-1});else if(o===`#`)t=Fr(e,t);else if(o!==` `&&o!==` `&&o!==`
|
|
227
|
-
`&&o!==`\r`){let o,s=i,c=!1,[l,u]=Xr(e,t-1);for(let n=0;n<l.length;n++){if(n&&(s=c?s[o]:s[o]={}),o=l[n],(c=Object.hasOwn(s,o))&&(typeof s[o]!=`object`||a.has(s[o])))throw new Z(`trying to redefine an already defined value`,{toml:e,ptr:t});!c&&o===`__proto__`&&Object.defineProperty(s,o,{enumerable:!0,configurable:!0,writable:!0})}if(c)throw new Z(`trying to redefine an already defined value`,{toml:e,ptr:t});let[d,f]=Jr(e,u,`}`,n-1,r);a.add(d),s[o]=d,t=f}if(!o)throw new Z(`unfinished table encountered`,{toml:e,ptr:t});return[i,t]}function Qr(e,t,n,r){let i=[],a;for(t++;(a=e[t++])!==`]`&&a;)if(a===`,`)throw new Z(`expected value, found comma`,{toml:e,ptr:t-1});else if(a===`#`)t=Fr(e,t);else if(a!==` `&&a!==` `&&a!==`
|
|
228
|
-
`&&a!==`\r`){let a=Jr(e,t-1,`]`,n-1,r);i.push(a[0]),t=a[1]}if(!a)throw new Z(`unfinished array encountered`,{toml:e,ptr:t});return[i,t]}
|
|
229
|
-
/*!
|
|
230
|
-
* Copyright (c) Squirrel Chat et al., All rights reserved.
|
|
231
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
232
|
-
*
|
|
233
|
-
* Redistribution and use in source and binary forms, with or without
|
|
234
|
-
* modification, are permitted provided that the following conditions are met:
|
|
235
|
-
*
|
|
236
|
-
* 1. Redistributions of source code must retain the above copyright notice, this
|
|
237
|
-
* list of conditions and the following disclaimer.
|
|
238
|
-
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
239
|
-
* this list of conditions and the following disclaimer in the
|
|
240
|
-
* documentation and/or other materials provided with the distribution.
|
|
241
|
-
* 3. Neither the name of the copyright holder nor the names of its contributors
|
|
242
|
-
* may be used to endorse or promote products derived from this software without
|
|
243
|
-
* specific prior written permission.
|
|
244
|
-
*
|
|
245
|
-
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
246
|
-
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
247
|
-
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
248
|
-
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
249
|
-
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
250
|
-
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
251
|
-
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
252
|
-
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
253
|
-
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
254
|
-
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
255
|
-
*/
|
|
256
|
-
function $r(e,t,n,r){let i=t,a=n,o,s=!1,c;for(let t=0;t<e.length;t++){if(t){if(i=s?i[o]:i[o]={},a=(c=a[o]).c,r===0&&(c.t===1||c.t===2))return null;if(c.t===2){let e=i.length-1;i=i[e],a=a[e].c}}if(o=e[t],(s=Object.hasOwn(i,o))&&a[o]?.t===0&&a[o]?.d)return null;s||(o===`__proto__`&&(Object.defineProperty(i,o,{enumerable:!0,configurable:!0,writable:!0}),Object.defineProperty(a,o,{enumerable:!0,configurable:!0,writable:!0})),a[o]={t:t<e.length-1&&r===2?3:r,d:!1,i:0,c:{}})}if(c=a[o],c.t!==r&&!(r===1&&c.t===3)||(r===2&&(c.d||(c.d=!0,i[o]=[]),i[o].push(i={}),c.c[c.i++]=c={t:1,d:!1,i:0,c:{}}),c.d))return null;if(c.d=!0,r===1)i=s?i[o]:i[o]={};else if(r===0&&s)return null;return[o,i,c.c]}function ei(e,{maxDepth:t=1e3,integersAsBigInt:n}={}){let r={},i={},a=r,o=i;for(let s=Q(e,0);s<e.length;){if(e[s]===`[`){let t=e[++s]===`[`,n=Xr(e,s+=+t,`]`);if(t){if(e[n[1]-1]!==`]`)throw new Z(`expected end of table declaration`,{toml:e,ptr:n[1]-1});n[1]++}let c=$r(n[0],r,i,t?2:1);if(!c)throw new Z(`trying to redefine an already defined table or value`,{toml:e,ptr:s});o=c[2],a=c[1],s=n[1]}else{let r=Xr(e,s),i=$r(r[0],a,o,0);if(!i)throw new Z(`trying to redefine an already defined table or value`,{toml:e,ptr:s});let c=Jr(e,r[1],void 0,t,n);i[1][i[0]]=c[0],s=c[1]}if(s=Q(e,s,!0),e[s]&&e[s]!==`
|
|
257
|
-
`&&e[s]!==`\r`)throw new Z(`each key-value declaration must be followed by an end-of-line`,{toml:e,ptr:s});s=Q(e,s)}return r}
|
|
258
|
-
/*!
|
|
259
|
-
* Copyright (c) Squirrel Chat et al., All rights reserved.
|
|
260
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
261
|
-
*
|
|
262
|
-
* Redistribution and use in source and binary forms, with or without
|
|
263
|
-
* modification, are permitted provided that the following conditions are met:
|
|
264
|
-
*
|
|
265
|
-
* 1. Redistributions of source code must retain the above copyright notice, this
|
|
266
|
-
* list of conditions and the following disclaimer.
|
|
267
|
-
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
268
|
-
* this list of conditions and the following disclaimer in the
|
|
269
|
-
* documentation and/or other materials provided with the distribution.
|
|
270
|
-
* 3. Neither the name of the copyright holder nor the names of its contributors
|
|
271
|
-
* may be used to endorse or promote products derived from this software without
|
|
272
|
-
* specific prior written permission.
|
|
273
|
-
*
|
|
274
|
-
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
275
|
-
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
276
|
-
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
277
|
-
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
278
|
-
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
279
|
-
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
280
|
-
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
281
|
-
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
282
|
-
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
283
|
-
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
284
|
-
*/
|
|
285
|
-
let ti=/^[a-z0-9-_]+$/i;function ni(e){let t=typeof e;if(t===`object`){if(Array.isArray(e))return`array`;if(e instanceof Date)return`date`}return t}function ri(e){for(let t=0;t<e.length;t++)if(ni(e[t])!==`object`)return!1;return e.length!=0}function ii(e){return JSON.stringify(e).replace(/\x7f/g,`\\u007f`)}function ai(e,t,n,r){if(n===0)throw Error(`Could not stringify the object: maximum object depth exceeded`);if(t===`number`)return isNaN(e)?`nan`:e===1/0?`inf`:e===-1/0?`-inf`:r&&Number.isInteger(e)?e.toFixed(1):e.toString();if(t===`bigint`||t===`boolean`)return e.toString();if(t===`string`)return ii(e);if(t===`date`){if(isNaN(e.getTime()))throw TypeError(`cannot serialize invalid date`);return e.toISOString()}if(t===`object`)return oi(e,n,r);if(t===`array`)return si(e,n,r)}function oi(e,t,n){let r=Object.keys(e);if(r.length===0)return`{}`;let i=`{ `;for(let a=0;a<r.length;a++){let o=r[a];a&&(i+=`, `),i+=ti.test(o)?o:ii(o),i+=` = `,i+=ai(e[o],ni(e[o]),t-1,n)}return i+` }`}function si(e,t,n){if(e.length===0)return`[]`;let r=`[ `;for(let i=0;i<e.length;i++){if(i&&(r+=`, `),e[i]===null||e[i]===void 0)throw TypeError(`arrays cannot contain null or undefined values`);r+=ai(e[i],ni(e[i]),t-1,n)}return r+` ]`}function ci(e,t,n,r){if(n===0)throw Error(`Could not stringify the object: maximum object depth exceeded`);let i=``;for(let a=0;a<e.length;a++)i+=`${i&&`
|
|
286
|
-
`}[[${t}]]\n`,i+=li(0,e[a],t,n,r);return i}function li(e,t,n,r,i){if(r===0)throw Error(`Could not stringify the object: maximum object depth exceeded`);let a=``,o=``,s=Object.keys(t);for(let e=0;e<s.length;e++){let c=s[e];if(t[c]!==null&&t[c]!==void 0){let e=ni(t[c]);if(e===`symbol`||e===`function`)throw TypeError(`cannot serialize values of type '${e}'`);let s=ti.test(c)?c:ii(c);if(e===`array`&&ri(t[c]))o+=(o&&`
|
|
287
|
-
`)+ci(t[c],n?`${n}.${s}`:s,r-1,i);else if(e===`object`){let e=n?`${n}.${s}`:s;o+=(o&&`
|
|
288
|
-
`)+li(e,t[c],e,r-1,i)}else a+=s,a+=` = `,a+=ai(t[c],e,r,i),a+=`
|
|
289
|
-
`}}return e&&(a||!o)&&(a=a?`[${e}]\n${a}`:`[${e}]`),a&&o?`${a}\n${o}`:a||o}function ui(e,{maxDepth:t=1e3,numbersAsFloat:n=!1}={}){if(ni(e)!==`object`)throw TypeError(`stringify can only be called with an object`);let r=li(0,e,``,t,n);return r[r.length-1]===`
|
|
290
|
-
`?r:r+`
|
|
291
|
-
`}function di(e,t){let n=z(t,e);return n.length>0&&!n.startsWith(`..`)&&!pe(n)}const fi=e=>{try{let t=de(`git`,[`rev-parse`,`--show-toplevel`],{cwd:e,encoding:`utf8`,stdio:[`ignore`,`pipe`,`ignore`]}).trim();return t.length>0?t:null}catch{return null}};function pi(e,t={}){let n=t.homeDir??_e(),r=t.gitTopLevel??fi,i=me(e),a;try{a=xe(i)}catch{a=i}let o=a,s=0;for(;s<30&&!(o===n||o===`/`||o===``);){if(x(o))return{projectRoot:o,defaultContentDir:`.`,ancestorPromoted:o!==a,gitRootPromoted:!1};let e=L(o);if(e===o)break;o=e,s+=1}let c=r(a);return c!==null&&di(c,n)?c===a?{projectRoot:i,defaultContentDir:`.`,ancestorPromoted:!1,gitRootPromoted:!1}:{projectRoot:c,defaultContentDir:`.`,ancestorPromoted:!1,gitRootPromoted:!0}:{projectRoot:i,defaultContentDir:`.`,ancestorPromoted:!1,gitRootPromoted:!1}}function mi(e){let t=e&&typeof e==`object`&&`code`in e?e.code:void 0;return t===`MODULE_NOT_FOUND`||t===`ERR_MODULE_NOT_FOUND`}function $(e,t){if(!process.env.OK_DEBUG_NATIVE)return;let n=t instanceof Error?t.message:String(t);process.stderr.write(`[ok] native-config ${e}: ${n}\n`)}const hi=[`native`,`index.js`];function gi(e={}){let t=e.moduleUrl??import.meta.url,n=e.requireModule??ue(t);try{return n(R(L(ge(t)),...hi))}catch(e){mi(e)||$(`bundled loader failed to load`,e)}try{return n(`@inkeep/open-knowledge-native-config`)}catch(e){return mi(e)||$(`workspace addon failed to load`,e),null}}function _i(){let e=gi();return e&&typeof e.resolveSymlinkWritePath==`function`?e:null}function vi(e){let t=e,n=new Set;for(;;){let r;try{r=ve(t).isSymbolicLink()}catch(n){return n.code===`ENOENT`?{readPath:t,writePath:t}:{readPath:null,writePath:e}}if(!r)return{readPath:t,writePath:t};if(n.has(t))return{readPath:null,writePath:e};n.add(t);let i;try{i=be(t)}catch(t){return $(`readlinkSync threw during symlink walk`,t),{readPath:null,writePath:e}}t=pe(i)?i:R(L(t),i)}}let yi;function bi(){return yi===void 0&&(yi=_i()),yi}function xi(e,t=bi){let n=t();if(n)try{let t=n.resolveSymlinkWritePath(e);return{readPath:t.readPath??null,writePath:t.writePath}}catch(e){$(`resolveSymlinkWritePath threw`,e)}return vi(e)}function Si(){let e=gi();return e&&typeof e.parseTomlToJson==`function`?e:null}function Ci(e){try{let t=e.parseTomlToJson(`probe = 1`);return typeof t==`string`&&t.includes(`probe`)}catch(e){return $(`addon loaded but probe failed`,e),!1}}function wi(e){if(!A(e))throw Error(`TOML root is not a table`);return e}function Ti(e){return{backend:`native`,parseToObject(t){return wi(JSON.parse(e.parseTomlToJson(t)))},upsertEntry(t,n,r){let i=e.upsertMcpServer(t,n,JSON.stringify(r));return{text:i.text,existed:i.existed}},removeEntry(t,n){let r=e.removeMcpServer(t,n);return{text:r.text,existed:r.existed}}}}function Ei(){return{backend:`fallback`,parseToObject(e){return wi(ei(e))}}}function Di(e=Si){let t=e();return t&&Ci(t)?Ti(t):Ei()}let Oi=null;function ki(){return Oi===null&&(Oi=Di()),Oi}function Ai(e,t,n,r,i){let a=`urn:uuid:${we()}`;if(e.headersSent||e.writableEnded||e.destroyed){console.error(`[ok ui] emitProblem called after headers sent — suppressed`,{type:n,status:t,instance:a});return}let o={type:n,title:r,status:t,instance:a,...i===void 0?{}:{detail:i}},s=c.safeParse(o);if(!s.success){console.error(`[ok ui] emitProblem produced an invalid ProblemDetails body:`,{issues:s.error.issues,originalStatus:t,body:o}),e.writeHead(500,{"Content-Type":`application/problem+json`,"X-Content-Type-Options":`nosniff`,"Cache-Control":`no-store`}),e.end(JSON.stringify({type:`urn:ok:error:internal-server-error`,title:`Internal server error.`,status:500,instance:a}));return}e.writeHead(t,{"Content-Type":`application/problem+json`,"X-Content-Type-Options":`nosniff`,"Cache-Control":`no-store`}),e.end(JSON.stringify(o))}const ji=1e4;function Mi(e,t){let n=e.socket?.remoteAddress;if(n!==void 0&&!C(n))return Ai(t,403,`urn:ok:error:loopback-required`,`Request must originate from a loopback address.`),!0;if(!f(e.headers.host))return Ai(t,403,`urn:ok:error:host-not-allowed`,`Host header is not in the loopback allowlist.`),!0;let r=e.headers.origin;return r!==void 0&&!_(r)?(Ai(t,403,`urn:ok:error:invalid-origin`,`Origin header is not in the loopback allowlist.`),!0):!1}const Ni=3e4;function Pi(e,t){let n=e.socket?.remoteAddress;if(n!==void 0&&!C(n)||!f(e.headers.host))return t.destroy(),!0;let r=e.headers.origin;return typeof r==`string`&&!_(r)?(t.destroy(),!0):!1}function Fi(e,t,n,r,i,a){a.add(t),t.once(`close`,()=>a.delete(t));let o=Me({host:r,port:i,timeout:ji});a.add(o),o.once(`close`,()=>a.delete(o));let s=!1,c=n=>{if(!s){if(s=!0,n!==void 0){let t=n.err;console.warn(JSON.stringify({event:n.event,upstreamHost:r,upstreamPort:i,url:e.url,code:t instanceof Error?t.code:void 0,message:t instanceof Error?t.message:void 0}))}try{o.destroy()}catch{}try{t.destroy()}catch{}}};o.once(`connect`,()=>{o.setTimeout(0);let a=[`${e.method??`GET`} ${e.url??`/`} HTTP/1.1`,`host: ${r}:${i}`];for(let[t,n]of Object.entries(e.headers))if(t.toLowerCase()!==`host`&&n!==void 0)if(Array.isArray(n))for(let e of n)a.push(`${t}: ${e}`);else a.push(`${t}: ${n}`);try{o.write(`${a.join(`\r
|
|
292
|
-
`)}\r\n\r\n`),n.length>0&&o.write(n)}catch(e){c({event:`proxy-upgrade-handshake-write-failed`,err:e});return}o.on(`data`,e=>{t.writable&&t.write(e)}),t.on(`data`,e=>{o.writable&&o.write(e)})}),o.once(`timeout`,()=>{c({event:`proxy-upgrade-upstream-connect-timeout`})}),o.on(`error`,e=>c({event:`proxy-upgrade-upstream-error`,err:e})),t.on(`error`,e=>c({event:`proxy-upgrade-client-error`,err:e})),o.once(`close`,()=>c()),t.once(`close`,()=>c())}const Ii=[`connection`,`keep-alive`,`proxy-authenticate`,`proxy-authorization`,`te`,`trailer`,`transfer-encoding`,`upgrade`,`cookie`,`set-cookie`];async function Li(e){let t=e.upstreamTimeoutMs??ji,n=new Set,r=ke((n,r)=>{Mi(n,r)||zi(n,r,e.upstreamHost,e.upstreamPort,t)});r.on(`upgrade`,(t,r,i)=>{Pi(t,r)||Fi(t,r,i,e.upstreamHost,e.upstreamPort,n)}),await new Promise((t,n)=>{let i=e=>n(e);r.once(`error`,i),r.listen(e.listenPort,e.host,()=>{r.off(`error`,i),t()})});let i=r.address();return{httpServer:r,port:typeof i==`object`&&i?i.port:e.listenPort,close:()=>new Promise(e=>{for(let e of n)try{e.destroy()}catch{}n.clear(),r.close(()=>e()),r.closeIdleConnections()})}}function Ri(e,t,n){zi(e,t,n.upstreamHost,n.upstreamPort,n.upstreamTimeoutMs??ji)}function zi(e,t,n,r,i){let a={...e.headers};delete a.host;for(let e of Ii)delete a[e];e.setTimeout(Ni,()=>{if(t.headersSent)try{t.end()}catch{}else try{Ai(t,408,`urn:ok:error:request-timeout`,`Proxy request exceeded the per-request deadline.`,`Slow-loris-class: client did not finish within ${Ni/1e3}s.`)}catch{}try{e.socket?.destroy()}catch{}});let o=Ae({host:n,port:r,method:e.method,path:e.url,headers:{...a,host:`${n}:${r}`}},e=>{let n={...e.headers};for(let e of Ii)delete n[e];t.writeHead(e.statusCode??502,n),e.pipe(t),e.once(`error`,()=>{try{t.end()}catch{}})});i>0&&o.setTimeout(i,()=>{if(!t.headersSent)Ai(t,504,`urn:ok:error:gateway-timeout`,`Upstream did not respond before the gateway deadline.`,`Upstream timeout: ${i/1e3}s elapsed without a response.`);else try{t.end()}catch{}o.destroy()}),o.on(`error`,()=>{if(!t.headersSent)Ai(t,502,`urn:ok:error:collab-server-not-running`,`Collab server is unreachable.`,`Upstream connection failed or dropped before a response was received.`);else try{t.end()}catch{}}),e.on(`error`,()=>{o.destroy()}),e.pipe(o)}const Bi=39847,Vi=39848;async function Hi(e){await Promise.all(e.map(e=>new Promise(t=>{e.close(()=>t())})))}async function Ui(e){let{existsSync:t}=await import(`node:fs`),{createServer:n}=await import(`node:http`),{resolve:a}=await import(`node:path`),{acquireUiLock:o,clearArmedPaneTarget:s,createAssetServeMiddleware:c,createContentFilter:f,readArmedPaneTarget:p,readServerLock:m,releaseUiLock:h,updateUiLockPort:g}=await import(`./dist-D8lHZNr8.mjs`),{default:_}=await import(`./build-gfyDk62R.mjs`),{resolveContentDir:v,resolveLockDir:y}=await import(`./dist-D8lHZNr8.mjs`),b=v(e.config,e.cwd),x=y(e.cwd);o(x,{port:0,worktreeRoot:e.cwd});let S=import.meta.dirname??new URL(`.`,import.meta.url).pathname,C=[a(S,`public`),a(S,`../../app/dist`),a(S,`../../../app/dist`)],w=e.assetDir??C.find(e=>t(e)),T=w?_(w,{single:!0,gzip:!0,etag:!0,dev:!0,extensions:[]}):null,ee=t(b)?c({contentFilter:f({projectDir:e.cwd,contentDir:b}),contentSirv:_(b,{dotfiles:!1,dev:!0,extensions:[]}),inlineExtensions:i,assetExtensions:r,blocklistExtensions:d}):null,E=e.port,te=null,D=(e,t)=>{let n=e.url?.split(`?`)[0];if(e.method===`GET`&&(n===`/`||n===``)){let e=p(x);if(e&&!/[\r\n]/.test(e)){s(x),t.statusCode=302,t.setHeader(`Location`,`/${e}`),t.setHeader(`Cache-Control`,`no-store`),t.end();return}}if((n===`/`||n===``)&&(e.url=`/index.html`),!(n?.startsWith(`/api/`)&&Mi(e,t))){if(n===`/api/config`&&e.method===`DELETE`){s(x),t.setHeader(`Cache-Control`,`no-store`),t.statusCode=204,t.end();return}if(n===`/api/config`&&(e.method===`GET`||e.method===`HEAD`)){te?.();let n=m(x),r=e.headers.host??`localhost:${E}`,i=n&&n.port>0?`ws://${r}/collab`:null,a=p(x),o=JSON.stringify({collabUrl:i,previewUrl:null,port:E,paneTarget:a});t.setHeader(`Content-Type`,`application/json`),t.setHeader(`Cache-Control`,`no-store`),t.setHeader(`X-Content-Type-Options`,`nosniff`),t.statusCode=200,e.method===`HEAD`?t.end():t.end(o);return}if(n?.startsWith(`/api/`)){te?.();let r=m(x);if(!r||r.port<=0){Ai(t,503,`urn:ok:error:collab-server-not-running`,"Collab server not running. Start `ok start` or run `ok status`.",`Path: ${n}`);return}Ri(e,t,{upstreamHost:l,upstreamPort:r.port});return}if(T&&n?.startsWith(`/assets/`)){T(e,t,()=>{ee?ee(e,t,()=>Wi(t)):Wi(t)});return}if(ee){ee(e,t,()=>{T?T(e,t):Wi(t)});return}if(T){T(e,t);return}Wi(t)}},O=new Set,ne=(e,t,n)=>{if(Pi(e,t))return;let r=e.url?.split(`?`)[0]??``;if(r!==`/collab`&&!r.startsWith(`/collab/`)){t.destroy();return}let i=m(x);if(!i||i.port<=0){console.warn(JSON.stringify({event:`ok-ui-upgrade-no-collab-lock`,url:r,reason:"server.lock missing or port unbound — is `ok start` running?"})),t.destroy();return}Fi(e,t,n,l,i.port,O)},re=()=>{for(let e of O)try{e.destroy()}catch{}O.clear()},ie=e.host===void 0?[`::1`,`127.0.0.1`]:[e.host],ae=[],k=e.port,oe=e=>e instanceof Error&&e.code===`EADDRINUSE`,se=async()=>{await Promise.all(ae.splice(0).map(e=>new Promise(t=>{try{e.close(()=>t())}catch{t()}})))},ce=async e=>{k=e;for(let e of ie){let t=n(D);t.on(`upgrade`,ne),ae.push(t),await new Promise((n,r)=>{let i=e=>r(e);t.once(`error`,i),t.listen(k,e,()=>{t.off(`error`,i);let e=t.address();typeof e==`object`&&e&&(k=e.port),n()})})}};try{try{await ce(e.port)}catch(t){if(e.fallbackToKernel===!0&&oe(t))await se(),await ce(0);else throw t}}catch(e){await se();try{h(x)}catch{}throw e}let A=k;E=A,g(x,A);let j=e.scheduler??u,M=e.safetyNetMs??432e5,N=null,P=!1,F=!1,I=()=>{P||(P=!0,N!==null&&(j.clearTimeout(N),N=null))},le=()=>{if(I(),!F){F=!0;try{h(x)}catch{}}},ue=()=>{P||M<=0||(N!==null&&(j.clearTimeout(N),N=null),N=j.setTimeout(()=>{N=null,console.warn(`[ui] safety-net (${M}ms) reached — shutting down (D-025 backstop)`);try{e.onSafetyNet?.()}catch{}re();for(let e of ae)try{e.close()}catch{}le()},M))},de=()=>{P||M<=0||ue()};return te=de,ue(),{httpServers:ae,port:A,release:le,detachSafetyNet:I,nudgeSafetyNet:de,drainUpgradeSockets:re}}function Wi(e){e.headersSent||e.writableEnded||e.destroyed||(e.setHeader(`X-Content-Type-Options`,`nosniff`),e.setHeader(`Cache-Control`,`no-store`),e.statusCode=404,e.end())}function Gi(e,t){if(e!==void 0){let t=Number.parseInt(e,10);if(Number.isNaN(t)||t<0||t>65535)throw Error(`Invalid --port value '${e}'`);return{port:t,fallbackToKernel:!1}}if(t!==void 0&&t!==``){let e=Number.parseInt(t,10);if(Number.isNaN(e)||e<0||e>65535)throw Error(`Invalid PORT env value '${t}'`);return{port:e,fallbackToKernel:!1}}return{port:Bi,fallbackToKernel:!0}}async function Ki(e){let t=e.readLock??(async()=>{let{readUiLock:t}=await import(`./dist-D8lHZNr8.mjs`);return t(e.lockDir)}),n=await t();if(!n)throw Error(`UI lock collision reported but the lock disappeared before handling — retry acquiring.`);if(n.port===e.requestedPort&&n.port>0)return{mode:`already-running`,port:n.port};let r=n.port;if(r===0){let n=Date.now()+(e.pollDeadlineMs??2e3),i=e.pollIntervalMs??100;for(;Date.now()<n;){await new Promise(e=>{setTimeout(e,i)});let e=await t();if(e&&e.port>0){r=e.port;break}}if(r===0)throw Error("UI did not bind within 2s; run `ok clean`");if(r===e.requestedPort)return{mode:`already-running`,port:r}}return{mode:`proxy`,handle:await Li({listenPort:e.requestedPort,host:e.host,upstreamHost:`localhost`,upstreamPort:r}),upstreamPort:r}}function qi(e){return new O(`ui`).description(`Serve the OpenKnowledge React editor UI`).option(`-p, --port <port>`,`UI port (default: $PORT env or ${Bi}, kernel-allocated fallback if busy)`).option(`-H, --host <host>`,"UI host. Default: two-socket loopback bind (`[::1]` + `127.0.0.1`) so cross-family collisions fail loud. Pass an explicit host (e.g. `127.0.0.1`, `0.0.0.0`) to bind a single socket on that host.").action(async t=>{let{dim:n}=await import(`./colors-CmkIIbww.mjs`),{UiLockCollisionError:r}=await import(`./dist-D8lHZNr8.mjs`),{resolveLockDir:i}=await import(`./dist-D8lHZNr8.mjs`),a=e(),o=t.host,s;try{s=Gi(t.port,process.env.PORT)}catch(e){console.error(e instanceof Error?e.message:String(e)),process.exitCode=1;return}let c=s.port;try{let e=await Ui({config:a,cwd:process.cwd(),port:c,fallbackToKernel:s.fallbackToKernel,host:o}),t=o===void 0||o===`::`||o===`0.0.0.0`?`localhost`:o;console.log(`${n(`[ui]`)} listening on http://${t}:${e.port}`);let r=!1,i=t=>{if(r)return;r=!0,console.log(n(`\n[ui] Shutting down (${t})`)),e.detachSafetyNet();let i=()=>{try{e.release()}finally{process.exit(process.exitCode??0)}};e.drainUpgradeSockets(),Hi(e.httpServers).then(i,i),setTimeout(i,2e3).unref()};process.once(`SIGINT`,()=>i(`SIGINT`)),process.once(`SIGTERM`,()=>i(`SIGTERM`));return}catch(e){if(!(e instanceof r))throw e;let t=i(process.cwd()),a=o??`localhost`,s;try{s=await Ki({requestedPort:c,host:a,lockDir:t})}catch(e){console.error(e instanceof Error?e.message:String(e)),process.exit(1)}if(s.mode===`already-running`){if(console.log(`UI already running at http://${a}:${s.port}`),Ji(process)){await new Promise(e=>{let t=t=>{console.log(n(`\n[ui-keepalive] Shutting down (${t})`)),e()};process.once(`SIGINT`,()=>t(`SIGINT`)),process.once(`SIGTERM`,()=>t(`SIGTERM`))});return}process.exit(0)}console.log(`UI running at http://${a}:${s.upstreamPort}; acting as HTTP proxy on port ${s.handle.port}`);let l=!1,u=e=>{l||(l=!0,console.log(n(`\n[ui-proxy] Shutting down (${e})`)),s.handle.close().finally(()=>process.exit(process.exitCode??0)),setTimeout(()=>process.exit(process.exitCode??0),2e3).unref())};process.once(`SIGINT`,()=>u(`SIGINT`)),process.once(`SIGTERM`,()=>u(`SIGTERM`))}})}function Ji(e){let t=e.stdout.isTTY===!0,n=typeof e.env.PORT==`string`&&e.env.PORT!==``;return!t||n}const Yi={allowTrailingComma:!0,disallowComments:!1};function Xi(e,t){return e.error===1&&e.offset===0&&t.charCodeAt(0)===65279}function Zi(e){let t=[],n=lr(e,t,Yi);return t.some(t=>!Xi(t,e))||!n||n.type!==`object`?null:n}function Qi(e,t){let n=0;for(let r of e.children??[]){let e=r.children?.[0];e!==void 0&&ur(e)===t&&(n+=1)}return n}function $i(e,t){w(e,`${JSON.stringify(t,null,2)}\n`)}function ea(e,t){let n=ui(t);w(e,n.endsWith(`
|
|
293
|
-
`)?n:`${n}\n`)}const ta=10*1024*1024;function na(e,t){if(e===t)return!0;if(Array.isArray(e)||Array.isArray(t))return!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length?!1:e.every((e,n)=>na(e,t[n]));if(A(e)&&A(t)){let n=Object.keys(e);return n.length===Object.keys(t).length?n.every(n=>Object.hasOwn(t,n)&&na(e[n],t[n])):!1}return!1}function ra(e){for(let t of e.split(`
|
|
294
|
-
`)){let e=t.trimStart();if(!(e.length===0||e.length===t.length))return t.charCodeAt(0)===9?{insertSpaces:!1,tabSize:1}:{insertSpaces:!0,tabSize:t.length-e.length}}return{insertSpaces:!0,tabSize:2}}function ia(e,t,n){return t===void 0?[e,n]:[e,t,n]}function aa(e,t,n,r){let i={[n]:r};return{[e]:t===void 0?i:{[t]:i}}}function oa(e,t,n){let r=e[t];return n===void 0?r:A(r)?r[n]:void 0}function sa(e,t,n,r,i){if(!V(e))return $i(e,aa(t,i,n,r)),{kind:`written`};let a;try{a=H(e,`utf-8`)}catch(e){return $(`json config read failed`,e),{kind:`declined`,reason:`unparseable`}}if(a.trim()===``)return $i(e,aa(t,i,n,r)),{kind:`written`};if(Buffer.byteLength(a,`utf-8`)>ta)return{kind:`declined`,reason:`oversize`};let o=Zi(a);if(!o)return{kind:`declined`,reason:`unparseable`};if(Qi(o,t)>1)return{kind:`declined`,reason:`duplicate-container`};let s=oa(ur(o),t,i),c=A(s)?s[n]:void 0,l=c!==void 0;if(l&&na(c,r))return{kind:`overwritten`};let u=a.charCodeAt(0)===65279,d=u?a.slice(1):a,f=d.includes(`\r
|
|
295
|
-
`)?`\r
|
|
296
|
-
`:`
|
|
297
|
-
`,p=fr(d,ia(t,i,n),r,{formattingOptions:{...ra(d),eol:f}}),m=`${u?``:``}${pr(d,p)}`;return m!==a&&w(e,m,{mode:gr(e)}),{kind:l?`overwritten`:`written`}}function ca(e,t,n,r,i){let a=``;if(V(t))try{a=H(t,`utf-8`)}catch(e){return $(`toml config read failed`,e),{kind:`declined`,reason:`unparseable`}}let o=a.trim()===``;if(e.backend===`fallback`)return o?(ea(t,{[n]:{[r]:i}}),{kind:`written`}):{kind:`declined`,reason:`no-native-writer`};let s=a.charCodeAt(0)===65279,c=s?a.slice(1):a,l=hr(c),u=o||c.endsWith(`
|
|
298
|
-
`),d;try{d=e.upsertEntry(c,r,i)}catch(e){return $(`upsertEntry failed`,e),{kind:`declined`,reason:`unparseable`}}let f=d.text;u?f.endsWith(`
|
|
299
|
-
`)||(f=`${f}\n`):f=f.replace(/\n+$/,``),l&&(f=f.replace(/\r\n/g,`
|
|
300
|
-
`).replace(/\n/g,`\r
|
|
301
|
-
`));let p=`${s?``:``}${f}`;return p!==a&&w(t,p,{mode:gr(t)}),{kind:d.existed?`overwritten`:`written`}}const la=e=>e!==`project`,ua=e=>e!==`user`;async function da(){let e=await Tr({message:`Where should the MCP server be configured?
|
|
302
|
-
`,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 fa(e){return e.mcp===!1?null:e.scope?e.scope:e.isTTY??process.stdout.isTTY?(e.promptFn??da)():`both`}async function pa(e){return Ar({message:`How do you want to handle OpenKnowledge config files (.ok/, .mcp.json, project skills, launch.json)?`,default:e,choices:[{name:`Share with my team (commit alongside content)`,value:`shared`,description:`OK config gets committed alongside your project content.`},{name:`Local only (keep out of git via .git/info/exclude)`,value:`local-only`,description:"OK config stays on this machine only; teammates do not see it. Safe escape hatch via `ok config-sharing share`."}]})}async function ma(e){if(e.sharing!==void 0)return e.sharing;let t=En(e.projectRoot)===`local-only`?`local-only`:`shared`;return e.isTTY??process.stdout.isTTY?(e.promptFn??pa)(t):t}var ha=class extends Error{constructor(e){super(e),this.name=`ContentDirError`}};function ga(e){if(e===void 0||e===!0)return new Set(E);if(e===!1)return new Set;let t=e.split(`,`).map(e=>e.trim()).filter(Boolean);return new Set(E.filter(e=>t.includes(e)))}function _a(e,t,n){let r=me(n,e),i;try{i=Se(r)}catch(e){let t=e.code;throw t===`ENOENT`?new ha(`--content-dir path does not exist: ${r}`):new ha(`--content-dir path is not accessible (${t??`unknown error`}): ${r}`)}if(!i.isDirectory())throw new ha(`--content-dir must be a directory: ${r}`);let a=z(va(t),va(r));if(a.startsWith(`..`)||pe(a))throw new ha(`--content-dir must be inside the project root (${t}); got ${r}`);return a===``?`.`:a}function va(e){try{return xe(e)}catch{return e}}const ya=`0.0.1`,ba=`open-knowledge-ui`,xa=[`-y`,`@inkeep/open-knowledge@latest`,`ui`],Sa=`# ok-ui-v1`,Ca=`${Sa}
|
|
303
|
-
UIPORT="\${PORT:-${Vi}}"
|
|
304
|
-
unset PORT
|
|
305
|
-
USER_BUNDLE="$HOME/Applications/OpenKnowledge.app/Contents/Resources/cli/bin/ok.sh"
|
|
306
|
-
[ -f "$USER_BUNDLE" ] && [ -x "$USER_BUNDLE" ] && exec "$USER_BUNDLE" start --ui-port "$UIPORT"
|
|
307
|
-
BUNDLE="/Applications/OpenKnowledge.app/Contents/Resources/cli/bin/ok.sh"
|
|
308
|
-
[ -f "$BUNDLE" ] && [ -x "$BUNDLE" ] && exec "$BUNDLE" start --ui-port "$UIPORT"
|
|
309
|
-
command -v npx >/dev/null 2>&1 && exec npx -y @inkeep/open-knowledge@latest start --ui-port "$UIPORT"
|
|
310
|
-
for d in "$HOME/.nvm/versions/node"/*/bin "$HOME/.fnm/node-versions"/*/installation/bin "$HOME/.asdf/installs/nodejs"/*/bin /opt/homebrew/bin /usr/local/bin "$HOME/.local/bin" "$HOME/.volta/bin"; do
|
|
311
|
-
[ -f "$d/npx" ] && [ -x "$d/npx" ] && exec "$d/npx" -y @inkeep/open-knowledge@latest start --ui-port "$UIPORT"
|
|
312
|
-
done
|
|
313
|
-
echo "OpenKnowledge: install OK Desktop or Node.js 24+, then restart your editor" >&2
|
|
314
|
-
exit 127`;function wa(e,t={}){let n=R(e,`.claude`,`launch.json`),r=t.mode===`dev`?{name:ba,runtimeExecutable:`/bin/sh`,runtimeArgs:[`-l`,`-c`,`${Sa}
|
|
315
|
-
UIPORT="\${PORT:-${Vi}}"
|
|
316
|
-
unset PORT
|
|
317
|
-
exec node "${ae()}" start --ui-port "$UIPORT"`],port:Vi,autoPort:!0}:{name:ba,runtimeExecutable:`/bin/sh`,runtimeArgs:[`-l`,`-c`,Ca],port:Vi,autoPort:!0};try{if(ce(n,e),!V(n))return ye(L(n),{recursive:!0}),Ce(n,`${JSON.stringify({version:ya,configurations:[r]},null,2)}\n`,`utf-8`),{action:`created`,configPath:n};let t=H(n,`utf-8`).trim(),i=t?JSON.parse(t):{};if(!A(i))return{action:`failed`,configPath:n,error:`launch.json root is not an object`};let a=Array.isArray(i.configurations)?i.configurations:[],o=a.findIndex(e=>A(e)&&e.name===`open-knowledge-ui`);o>=0?a[o]=r:a.push(r);let s={...i,version:i.version??ya,configurations:a};return Ce(n,`${JSON.stringify(s,null,2)}\n`,`utf-8`),{action:o>=0?`merged`:`created`,configPath:n}}catch(e){return{action:`failed`,configPath:n,error:e instanceof Error?e.message:String(e)}}}function Ta(e,t,n){try{return V(e.detectPath?.(t,n)??L(e.configPath(t,n)))}catch{return!1}}function Ea(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&&!Ta(e,t,r))return{editorId:e.id,label:e.label,action:`skipped-missing`,configPath:o,serverName:a};if(i!==void 0)try{ce(o,t)}catch(t){return{editorId:e.id,label:e.label,action:`failed`,configPath:o,serverName:a,error:t instanceof Error?t.message:String(t),configScope:`project`}}let 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{ye(L(o),{recursive:!0})}catch(t){return{editorId:e.id,label:e.label,action:`failed`,configPath:o,serverName:a,error:t instanceof Error?t.message:String(t),...i===void 0?{}:{configScope:`project`}}}let l={action:`written`},u;try{b(`${o}.lock`,()=>{let t=xi(o).writePath;if(ye(L(t),{recursive:!0}),e.format===`toml`){let n=ca(ki(),t,e.topLevelKey,a,c);l.action=n.kind,n.kind===`declined`&&(l.declineReason=n.reason);return}let n=sa(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`}}}function Da(e,t){let n=e.projectConfigPath?.(t);if(!(!n||!V(n)))return{editorId:e.id,label:e.label,path:n}}async function Oa(e){let t=ie(e.editors),n={mode:`published`,skipAvailabilityCheck:!0};return t.map(t=>Ea(t,``,n,e.home))}function ka(e,t,n,r){let i=ja(e,t,n,r);return i.kind===`present`?i.entry:null}function Aa(e,t,n,r){let i=oa(e,t,r);if(!A(i))return{kind:`no-entry`};let a=i[n];return A(a)?{kind:`present`,entry:a}:{kind:`no-entry`}}function ja(e,t,n,r){let i;try{i=r??e.configPath(t,n)}catch{return{kind:`absent`}}if(!V(i))return{kind:`absent`};try{if(Se(i).size>ta)return{kind:`decline`,reason:`oversize`}}catch{return{kind:`decline`,reason:`unparseable`}}let a;try{a=H(i,`utf-8`)}catch{return{kind:`decline`,reason:`unparseable`}}if(a.trim()===``)return{kind:`absent`};let o=e.serverName(t);if(e.format===`toml`){let t;try{t=ki().parseToObject(a)}catch{return{kind:`decline`,reason:`unparseable`}}return Aa(t,e.topLevelKey,o,e.serverMapSubKey)}let s=Zi(a);return s?Qi(s,e.topLevelKey)>1?{kind:`decline`,reason:`duplicate-container`}:Aa(ur(s),e.topLevelKey,o,e.serverMapSubKey):{kind:`decline`,reason:`unparseable`}}async function Ma(e={}){let t=me(e.cwd??process.cwd()),n=pi(t,{homeDir:e.home}),r=n.projectRoot,i=!V(R(r,`.ok`)),a=n.gitRootPromoted?z(r,t):void 0,o=e.contentDir===void 0?n.defaultContentDir:_a(e.contentDir,r,t);n.ancestorPromoted?console.log(`[ok] Opened existing project at ${r}`):n.gitRootPromoted&&i&&o===`.`&&process.stderr.write(`${F(`[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 te(r),l;try{l=m(r,{contentDir:o})}catch(t){let i=k.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(ne),d=!1;if(c.didInit)try{d=ee(r)===`created`}catch(e){console.warn(`[ok] Skipping .gitignore seed at ${r}: ${e instanceof Error?e.message:String(e)}`)}let f=await fa({scope:e.scope,mcp:e.mcp,isTTY:e.isTTY,promptFn:e.promptFn}),p=e.editors??Ra(r,e.home),h=e.editors??re.filter(e=>k[e].projectConfigPath!==void 0),g=ie(p),_=ie(h),v=e.mcp===!1||f===null,b=Array.from(new Map([...g,...v?[]:_].map(e=>[e.id,e])).values()),x=g.filter(t=>Ta(t,r,e.home)),C=[],w=[],D=new Set;for(let t of b){if(v){let n=``;try{n=t.configPath(r,e.home)}catch{}C.push({editorId:t.id,label:t.label,action:`skipped-flag`,configPath:n,serverName:t.serverName(r)});continue}if(la(f)&&g.includes(t)&&C.push(Ea(t,r,s,e.home)),ua(f)&&_.includes(t)&&t.projectConfigPath){let n=t.projectConfigPath(r),i=Ea(t,r,s,e.home,n);C.push(i),(i.action===`written`||i.action===`overwritten`)&&D.add(n)}}let O=new Set;for(let e of _){let t=e.projectSkillPath?.(r);!t||O.has(t)||(O.add(t),w.push(oe(e,r)))}let ae=!v&&f!==null&&ua(f)?_.filter(e=>!e.projectConfigPath).map(e=>e.label):void 0,ce=v?[]:x.map(e=>Da(e,r)).filter(e=>e!==void 0).filter(e=>!D.has(e.path)),A=x.some(e=>e.id===`claude`)&&!v?wa(r,s):void 0,j=e.installUserSkill??y,M=e.home??_e(),N=ga(e.skills),P=!1,I=!1,le=!1,ue=!1;for(let t of E){let n=N.has(t);if(await T(M,S[t],n).catch(()=>{}),n){P=!0;let n=await j({home:e.home,bundleId:t,force:!0});n===`installed`?I=!0:n===`failed`?le=!0:ue=!0}else try{se(M,t)}catch{}}let de=le?`failed`:I?`installed`:P&&ue?`skip-current`:`declined`,fe=v?`skipped-flag`:`skipped-missing`,L=C.find(e=>e.editorId===`claude`)??C[0]??{action:fe,configPath:k.claude.configPath(r,e.home)},pe=await Na({projectRoot:r,desiredMode:await ma({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:C,projectSkills:w,legacyProjectConfigs:ce,launchJson:A,skillInstall:de,didGitInit:c.didInit,rootGitignoreCreated:d,gitRootPromoted:n.gitRootPromoted,promotedFromDir:a,contentDir:u?o:void 0,contentDirRequested:e.contentDir,contentScaffoldFailed:!1,mcpAction:L.action,mcpPath:L.configPath,mcpError:`error`in L?L.error:void 0,projectScopeUnsupportedLabels:ae,sharing:pe}}async function Na(e){let{projectRoot:t,desiredMode:n,explicitFlag:r}=e,i=En(t);if(i===`no-git`)return{kind:`no-exclude`,reason:`no-git`,localOnlyRequested:r===`local-only`};let a=Cn(t);if(n===`local-only`){let e=wn(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`}:Pa(t,e,`add`)}if(i===`shared`)return{kind:`applied`,mode:`shared`,action:`noop`,appended:[],alreadyPresent:[],removed:[]};let o=Tn(t,a);return o.kind===`no-exclude`?{kind:`no-exclude`,reason:o.reason,localOnlyRequested:!1}:Pa(t,o,`remove`)}function Pa(e,t,n){let r=En(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 Fa(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 Ia(e,t){let n=[],r=e.editors.some(e=>e.action===`written`||e.action===`overwritten`),i=e.editors.some(e=>e.action===`failed`)||e.projectSkills.some(e=>e.action===`failed`),a=e.editors.length>0&&e.editors.every(e=>e.action===`skipped-flag`),o=e.editors.length>0&&e.editors.every(e=>e.action===`skipped-missing`),s=e=>{let n=e.configPath.startsWith(t)?z(t,e.configPath):e.configPath;switch(e.action){case`created`:return` app preview server ${n} configured for Claude Code Desktop embedded browser`;case`merged`:return` app preview server ${n} updated for Claude Code Desktop embedded browser`;case`failed`:return` app preview server ${n} FAILED: ${e.error}`}};e.didGitInit&&n.push(`Initialized git repo at ${t}/.git/ (default branch: main)`),e.rootGitignoreCreated&&n.push(`Seeded .gitignore at ${t}/.gitignore (.DS_Store)`);let c=R(t,`.ok`);if(e.contentCreated.length>0||e.contentUpdated.length>0?(n.push(I(`Content scaffolded at ${c}/`)),e.contentCreated.length>0&&n.push(` Created: ${e.contentCreated.join(`, `)}`),e.contentUpdated.length>0&&n.push(` Updated: ${e.contentUpdated.join(`, `)}`)):n.push(I(`Content already present at ${c}/`)),e.contentSkipped.length>0&&n.push(` Skipped (already exist): ${e.contentSkipped.join(`, `)}`),n.push(``),e.mcpError&&e.editors.length===0)n.push(`Warning: ${e.mcpError}`);else if(e.editors.length===0)if(n.push(I(`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(I(`MCP server configuration:`)),n.push(` No supported editor config directories detected; skipped MCP registration`);else{n.push(I(`MCP server configuration:`));for(let r of e.editors){let i=r.configPath.startsWith(t)?z(t,r.configPath):r.configPath.replace(/^\/Users\/[^/]+/,`~`),a=r.serverName===`open-knowledge`?``:` (${r.serverName})`,o=r.configScope===`project`?` (project)`:``,c=`${r.label}${o}`,l=` `.repeat(Math.max(1,20-c.length)),u=r.editorId===`claude-desktop`&&(r.action===`written`||r.action===`overwritten`)?` — quit and relaunch Claude Desktop to activate`:``;switch(r.action){case`written`:n.push(` ${c}${l}${i} ${N(`registered`)}${a}${u}`);break;case`overwritten`:n.push(` ${c}${l}${i} ${N(`updated`)}${a}${u}`);break;case`skipped-missing`:n.push(` ${c}${l}${i} config root missing; skipped`);break;case`failed`:n.push(` ${c}${l}${i} ${P(`FAILED`)}: ${r.error}`);break;case`declined`:n.push(` ${c}${l}${i} left unchanged (${Fa(r.declineReason)})`);break;case`skipped-flag`:break;default:r.action}r.editorId===`claude`&&e.launchJson&&n.push(s(e.launchJson))}if(e.projectScopeUnsupportedLabels&&e.projectScopeUnsupportedLabels.length>0){let t=e.projectScopeUnsupportedLabels.join(`, `),r=e.projectScopeUnsupportedLabels.length===1?`does`:`do`;n.push(` ${t} ${r} not support project-level config; skipped`)}}if(e.projectSkills.length>0){n.push(``),n.push(I(`Project-local skills:`));for(let r of e.projectSkills){let e=`${r.label} (project)`,i=` `.repeat(Math.max(1,20-e.length)),a=r.path?z(t,r.path):``;switch(r.action){case`written`:n.push(` ${e}${i}${a} ${N(`installed`)}`);break;case`overwritten`:n.push(` ${e}${i}${a} ${N(`updated`)}`);break;case`skipped-unsupported`:n.push(` ${e}${i}no known project skill surface; skipped`);break;case`failed`:n.push(` ${e}${i}${a} ${P(`FAILED`)}: ${r.error}`);break}}}if(i&&(n.push(``),n.push(`For failed editors, add the MCP server entry or project skill manually. See:`),n.push(` https://github.com/inkeep/open-knowledge#mcp-setup`)),e.legacyProjectConfigs.length>0){n.push(``),n.push(`Project MCP configs found:`);for(let r of e.legacyProjectConfigs)n.push(` ${r.label} ${z(t,r.path)}`);n.push(` These project-local files may override the global config. Remove them if you want fully user-scoped MCP setup in this project.`)}if(e.skillInstall)switch(n.push(``),n.push(I(`User-global skill:`)),e.skillInstall){case`installed`:n.push(` open-knowledge ${N(`installed to detected agent hosts`)} via \`npx skills\``);break;case`skip-current`:n.push(` open-knowledge ${N(`already installed at current version`)}`);break;case`declined`:n.push(` open-knowledge ${M(`skipped (opted out via --no-skills)`)}`);break;case`failed`:n.push(` ${F(`open-knowledge install failed — MCP still configured; run manually:`)}`),n.push(` ${F(` 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(F(`⚠ --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(F(`⚠ 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(le(e.preview,t))):e.previewWarning&&(n.push(``),n.push(`Content preview unavailable: ${e.previewWarning}`)),n.push(``),n.push(...Va(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(`${N(`✓`)} ${I(`Next steps:`)}`),n.push(` 1. Open your editor (${j(r.join(` / `))})`),n.push(` 2. Approve the MCP server when prompted`),n.push(` 3. (Optional) scaffold the starter knowledge-base structure:`),n.push(` - ${j(`ok seed`)} — empty repo, Karpathy 3-layer`),n.push(` - ${j(`mcp__open-knowledge__discover`)} — existing repo, extract conventions`),n.push(` 4. Use the MCP workflow tools as you build the wiki:`),n.push(` - ${j(`mcp__open-knowledge__ingest`)} — capture an external source`),n.push(` - ${j(`mcp__open-knowledge__research`)} — gather sources and write findings`),n.push(` - ${j(`mcp__open-knowledge__consolidate`)} — promote research to canonical articles`)}return n.join(`
|
|
318
|
-
`)}function La(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 Ra(e,t){let n=[];for(let r of re)Ta(k[r],e,t)&&n.push(r);return n}function za(){let e={log:console.log,info:console.info,debug:console.debug},t=(...e)=>{process.stderr.write(`${e.map(e=>typeof e==`string`?e:Te(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 Ba(){return new O(`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 D(`--scope <scope>`,`Write MCP config at user level, project level, or both`).choices([`user`,`project`,`both`])).addOption(new D(`--shared`,`Commit OK config alongside content (the default for fresh repos)`).conflicts(`localOnly`)).addOption(new D(`--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?za():null;try{let r;try{r=await Ma({cwd:t,mcp:e.mcp,devMcp:e.devMcp,scope:e.scope,sharing:n,contentDir:e.contentDir,skills:e.skills})}catch(e){if(e instanceof ha){process.stderr.write(`${e.message}\n`),process.exitCode=64;return}if(e instanceof p||e instanceof g){process.stderr.write(`${e.message}\n`),process.exitCode=78;return}if(e instanceof h){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.
|
|
319
|
-
`),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-z1b3_1sK.mjs`),{resolveContentDir:s}=await import(`./dist-D8lHZNr8.mjs`),c;try{c=o(r.projectRoot).config,i=c.content.dir}catch(e){r.previewWarning=e instanceof Error?e.message:String(e)}if(c)try{let{previewContent:e}=await import(`./preview-C9s_wKIU.mjs`),t=s(c,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(La(r,{contentDir:i,contentFileCount:a}),null,2)}\n`):process.stdout.write(`${Ia(r,r.projectRoot)}\n`),(r.editors.some(e=>e.action===`failed`)||r.mcpAction===`failed`)&&(process.exitCode=1)}finally{r?.()}})}function Va(e,t){let n=[];switch(e.kind){case`applied`:return n.push(I(`Sharing mode:`)),e.mode===`local-only`?e.action===`added`?n.push(` ${N(`local-only`)} — appended ${e.appended.length} path(s) to ${I(`${t}/.git/info/exclude`)} (per-clone, not committed).`):e.action===`noop`&&e.alreadyPresent.length>0?n.push(` ${N(`local-only`)} — already excluded; nothing to do.`):n.push(` ${N(`local-only`)}`):e.action===`removed`?n.push(` ${N(`shared`)} — removed OK paths from ${I(`${t}/.git/info/exclude`)}; commit the files to share with teammates.`):n.push(` ${N(`shared`)} — OK config will be committed alongside content.`),n;case`refused-tracked`:n.push(F(`Sharing mode: switch to local-only deferred`));for(let t of e.remediation.split(`
|
|
320
|
-
`))n.push(t.length>0?` ${t}`:``);return n.push(` Re-run ${j(`ok config-sharing unshare`)} after resolving to complete the switch.`),n;case`no-exclude`:if(e.localOnlyRequested)n.push(F(`Sharing mode: --local-only requested but no git repo found — option ignored`)),n.push(` Run ${j(`git init`)} (or open this folder via OK Desktop, which can scaffold a repo) and then ${j(`ok config-sharing unshare`)}.`);else if(e.reason===`no-git`)return[];else n.push(F(`Sharing mode unavailable: ${e.reason}.`));return n}}export{ur as A,ln as B,qi as C,gr as D,Tr as E,Cn as F,Ve as G,mt as H,On as I,En as L,wn as M,kn as N,hr as O,Dn as P,Tn as R,Oa as S,pi as T,pt as U,_t as V,G as W,ma as _,Ca as a,ia as b,ja as c,Va as d,Ba as f,_a as g,fa as h,Sa as i,lr as j,_r as k,Ra as l,ga as m,ba as n,Na as o,ka as p,xa as r,La as s,ha as t,Ia as u,Ma as v,ki as w,Ea as x,wa as y,Sn as z};
|
|
321
|
-
//# sourceMappingURL=init-Dvj0QJzs.mjs.map
|
package/dist/loader-z1b3_1sK.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./loader-DLBG2Jf0.mjs";export{e as loadConfig};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,t}from"./preview-DMdR22hR.mjs";export{t as formatPreviewBlock,e as previewContent};
|