@rainmanhhh/pi-web 0.15.20 → 0.15.21
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/server.mjs +1 -1
- package/dist/static/assets/{CodeMirrorEditor-rhafzkvZ.js → CodeMirrorEditor-B_uaQIlR.js} +2 -2
- package/dist/static/assets/{abnfDiagram-VCTEODGH-BODBSrhm.js → abnfDiagram-VCTEODGH-BTln3J2A.js} +1 -1
- package/dist/static/assets/architecture-7GRP2DOG-t1vpz4e0.js +1 -0
- package/dist/static/assets/{architectureDiagram-5GKGNRK7-yqcM84Q7.js → architectureDiagram-5GKGNRK7-DEh11QP1.js} +1 -1
- package/dist/static/assets/{blockDiagram-I7D4REHJ-DspDAIFT.js → blockDiagram-I7D4REHJ-DCQC2a1U.js} +1 -1
- package/dist/static/assets/{c4Diagram-7LVT6UL2-DGGFqMcQ.js → c4Diagram-7LVT6UL2-CBilw_gi.js} +1 -1
- package/dist/static/assets/channel-Qpz7T57b.js +1 -0
- package/dist/static/assets/{chunk-4HAMMTFA-wvwvG-9T.js → chunk-4HAMMTFA-C_JrskoT.js} +1 -1
- package/dist/static/assets/{chunk-75Z2AOVW-DFFzrO_7.js → chunk-75Z2AOVW-CfXH2WuR.js} +1 -1
- package/dist/static/assets/{chunk-DU6HZSFF-D5rKd9Ny.js → chunk-DU6HZSFF-Cok-A1CS.js} +3 -2
- package/dist/static/assets/{chunk-F27PBJKO-dhGQwhUt.js → chunk-F27PBJKO-oyC5nnFZ.js} +1 -1
- package/dist/static/assets/{chunk-GMAD6QVW-wXu7IyMR.js → chunk-GMAD6QVW-Bj9AqLrP.js} +1 -1
- package/dist/static/assets/{chunk-GVQU2GXP-OwQwqGHF.js → chunk-GVQU2GXP-ys-ZKoke.js} +1 -1
- package/dist/static/assets/{chunk-IMKFNOWR-_IrCc5yc.js → chunk-IMKFNOWR-BVv0S1pd.js} +1 -1
- package/dist/static/assets/{chunk-L3NEJ4N5-DTI8dhSE.js → chunk-L3NEJ4N5-CxaDCiHw.js} +1 -1
- package/dist/static/assets/{chunk-OSK3NFVY-Dtf5z0mW.js → chunk-OSK3NFVY-dv1TAbf7.js} +1 -1
- package/dist/static/assets/{chunk-P2QGCYS3-DMzYRwd-.js → chunk-P2QGCYS3-BVE5HEi1.js} +1 -1
- package/dist/static/assets/{chunk-POPQ4Y6H-Ja6f9q-b.js → chunk-POPQ4Y6H-B1YzfDM8.js} +1 -1
- package/dist/static/assets/{chunk-PWAF6VOD-D8E1UAEB.js → chunk-PWAF6VOD-gbShORPe.js} +1 -1
- package/dist/static/assets/{chunk-SHT3W25Y-BOkUfeZw.js → chunk-SHT3W25Y-BLPZ3pPL.js} +1 -1
- package/dist/static/assets/{chunk-SVP7TREG-DOlGY1Bq.js → chunk-SVP7TREG-BCZgT1m2.js} +1 -1
- package/dist/static/assets/{chunk-TICWLB2K-DrgNwABC.js → chunk-TICWLB2K-Bnbjrbpv.js} +1 -1
- package/dist/static/assets/classDiagram-ZZMXUADV-BgcRoySA.js +1 -0
- package/dist/static/assets/classDiagram-v2-VYDZK3BY-BgcRoySA.js +1 -0
- package/dist/static/assets/{cynefin-OW5HDTMX-BNaV7-za.js → cynefin-OW5HDTMX-BCsSPTLm.js} +1 -1
- package/dist/static/assets/{cynefinDiagram-5FMLGOSQ-DANs9e9_.js → cynefinDiagram-5FMLGOSQ-shk_DUM6.js} +1 -1
- package/dist/static/assets/{dagre-GXQ25YYZ-B1F3E-Y3.js → dagre-GXQ25YYZ-B-s10AGN.js} +1 -1
- package/dist/static/assets/{diagram-S7CK7UJ4-DocKut04.js → diagram-S7CK7UJ4-CYbbRvHO.js} +1 -1
- package/dist/static/assets/{diagram-UQ7AKVKN-3qKvZoAM.js → diagram-UQ7AKVKN-CqCADZ-9.js} +1 -1
- package/dist/static/assets/{diagram-VSXAHHWV-BaFhpmmF.js → diagram-VSXAHHWV-D064mNY0.js} +1 -1
- package/dist/static/assets/{diagram-VX7I27RA-CwQ02SVv.js → diagram-VX7I27RA-BgzoG8zP.js} +1 -1
- package/dist/static/assets/{diagram-Z3DM3KII-CQ1ycJE4.js → diagram-Z3DM3KII-jm0BiglU.js} +1 -1
- package/dist/static/assets/{ebnfDiagram-PWID7BFC-COrtCfdj.js → ebnfDiagram-PWID7BFC-BY6rw3pW.js} +1 -1
- package/dist/static/assets/{erDiagram-RLTQ6QDP-mM3Z1LEh.js → erDiagram-RLTQ6QDP-DRstIX9i.js} +1 -1
- package/dist/static/assets/eventmodeling-NTZA5JFV-yDcwp6lt.js +1 -0
- package/dist/static/assets/flowDiagram-HODETNUW-DnPPZa4g.js +1 -0
- package/dist/static/assets/{ganttDiagram-EL5Y4UJY-BTCSQFRh.js → ganttDiagram-EL5Y4UJY-mydzK_Bn.js} +1 -1
- package/dist/static/assets/{gitGraph-4MIJSDKK-D8Sh2Cgw.js → gitGraph-4MIJSDKK-BeB8li5e.js} +1 -1
- package/dist/static/assets/{gitGraphDiagram-WWUBYQGX-DOoYWfPN.js → gitGraphDiagram-WWUBYQGX-DMurycuW.js} +1 -1
- package/dist/static/assets/highlighted-body-KPVGNVTW-CzKQfdpv.js +1 -0
- package/dist/static/assets/{index-BhGaRe2L.js → index-CDxi_40j.js} +121 -121
- package/dist/static/assets/{info-A6RAGUB7-rdqu0Ydx.js → info-A6RAGUB7-DT_t2Tpv.js} +1 -1
- package/dist/static/assets/{infoDiagram-27XIBGKW-CzZRZCqJ.js → infoDiagram-27XIBGKW-BlCCDdqF.js} +1 -1
- package/dist/static/assets/{ishikawaDiagram-5VMMS53U-Bpy2Klg4.js → ishikawaDiagram-5VMMS53U-Dxspmkz2.js} +1 -1
- package/dist/static/assets/{journeyDiagram-3NMN7TZE-BAwkulqb.js → journeyDiagram-3NMN7TZE-B3y4nD6d.js} +1 -1
- package/dist/static/assets/{kanban-definition-UXKFOSKX-CA5r5r9s.js → kanban-definition-UXKFOSKX-DtQxRxYl.js} +1 -1
- package/dist/static/assets/{line-0WnuE7FZ.js → line-yAMKkjkn.js} +1 -1
- package/dist/static/assets/mermaid-HWGCJPDP-DeEXv092.js +1 -0
- package/dist/static/assets/{mermaid-parser.core-DlWfmXtC.js → mermaid-parser.core-Bt-NTqTu.js} +3 -3
- package/dist/static/assets/{mermaid.core-975eZGAG.js → mermaid.core-Ccd3XIq_.js} +4 -4
- package/dist/static/assets/{mindmap-definition-YA3MSWOX-DC9ftBqf.js → mindmap-definition-YA3MSWOX-CJvpN6ko.js} +1 -1
- package/dist/static/assets/{packet-AYTQ26CC-BesWA_64.js → packet-AYTQ26CC-EqnPCLhX.js} +1 -1
- package/dist/static/assets/{pegDiagram-XKGWAZYB-Br9HNKgk.js → pegDiagram-XKGWAZYB-erVXA7R1.js} +1 -1
- package/dist/static/assets/{pie-WAS4IAKB-DKZhLOe9.js → pie-WAS4IAKB-Bntx2SVn.js} +1 -1
- package/dist/static/assets/{pieDiagram-E7YTZNPT-uKtaV7Ml.js → pieDiagram-E7YTZNPT-CNvZEFx8.js} +1 -1
- package/dist/static/assets/{quadrantDiagram-AXDQQJYC-D2hdwMUI.js → quadrantDiagram-AXDQQJYC-B77v5nsX.js} +1 -1
- package/dist/static/assets/{radar-RG4KPBEZ-rI9escyt.js → radar-RG4KPBEZ-DLFXfBEA.js} +1 -1
- package/dist/static/assets/{railroad-74A4TZTK-BA35lYIB.js → railroad-74A4TZTK-Dt7418s6.js} +1 -1
- package/dist/static/assets/railroad-abnf-HS5TGJTU-D6cFd8f9.js +1 -0
- package/dist/static/assets/railroad-ebnf-LZEXJU2U-DFaxAxL1.js +1 -0
- package/dist/static/assets/railroad-peg-WCYAUIDC-CZJ_ATS3.js +1 -0
- package/dist/static/assets/{railroadDiagram-O6MQD6OU-DdgO6X6U.js → railroadDiagram-O6MQD6OU-CtV-sCmq.js} +1 -1
- package/dist/static/assets/{requirementDiagram-BXWQKSXE-CPJDb0cb.js → requirementDiagram-BXWQKSXE-BzRqHEnJ.js} +1 -1
- package/dist/static/assets/{sankeyDiagram-P5KCCOFB-6Crso2sf.js → sankeyDiagram-P5KCCOFB-gQINnyk3.js} +1 -1
- package/dist/static/assets/{sequenceDiagram-WJ2MYXX4-CgdBUje1.js → sequenceDiagram-WJ2MYXX4-BFJ2RUWC.js} +1 -1
- package/dist/static/assets/{stateDiagram-D77RDMKH-Dm3jkV--.js → stateDiagram-D77RDMKH-B1yZnGVL.js} +1 -1
- package/dist/static/assets/stateDiagram-v2-MP3YSRHH-CWs-2TtB.js +1 -0
- package/dist/static/assets/{swimlanes-42K2YHIH-Dvp86uHC.js → swimlanes-42K2YHIH-Cx6VD4Ak.js} +1 -1
- package/dist/static/assets/swimlanesDiagram-VR7AAH4N-OvCnH9Zm.js +8 -0
- package/dist/static/assets/{timeline-definition-24CTP7MA-DQ_0crFc.js → timeline-definition-24CTP7MA-CcoQp3lu.js} +1 -1
- package/dist/static/assets/{treeView-Q6P3EWNA-xbODCGjk.js → treeView-Q6P3EWNA-CTOH6pPe.js} +1 -1
- package/dist/static/assets/{treemap-WGGIJYW6-hlpLwlJ2.js → treemap-WGGIJYW6-kAbifyB3.js} +1 -1
- package/dist/static/assets/{vennDiagram-4TSXK5OY-9tgUYV91.js → vennDiagram-4TSXK5OY-DS6t-tRC.js} +1 -1
- package/dist/static/assets/{wardley-WFR3VGLG-CPGQf6dL.js → wardley-WFR3VGLG-DaPHsQ0w.js} +1 -1
- package/dist/static/assets/{wardleyDiagram-VM6X3IG4-U9lHQnC8.js → wardleyDiagram-VM6X3IG4-CbgYBj5_.js} +1 -1
- package/dist/static/assets/{xychartDiagram-S5SC5T6Z-HP2gBxTN.js → xychartDiagram-S5SC5T6Z-B7tXYZoJ.js} +1 -1
- package/dist/static/index.html +1 -1
- package/package.json +1 -1
- package/dist/static/assets/architecture-7GRP2DOG-BP4RToqd.js +0 -1
- package/dist/static/assets/channel-CyDnf8vS.js +0 -1
- package/dist/static/assets/classDiagram-ZZMXUADV-CXTJHG2K.js +0 -1
- package/dist/static/assets/classDiagram-v2-VYDZK3BY-CXTJHG2K.js +0 -1
- package/dist/static/assets/eventmodeling-NTZA5JFV-CqOjkmB9.js +0 -1
- package/dist/static/assets/flowDiagram-HODETNUW-Dvft8zk_.js +0 -1
- package/dist/static/assets/highlighted-body-KPVGNVTW-Cixfi9wc.js +0 -1
- package/dist/static/assets/katex-GAxSWBzH.js +0 -257
- package/dist/static/assets/mermaid-HWGCJPDP-CEFvD296.js +0 -1
- package/dist/static/assets/railroad-abnf-HS5TGJTU-CJvQR715.js +0 -1
- package/dist/static/assets/railroad-ebnf-LZEXJU2U-B8viCNLW.js +0 -1
- package/dist/static/assets/railroad-peg-WCYAUIDC-DyhUEqvs.js +0 -1
- package/dist/static/assets/stateDiagram-v2-MP3YSRHH-Bj_aRpSP.js +0 -1
- package/dist/static/assets/swimlanesDiagram-VR7AAH4N-CflYA8lR.js +0 -8
package/dist/server.mjs
CHANGED
|
@@ -256,7 +256,7 @@ Expecting one of '${n.join("', '")}'`);if(this._lifeCycleHooks[e])this._lifeCycl
|
|
|
256
256
|
`),this.outputHelp({error:!0});let n=t||{},r=n.exitCode||1,i=n.code||"commander.error";this._exit(r,i,e)}_parseOptionsEnv(){this.options.forEach((e)=>{if(e.envVar&&e.envVar in ge.env){let t=e.attributeName();if(this.getOptionValue(t)===void 0||["default","config","env"].includes(this.getOptionValueSource(t)))if(e.required||e.optional)this.emit(`optionEnv:${e.name()}`,ge.env[e.envVar]);else this.emit(`optionEnv:${e.name()}`)}})}_parseOptionsImplied(){let e=new ih(this.options),t=(n)=>this.getOptionValue(n)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(n));this.options.filter((n)=>n.implied!==void 0&&t(n.attributeName())&&e.valueFromOption(this.getOptionValue(n.attributeName()),n)).forEach((n)=>{Object.keys(n.implied).filter((r)=>!t(r)).forEach((r)=>{this.setOptionValueWithSource(r,n.implied[r],"implied")})})}missingArgument(e){let t=`error: missing required argument '${e}'`;this.error(t,{code:"commander.missingArgument"})}optionMissingArgument(e){let t=`error: option '${e.flags}' argument missing`;this.error(t,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(e){let t=`error: required option '${e.flags}' not specified`;this.error(t,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(e,t){let n=(o)=>{let s=o.attributeName(),a=this.getOptionValue(s),c=this.options.find((d)=>d.negate&&s===d.attributeName()),u=this.options.find((d)=>!d.negate&&s===d.attributeName());if(c&&(c.presetArg===void 0&&a===!1||c.presetArg!==void 0&&a===c.presetArg))return c;return u||o},r=(o)=>{let s=n(o),a=s.attributeName();if(this.getOptionValueSource(a)==="env")return`environment variable '${s.envVar}'`;return`option '${s.flags}'`},i=`error: ${r(e)} cannot be used with ${r(t)}`;this.error(i,{code:"commander.conflictingOption"})}unknownOption(e){if(this._allowUnknownOption)return;let t="";if(e.startsWith("--")&&this._showSuggestionAfterError){let r=[],i=this;do{let o=i.createHelp().visibleOptions(i).filter((s)=>s.long).map((s)=>s.long);r=r.concat(o),i=i.parent}while(i&&!i._enablePositionalOptions);t=oh(e,r)}let n=`error: unknown option '${e}'${t}`;this.error(n,{code:"commander.unknownOption"})}_excessArguments(e){if(this._allowExcessArguments)return;let t=this.registeredArguments.length,n=t===1?"":"s",r=e.length,i=this.parent?` for '${this.name()}'`:"",o=e.join(", "),s=`error: too many arguments${i}. Expected ${t} argument${n} but got ${r}: ${o}.`;this.error(s,{code:"commander.excessArguments"})}unknownCommand(){let e=this.args[0],t="";if(this._showSuggestionAfterError){let r=[];this.createHelp().visibleCommands(this).forEach((i)=>{if(r.push(i.name()),i.alias())r.push(i.alias())}),t=oh(e,r)}let n=`error: unknown command '${e}'${t}`;this.error(n,{code:"commander.unknownCommand"})}version(e,t,n){if(e===void 0)return this._version;this._version=e,t=t||"-V, --version",n=n||"output the version number";let r=this.createOption(t,n);return this._versionOptionName=r.attributeName(),this._registerOption(r),this.on("option:"+r.name(),()=>{this._outputConfiguration.writeOut(`${e}
|
|
257
257
|
`),this._exit(0,"commander.version",e)}),this}description(e,t){if(e===void 0&&t===void 0)return this._description;if(this._description=e,t)this._argsDescription=t;return this}summary(e){if(e===void 0)return this._summary;return this._summary=e,this}alias(e){if(e===void 0)return this._aliases[0];let t=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)t=this.commands[this.commands.length-1];if(e===t._name)throw Error("Command alias can't be the same as its name");let n=this.parent?._findCommand(e);if(n){let r=[n.name()].concat(n.aliases()).join("|");throw Error(`cannot add alias '${e}' to command '${this.name()}' as already have command '${r}'`)}return t._aliases.push(e),this}aliases(e){if(e===void 0)return this._aliases;return e.forEach((t)=>this.alias(t)),this}usage(e){if(e===void 0){if(this._usage)return this._usage;let t=this.registeredArguments.map((n)=>Kc(n));return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?t:[]).join(" ")}return this._usage=e,this}name(e){if(e===void 0)return this._name;return this._name=e,this}helpGroup(e){if(e===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=e,this}commandsGroup(e){if(e===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=e,this}optionsGroup(e){if(e===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=e,this}_initOptionGroup(e){if(this._defaultOptionGroup&&!e.helpGroupHeading)e.helpGroup(this._defaultOptionGroup)}_initCommandGroup(e){if(this._defaultCommandGroup&&!e.helpGroup())e.helpGroup(this._defaultCommandGroup)}nameFromFilename(e){return this._name=Gn.basename(e,Gn.extname(e)),this}executableDir(e){if(e===void 0)return this._executableDir;return this._executableDir=e,this}helpInformation(e){let t=this.createHelp(),n=this._getOutputContext(e);t.prepareContext({error:n.error,helpWidth:n.helpWidth,outputHasColors:n.hasColors});let r=t.formatHelp(this,t);if(n.hasColors)return r;return this._outputConfiguration.stripColor(r)}_getOutputContext(e){e=e||{};let t=!!e.error,n,r,i;if(t)n=(s)=>this._outputConfiguration.writeErr(s),r=this._outputConfiguration.getErrHasColors(),i=this._outputConfiguration.getErrHelpWidth();else n=(s)=>this._outputConfiguration.writeOut(s),r=this._outputConfiguration.getOutHasColors(),i=this._outputConfiguration.getOutHelpWidth();return{error:t,write:(s)=>{if(!r)s=this._outputConfiguration.stripColor(s);return n(s)},hasColors:r,helpWidth:i}}outputHelp(e){let t;if(typeof e==="function")t=e,e=void 0;let n=this._getOutputContext(e),r={error:n.error,write:n.write,command:this};this._getCommandAndAncestors().reverse().forEach((o)=>o.emit("beforeAllHelp",r)),this.emit("beforeHelp",r);let i=this.helpInformation({error:n.error});if(t){if(i=t(i),typeof i!=="string"&&!Buffer.isBuffer(i))throw Error("outputHelp callback must return a string or a Buffer")}if(n.write(i),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",r),this._getCommandAndAncestors().forEach((o)=>o.emit("afterAllHelp",r))}helpOption(e,t){if(typeof e==="boolean"){if(e){if(this._helpOption===null)this._helpOption=void 0;if(this._defaultOptionGroup)this._initOptionGroup(this._getHelpOption())}else this._helpOption=null;return this}if(this._helpOption=this.createOption(e??"-h, --help",t??"display help for command"),e||t)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption(e){return this._helpOption=e,this._initOptionGroup(e),this}help(e){this.outputHelp(e);let t=Number(ge.exitCode??0);if(t===0&&e&&typeof e!=="function"&&e.error)t=1;this._exit(t,"commander.help","(outputHelp)")}addHelpText(e,t){let n=["beforeAll","before","after","afterAll"];if(!n.includes(e))throw Error(`Unexpected value for position to addHelpText.
|
|
258
258
|
Expecting one of '${n.join("', '")}'`);let r=`${e}Help`;return this.on(r,(i)=>{let o;if(typeof t==="function")o=t({error:i.error,command:i.command});else o=t;if(o)i.write(`${o}
|
|
259
|
-
`)}),this}_outputHelpIfRequested(e){let t=this._getHelpOption();if(t&&e.find((r)=>t.is(r)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function w0(e){return e.map((t)=>{if(!t.startsWith("--inspect"))return t;let n,r="127.0.0.1",i="9229",o;if((o=t.match(/^(--inspect(-brk)?)$/))!==null)n=o[1];else if((o=t.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(n=o[1],/^\d+$/.test(o[3]))i=o[3];else r=o[3];else if((o=t.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)n=o[1],r=o[3],i=o[4];if(n&&i!=="0")return`${n}=${r}:${parseInt(i)+1}`;return t})}function D0(){if(ge.env.NO_COLOR||ge.env.FORCE_COLOR==="0"||ge.env.FORCE_COLOR==="false")return!1;if(ge.env.FORCE_COLOR||ge.env.CLICOLOR_FORCE!==void 0)return!0;return}var Ale=new no;var Ms={name:"@rainmanhhh/pi-web",version:"0.15.20",description:"Web UI for the pi coding agent (fork of @agegr/pi-web)",homepage:"https://gitee.com/dsxbygzzl/pi-web#readme",repository:{type:"git",url:"git+https://gitee.com/dsxbygzzl/pi-web.git"},bugs:{url:"https://gitee.com/dsxbygzzl/pi-web/issues"},author:"rainmanhhh",license:"MIT",publishConfig:{access:"public",registry:"https://registry.npmjs.org"},engines:{node:">=24.0.0"},files:["dist","public","extensions","package.json"],bin:{"pi-web":"dist/server.mjs"},scripts:{dev:"vite","dev:lan":"vite --host 0.0.0.0",mb:"bun run --env-file=.env.manual api",mf:"bun run --env-file=.env.manual dev -- --port 3001",api:"bun run server/main.ts","api:node":"bun run build:server && node dist/server.mjs","build:server":'bun build server/main.ts --target node --outfile dist/server.mjs --minify --external "@earendil-works/*" --define "process.env.PI_WEB_PACKAGED=1"',"e2e:stop":"bun run scripts/e2e-stop.mjs",build:"vite build && bun run scripts/prune-fonts.mjs","build:analyze":"vite build --config scripts/analyze-bundle.config.ts && bun run scripts/prune-fonts.mjs",lint:"oxlint --fix",jscpd:"jscpd --config .jscpd.json",check:"tsc --noEmit",format:"biome check --write .",prepublishOnly:"bun run check && bun run build && bun run build:server","test:e2e":"playwright test","test:unit":"vitest run",prepare:"husky || true"},dependencies:{"@codemirror/commands":"^6.11.0","@codemirror/lang-css":"^6.3.1","@codemirror/lang-html":"^6.4.12","@codemirror/lang-javascript":"^6.2.5","@codemirror/lang-json":"^6.0.2","@codemirror/lang-markdown":"^6.5.2","@codemirror/lang-yaml":"^6.1.3","@codemirror/language":"^6.12.4","@codemirror/state":"^6.7.1","@codemirror/theme-one-dark":"^6.1.3","@codemirror/view":"^6.43.9","@earendil-works/pi-agent-core":"0.85.1","@earendil-works/pi-ai":"0.85.1","@earendil-works/pi-coding-agent":"0.85.1","@earendil-works/pi-tui":"0.85.1","@hono/node-server":"^2.1.1","class-variance-authority":"^0.7.1",clsx:"^2.1.1",codemirror:"^6.0.2",hono:"^4.13.5","lucide-react":"^1.37.0","p-defer":"^4.0.1",pointrix:"^1.1.0","proper-lockfile":"4.1.2","radix-ui":"^1.6.7",react:"^19.2.8","react-dom":"^19.2.8",shadcn:"^4.19.0",streamdown:"2.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0",undici:"8.10.0",virtua:"^0.50.6",ws:"^8.21.3"},devDependencies:{"@lobehub/icons":"^5.16.0","@playwright/test":"^1.62.1","@tailwindcss/postcss":"^4.3.3","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.3","@types/node":"^25.9.5","@types/ws":"^8.18.1","@types/proper-lockfile":"4.1.4","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@types/react-resizable":"^4.0.0","@types/react-syntax-highlighter":"^15.5.13","@vitejs/plugin-react":"^6.1.1",biome:"^0.3.3",commander:"^15.0.0",husky:"^9.1.7",jiti:"^2.7.0",jscpd:"^5.1.0",jsdom:"^30.0.1",katex:"^0.18.4","lint-staged":"^17.4.1",mammoth:"^1.12.2",mermaid:"^11.17.2",oxlint:"^1.80.0",postcss:"^8.5.26","react-markdown":"^10.1.0","react-syntax-highlighter":"^16.1.1","rehype-katex":"^7.0.1","rehype-raw":"^7.0.0","rehype-sanitize":"^6.0.0","remark-gfm":"^4.0.1","remark-math":"^6.0.0",tailwindcss:"^4.3.3",typescript:"^7.0.2",vite:"^8.2.2","vite-plugin-remove-console":"^2.2.0","vite-plugin-svgr":"^5.2.0",vitest:"^4.1.11"},type:"module",overrides:{katex:"^0.18.4"}};import{getAgentDir as pI}from"@earendil-works/pi-coding-agent";var E0={port:31415};var ah=(e,t,n)=>(r,i)=>{let o=-1;return s(0);async function s(a){if(a<=o)throw Error("next() called multiple times");o=a;let c,u=!1,d;if(e[a])d=e[a][0][0],r.req.routeIndex=a;else d=a===e.length&&i||void 0;if(d)try{c=await d(r,()=>s(a+1))}catch(f){if(f instanceof Error&&t)r.error=f,c=await t(f,r),u=!0;else throw f}else if(r.finalized===!1&&n)c=await n(r);if(c&&(r.finalized===!1||u))r.res=c;return r}};var T0=Symbol();var S0=(e,t)=>new Response(e,{headers:{"Content-Type":t.replace(/^[^;]+/,(r)=>r.toLowerCase())}}).formData();var C0=32,w4=1e4,Jc=(e)=>("headers"in e),k0=async(e,t=Object.create(null))=>{let{all:n=!1,dot:r=!1}=t,s=(Jc(e)?e.headers:e.raw.headers).get("Content-Type")?.split(";")[0].trim().toLowerCase();if(s==="multipart/form-data"||s==="application/x-www-form-urlencoded")return D4(e,{all:n,dot:r});return{}};async function D4(e,t){if(!Jc(e)&&e.bodyCache.formData)return A0(await e.bodyCache.formData,t);let n=Jc(e)?e.headers:e.raw.headers,r=await e.arrayBuffer(),i=S0(r,n.get("Content-Type")||"");if(!Jc(e))e.bodyCache.formData=i;let o=await i;if(o)return A0(o,t);return{}}function A0(e,t){let n=Object.create(null),r={count:0};if(e.forEach((i,o)=>{if(!(t.all||o.endsWith("[]")))n[o]=i;else E4(n,o,i)}),t.dot)Object.entries(n).forEach(([i,o])=>{if(i.includes("."))T4(n,i,o,r),delete n[i]});return n}var E4=(e,t,n)=>{if(e[t]!==void 0)if(Array.isArray(e[t]))e[t].push(n);else e[t]=[e[t],n];else if(!t.endsWith("[]"))e[t]=n;else e[t]=[n]},T4=(e,t,n,r)=>{if(/(?:^|\.)__proto__\./.test(t))return;let i=e,o=t.split(".",C0+2);if(o.length>C0+1)U0();o.forEach((s,a)=>{if(a===o.length-1)i[s]=n;else{if(!i[s]||typeof i[s]!=="object"||Array.isArray(i[s])||i[s]instanceof File){if(r.count++>=w4)U0();i[s]=Object.create(null)}i=i[s]}})},U0=()=>{throw Error("Nesting limit exceeded")};li();var B0=class{raw;#e;#t;routeIndex=0;path;bodyCache={};constructor(e,t="/",n=[[]]){this.raw=e,this.path=t,this.#t=n}param(e){return e?this.#n(e):this.#o()}#n(e){let t=this.#t[0][this.routeIndex]?.[1][e],n=this.#i(t);return n&&tu(n)}#o(){let e={},t=Object.keys(this.#t[0][this.routeIndex]?.[1]??{});for(let n of t){let r=this.#i(this.#t[0][this.routeIndex][1][n]);if(r!==void 0)e[n]=tu(r)}return e}#i(e){return this.#t[1]?this.#t[1][e]:e}query(e){return M0(this.url,e)}queries(e){return N0(this.url,e)}header(e){if(e)return this.raw.headers.get(e)??void 0;let t=Object.create(null);return this.raw.headers.forEach((n,r)=>{t[r]=n}),t}async parseBody(e){return k0(this,e)}#r=(e)=>{let{bodyCache:t,raw:n}=this,r=t[e];if(r)return r;for(let i in t)return t[i].then((o)=>{if(i==="json")o=JSON.stringify(o);return new Response(o)[e]()});return t[e]=n[e]()};json(){return this.#r("text").then((e)=>JSON.parse(e))}text(){return this.#r("text")}arrayBuffer(){return this.#r("arrayBuffer")}bytes(){return this.#r("arrayBuffer").then((e)=>new Uint8Array(e))}blob(){return this.#r("blob")}formData(){return this.#r("formData")}addValidatedData(e,t){(this.#e??={})[e]=t}valid(e){return this.#e?.[e]}get url(){return this.raw.url}get method(){return this.raw.method}get[T0](){return this.#t}get matchedRoutes(){return this.#t[0].map(([[,e]])=>e)}get routePath(){return this.#t[0].map(([[,e]])=>e)[this.routeIndex].path}};hh();var U4="text/plain; charset=UTF-8",ph=(e,t)=>({"Content-Type":e,...t}),Ns=(e,t)=>new Response(e,t),gh=class{#e;#t;env={};#n;finalized=!1;error;#o;#i;#r;#c;#s;#a;#l;#d;#f;constructor(e,t){if(this.#e=e,t)this.#i=t.executionCtx,this.env=t.env,this.#a=t.notFoundHandler,this.#f=t.path,this.#d=t.matchResult}get req(){return this.#t??=new B0(this.#e,this.#f,this.#d),this.#t}get event(){if(this.#i&&"respondWith"in this.#i)return this.#i;else throw Error("This context has no FetchEvent")}get executionCtx(){if(this.#i)return this.#i;else throw Error("This context has no ExecutionContext")}get res(){return this.#r||=Ns(null,{headers:this.#l??=new Headers})}set res(e){if(this.#r&&e){e=Ns(e.body,e);for(let[t,n]of this.#r.headers.entries()){if(t==="content-type")continue;if(t==="set-cookie"){let r=this.#r.headers.getSetCookie();e.headers.delete("set-cookie");for(let i of r)e.headers.append("set-cookie",i)}else e.headers.set(t,n)}}this.#r=e,this.finalized=!0}render=(...e)=>(this.#s??=(t)=>this.html(t),this.#s(...e));setLayout=(e)=>this.#c=e;getLayout=()=>this.#c;setRenderer=(e)=>{this.#s=e};header=(e,t,n)=>{if(this.finalized)this.#r=Ns(this.#r.body,this.#r);let r=this.#r?this.#r.headers:this.#l??=new Headers;if(t===void 0)r.delete(e);else if(n?.append)r.append(e,t);else r.set(e,t)};status=(e)=>{this.#o=e};set=(e,t)=>{this.#n??=new Map,this.#n.set(e,t)};get=(e)=>this.#n?this.#n.get(e):void 0;get var(){if(!this.#n)return{};return Object.fromEntries(this.#n)}#u(e,t,n){let r=this.#r?new Headers(this.#r.headers):this.#l;if(typeof t==="object"&&t.headers){r??=new Headers;for(let[o,s]of new Headers(t.headers))if(o==="set-cookie")r.append(o,s);else r.set(o,s)}if(n){if(!r){let o=0;for(let s in n)if(++o>1||typeof n[s]!=="string"){r=new Headers;break}}if(r)for(let o in n){let s=n[o];if(typeof s==="string")r.set(o,s);else{r.delete(o);for(let a of s)r.append(o,a)}}}let i=typeof t==="number"?t:t?.status??this.#o;return Ns(e,{status:i,headers:r??n})}newResponse=(...e)=>this.#u(...e);body=(e,t,n)=>this.#u(e,t,n);text=(e,t,n)=>!this.#l&&!this.#o&&!t&&!n&&!this.finalized?new Response(e):this.#u(e,t,ph(U4,n));json=(e,t,n)=>this.#u(JSON.stringify(e),t,ph("application/json",n));html=(e,t,n)=>{let r=(i)=>this.#u(i,t,ph("text/html; charset=UTF-8",n));return typeof e==="object"?fh(e,L0.Stringify,!1,{}).then(r):r(e)};redirect=(e,t)=>{let n=String(e);return this.header("Location",!/[^\x00-\xFF]/.test(n)?n:encodeURI(n)),this.newResponse(null,t??302)};notFound=()=>(this.#a??=()=>Ns(),this.#a(this))};xr();mh();li();var k4=(e)=>e.text("404 Not Found",404),$0=(e,t)=>{if("getResponse"in e){let n=e.getResponse();return t.newResponse(n.body,n)}return console.error(e),t.text("Internal Server Error",500)},H0=class e{get;post;put;delete;options;patch;query;all;on;use;router;getPath;_basePath="/";#e="/";routes=[];constructor(t={}){[...q0,j0].forEach((o)=>{this[o]=(s,...a)=>{if(typeof s==="string")this.#e=s;else this.#o(o,this.#e,s);return a.forEach((c)=>{this.#o(o,this.#e,c)}),this}}),this.on=(o,s,...a)=>{for(let c of[s].flat()){this.#e=c;for(let u of[o].flat())a.map((d)=>{this.#o(u.toUpperCase(),this.#e,d)})}return this},this.use=(o,...s)=>{if(typeof o==="string")this.#e=o;else this.#e="*",s.unshift(o);return s.forEach((a)=>{this.#o(qe,this.#e,a)}),this};let{strict:r,...i}=t;Object.assign(this,i),this.getPath=r??!0?t.getPath??dh:P0}#t(){let t=new e({router:this.router,getPath:this.getPath});return t.errorHandler=this.errorHandler,t.#n=this.#n,t.routes=this.routes,t}#n=k4;errorHandler=$0;route(t,n){let r=this.basePath(t);return n.routes.map((i)=>{let o;if(n.errorHandler===$0)o=i.handler;else o=async(s,a)=>(await ah([],n.errorHandler)(s,()=>i.handler(s,a))).res,o[Bs]=i.handler;r.#o(i.method,i.path,o,i.basePath)}),this}basePath(t){let n=this.#t();return n._basePath=vr(this._basePath,t),n}onError=(t)=>(this.errorHandler=t,this);notFound=(t)=>(this.#n=t,this);mount(t,n,r){let i,o;if(r)if(typeof r==="function")o=r;else if(o=r.optionHandler,r.replaceRequest===!1)i=(c)=>c;else i=r.replaceRequest;let s=o?(c)=>{let u=o(c);return Array.isArray(u)?u:[u]}:(c)=>{let u=void 0;try{u=c.executionCtx}catch{}return[c.env,u]};i||=(()=>{let c=vr(this._basePath,t),u=c==="/"?0:c.length;return(d)=>{let f=new URL(d.url);return f.pathname=this.getPath(d).slice(u)||"/",new Request(f,d)}})();let a=async(c,u)=>{let d=await n(i(c.req.raw),...s(c));if(d)return d;await u()};return this.#o(qe,vr(t,"*"),a),this}#o(t,n,r,i){t=t.toUpperCase(),n=vr(this._basePath,n);let o={basePath:i!==void 0?vr(this._basePath,i):this._basePath,path:n,method:t,handler:r};this.router.add(t,n,[r,o]),this.routes.push(o)}#i(t,n){if(t instanceof Error)return this.errorHandler(t,n);throw t}#r(t,n,r,i){if(i==="HEAD")return(async()=>new Response(null,await this.#r(t,n,r,"GET")))();let o=this.getPath(t,{env:r}),s=this.router.match(i,o),a=new gh(t,{path:o,matchResult:s,env:r,executionCtx:n,notFoundHandler:this.#n});if(s[0].length===1){let u;try{u=s[0][0][0][0](a,async()=>{a.res=await this.#n(a)})}catch(d){return this.#i(d,a)}return u instanceof Promise?u.then((d)=>d||(a.finalized?a.res:this.#n(a))).catch((d)=>this.#i(d,a)):u??this.#n(a)}let c=ah(s[0],this.errorHandler,this.#n);return(async()=>{try{let u=await c(a);if(!u.finalized)throw Error("Context is not finalized. Did you forget to return a Response object or `await next()`?");return u.res}catch(u){return this.#i(u,a)}})()}fetch=(t,...n)=>this.#r(t,n[1],n[0],t.method);request=(t,n,r,i)=>{if(t instanceof Request)return this.fetch(n?new Request(t,n):t,r,i);return t=t.toString(),this.fetch(new Request(/^https?:\/\//.test(t)?t:`http://localhost${vr("/",t)}`,n),r,i)};fire=()=>{addEventListener("fetch",(t)=>{t.respondWith(this.#r(t.request,t,void 0,t.request.method))})}};xr();li();var Ve=()=>Object.create(null);xr();var iu=[];function yh(e,t){let n=this.buildAllMatchers(),r=(i,o)=>{let s=n[i]||n[qe],a=s[2][o];if(a)return a;let c=o.match(s[0]);if(!c)return[[],iu];let u=c.indexOf("",1);return[s[1][u],c]};return this.match=r,r(e,t)}var ro="[^/]+",wr=".*",zn="(?:|/.*)",_r=Symbol(),G0=new Set(".\\+*[^]$()");function R4(e,t){if(e.length===1)return t.length===1?e<t?-1:1:-1;if(t.length===1)return 1;if(e===wr||e===zn)return t===zn?-1:1;else if(t===wr||t===zn)return-1;if(e===ro)return 1;else if(t===ro)return-1;return e.length===t.length?e<t?-1:1:t.length-e.length}var z0=class e{#e;#t;#n=Ve();insert(t,n,r,i,o){let s=this;for(let a=0,c=t.length;a<c;a++){let u=t[a],d=u.length===1?u==="*"?a===c-1?["","",wr]:["","",ro]:null:u==="/*"?["","",zn]:u.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/),f;if(d){let h=d[1],p=d[2]||ro;if(h&&d[2]){if(p===".*")throw _r;if(p=p.replace(/^\((?!\?:)(?=[^)]+\)$)/,"(?:"),/\((?!\?:)/.test(p))throw _r;if(p.length===1&&G0.has(p))throw _r}if(f=s.#n[p],!f){if(p!==wr&&p!==zn){for(let g in s.#n)if((p.length>1||g.length>1)&&g!==wr&&g!==zn)throw _r}f=s.#n[p]=new e}if(h!=="")f.#t??=i.varIndex++,r.push([h,f.#t])}else if(f=s.#n[u],!f){for(let h in s.#n)if(h.length>1&&h!==wr&&h!==zn)throw _r;f=s.#n[u]=new e}s=f}if(s.#e!==void 0)throw _r;s.#e=o?-1:n}buildRegExpStr(){let n=Object.keys(this.#n).sort(R4).map((r)=>{let i=this.#n[r],o=i.buildRegExpStr();return o===""?"":(typeof i.#t==="number"?`(${r})@${i.#t}`:G0.has(r)?`\\${r}`:r)+o}).filter(Boolean);if(typeof this.#e==="number"&&this.#e!==-1)n.unshift(`#${this.#e}`);if(n.length===0)return"";if(n.length===1)return n[0];return"(?:"+n.join("|")+")"}};var bh=class{#e={varIndex:0};#t=new z0;#n=0;paths=Ve();insert(e,t){if(t){this.#t.insert(e.split(""),0,[],this.#e,!0);return}let n=[],r=[],i=e;for(let s=0;;){let a=!1;if(i=i.replace(/\{[^}]+\}/g,(c)=>{let u=`@\\${s}`;return r[s]=[u,c],s++,a=!0,u}),!a)break}let o=i.match(/(?::[^\/]+)|(?:\/\*$)|./g)||[];for(let s=r.length-1;s>=0;s--){let[a]=r[s];for(let c=o.length-1;c>=0;c--)if(o[c].indexOf(a)!==-1){o[c]=o[c].replace(a,r[s][1]);break}}this.#t.insert(o,this.#n,n,this.#e,!1),this.paths[e]=[this.#n++,n]}buildRegExp(){let e=this.#t.buildRegExpStr();if(e==="")return[/^$/,[],[]];let t=0,n=[],r=[];return e=e.replace(/#(\d+)|@(\d+)|\.\*\$/g,(i,o,s)=>{if(o!==void 0)return n[++t]=Number(o),"$()";if(s!==void 0)return r[Number(s)]=++t,"";return""}),[new RegExp(`^${e}`),n,r]}};var V0=Ve();function X0(e){return V0[e]??=new RegExp(`^${e.replace(/\/:[^/{}]+(?:\{\[\^\/]\+})?(?=[/{]|$)|\/?\*$|([.\\+*[^\]$()?{}|])/g,(t,n)=>n?`\\${n}`:t==="/*"?zn:t==="*"?wr:`/:${ro}`)}$`)}function ou(e,t){for(let n of Object.keys(e).sort((r,i)=>i.length-r.length))if(X0(n).test(t))return[...e[n]];return}var su=class{name="RegExpRouter";#e;#t;#n;constructor(){this.#e={[qe]:Ve()},this.#t={[qe]:Ve()},this.#n={[qe]:new bh}}#o(e,t){try{this.#n[e].insert(t,!/\*|\/:/.test(t))}catch(n){throw n===_r?new ru(t):n}}add(e,t,n){let r=this.#e,i=this.#t;if(!r)throw Error(nu);if(!r[e]){this.#n[e]=new bh;for(let a of[r,i]){a[e]=Ve();for(let c in a[qe])a[e][c]=[...a[qe][c]],this.#o(e,c)}}if(t==="/*")t="*";let o=e===qe?Object.keys(r):[e];if(/\*$/.test(t)){let a=X0(t);for(let c of o)if(!r[c][t])this.#o(c,t),r[c][t]=ou(r[c],t)||ou(r[qe],t)||[];for(let c of[r,i])for(let u of o)for(let d in c[u])a.test(d)&&c[u][d].push([n,t]);return}let s=eu(t)||[t];for(let a of s)for(let c of o){if(!i[c][a])this.#o(c,a),i[c][a]=ou(r[c],a)||ou(r[qe],a)||[];i[c][a].push([n,a])}}match=yh;buildAllMatchers(){let e=Ve();for(let t of Object.keys(this.#t))e[t]=this.#i(t);return this.#e=this.#t=this.#n=void 0,V0=Ve(),e}#i(e){let t=this.#e[e],n=this.#t[e],r=this.#n[e],i=Ve(),o=[],[s,a,c]=r.buildRegExp();for(let u of[t,n])for(let d in u){let f=u[d],h=r.paths[d];if(!h){i[d]=[f.map(([p])=>[p,Ve()]),iu];continue}o[h[0]]=f.map(([p,g])=>[p,r.paths[g][1].reduceRight((b,[v],m)=>(b[v]=c[h[1][m][1]],b),Ve())])}return[s,a.map((u)=>o[u]),i]}};xr();xr();var vh=class{name="SmartRouter";#e=[];#t=[];constructor(e){this.#e=e.routers}add(e,t,n){if(!this.#t)throw Error(nu);this.#t.push([e,t,n])}match(e,t){if(!this.#t)throw Error("Fatal error");let n=this.#e,r=this.#t,i=n.length,o=0,s;for(;o<i;o++){let a=n[o];try{for(let c=0,u=r.length;c<u;c++)a.add(...r[c]);s=a.match(e,t)}catch(c){if(c instanceof ru)continue;throw c}this.match=a.match.bind(a),this.#e=[a],this.#t=void 0;break}if(o===i)throw Error("Fatal error");return this.name=`SmartRouter + ${this.activeRouter.name}`,s}get activeRouter(){if(this.#t||this.#e.length!==1)throw Error("No active router has been determined yet.");return this.#e[0]}};li();xr();li();var xh=Ve(),F4=0,K0=class e{#e=[];#t=Ve();#n=[];#o;#i=xh;insert(t,n,r){let i=this,o=R0(n),s=new Set,a=0;for(let c of o){let u=o[++a],d=F0(c,u)||(u===void 0&&c&&c.indexOf("*")===c.length-1?c:null),f=Array.isArray(d),h=f?d[0]:d||c,p=i.#t[h]||=new e;if(d&&!p.#o)p.#o=d,i.#n.push(p);if(i=p,f)s.add(d[1])}i.#e.push({[t]:{handler:r,possibleKeys:[...s],score:++F4}})}#r(t,n,r,i,o){for(let s=0,a=n.#e.length;s<a;s++){let c=n.#e[s],u=c[r]||c[qe];if(u){u.params=Ve(),t.push(u);for(let d=0,f=u.possibleKeys.length;d<f;d++){let h=u.possibleKeys[d];u.params[h]=o?.[h]&&!d?o[h]:i[h]??o?.[h]}}}}search(t,n){let r=[];this.#i=xh;let o=[this],s=uh(n),a=[],c=s.length,u=null;for(let d=0;d<c;d++){let f=s[d],h=d===c-1,p=[];for(let b=0,v=o.length;b<v;b++){let m=o[b],_=m.#t[f];if(_)if(_.#i=m.#i,h){if(_.#t["*"])this.#r(r,_.#t["*"],t,m.#i);this.#r(r,_,t,m.#i)}else p.push(_);for(let y of m.#n){let x=y.#o,D=m.#i===xh?{}:{...m.#i};if(typeof x==="string"){if(x==="*"||f.startsWith(x.slice(0,-1))){if(this.#r(r,y,t,m.#i),x==="*")y.#i=D,p.push(y)}continue}let[,C,E]=x;if(!f&&E===!0)continue;if(E!==!0){if(!u){u=[];let N=n[0]==="/"?1:0;for(let O=0;O<c;O++)u[O]=N,N+=s[O].length+1}let U=n.slice(u[d]),A=E.exec(U);if(A){if(D[C]=A[0],this.#r(r,y,t,m.#i,D),A[0].length===U.length&&y.#t["*"])this.#r(r,y.#t["*"],t,m.#i,D);for(let N in y.#t){y.#i=D;let O=A[0].match(/\//g)?.length??0;(a[O]||=[]).push(y);break}continue}}if(E===!0||E.test(f))if(D[C]=f,h){if(this.#r(r,y,t,D,m.#i),y.#t["*"])this.#r(r,y.#t["*"],t,D,m.#i)}else y.#i=D,p.push(y)}}let g=a.shift();o=g?p.concat(g):p}if(r[1])r.sort((d,f)=>d.score-f.score);return[r.map(({handler:d,params:f})=>[d,f])]}};var _h=class{name="TrieRouter";#e=new K0;add(e,t,n){for(let r of eu(t)||[t])this.#e.insert(e,r,n)}match(e,t){return this.#e.search(e,t)}};var wh=class extends H0{constructor(e={}){super(e);this.router=e.router??new vh({routers:[new su,new _h]})}};import{getAgentDir as Bae}from"@earendil-works/pi-coding-agent";import{isIP as Z0}from"node:net";function Y0(e){return(e.startsWith("[")&&e.endsWith("]")?e.slice(1,-1):e).toLowerCase().replace(/\.$/,"")}function J0(e){if(!e||/[\s/@\\]/.test(e))return null;try{let t=new URL(`http://${e}`);if(t.username||t.password||t.pathname!=="/"||t.search||t.hash)return null;return Y0(t.hostname)}catch{return null}}function O4(e){let t=e?.trim();if(!t)return null;return Z0(t)?Y0(t):J0(t)}function P4(e){return e==="localhost"||e.endsWith(".localhost")}function Q0(){return[process.env.PI_WEB_HOSTNAME,...process.env.PI_WEB_ALLOWED_HOSTS?.split(",")??[]].filter((e)=>Boolean(e?.trim()))}function e2(e){try{return new URL(e).origin}catch{return null}}function I4(e){let t=new URL(e.url),n=e.headers.get("host");return n?e2(`${t.protocol}//${n}`):null}function M4(e){if(e.method!=="GET"||e.headers.get("sec-fetch-mode")!=="navigate"||e.headers.get("sec-fetch-dest")!=="document"||e.headers.get("sec-fetch-user")!=="?1")return!1;try{return/^\/api\/sessions\/[^/]+\/export$/.test(new URL(e.url).pathname)}catch{return!1}}function Dh(e,t=Q0()){let n=e.headers.get("host"),r=n?J0(n):null;if(!r)return!1;if(P4(r)||Z0(r))return!0;return t.some((i)=>O4(i)===r)}function N4(e){let t=e.headers.get("origin");if(e.headers.get("sec-fetch-site")==="cross-site")return!1;if(!t)return!0;let r=I4(e);return r!==null&&e2(t)===r}function B4(e){return e.headers.has("origin")||e.headers.has("sec-fetch-site")}function Tt(e,t=Q0()){if(!Dh(e,t))return!1;if(M4(e))return!0;return!B4(e)||N4(e)}function Dr(e){let t=e.headers.get("content-type")?.split(";",1)[0]?.trim().toLowerCase();return t==="application/json"||Boolean(t?.startsWith("application/")&&t.endsWith("+json"))}import{createHash as L4,timingSafeEqual as W4}from"node:crypto";var j4="pi";function t2(e){return L4("sha256").update(e,"utf8").digest()}function n2(e,t){return W4(t2(e),t2(t))}function Ls(e=process.env.PI_WEB_PASSWORD){return typeof e==="string"&&e.length>0}function au(e,t=process.env.PI_WEB_PASSWORD){if(!Ls(t)||!e)return!1;let n=/^Basic\s+(\S+)$/i.exec(e);if(!n)return!1;let r;try{let u=Buffer.from(n[1],"base64");if(u.toString("base64")!==n[1])return!1;r=new TextDecoder("utf-8",{fatal:!0}).decode(u)}catch{return!1}let i=r.indexOf(":");if(i===-1)return!1;let o=r.slice(0,i),s=r.slice(i+1),a=n2(o,j4),c=n2(s,t);return a&&c}class Eh extends Request{nextUrl;constructor(e){let t=e.method!=="GET"&&e.method!=="HEAD";super(e.url,{method:e.method,headers:e.headers,body:t?e.body:void 0,duplex:t?"half":void 0,signal:e.signal});this.nextUrl=new URL(e.url)}}class w extends Response{static json(e,t){let n=new Headers(t?.headers);return n.set("content-type","application/json; charset=utf-8"),new w(JSON.stringify(e),{status:t?.status??200,statusText:t?.statusText,headers:n})}}var Th=!1,r2=performance.now();function i2(e){if(Th=e,r2=performance.now(),Th)jt("boot","debug log enabled")}function Wt(e){return(t,n)=>jt(e,t,n)}function jt(e,t,n){if(!Th)return;let r=performance.now()-r2,i=new Date,o=(a,c=2)=>String(a).padStart(c,"0"),s=`${o(i.getHours())}:${o(i.getMinutes())}:${o(i.getSeconds())}.${o(i.getMilliseconds(),3)}`;console.debug(`[debug][${e}][${s}][+${r.toFixed(1)}ms] ${t}${n?` — ${n}`:""}`)}var q4=Wt("mount"),$4=["GET","POST","PUT","PATCH","DELETE"];function ee(e,t,n){let r=t.split("/").filter(Boolean),i=[],o=new Map;for(let a of r){let c=a.match(/^\[\.\.\.(.+)\]$/),u=a.match(/^\[(.+)\]$/);if(c)i.push(`:${c[1]}{.+}`),o.set(c[1],{hono:c[1],catchAll:!0});else if(u)i.push(`:${u[1]}`),o.set(u[1],{hono:u[1],catchAll:!1});else i.push(a)}let s=`/${i.join("/")}`;for(let a of $4){let c=n[a];if(typeof c!=="function")continue;let u=c;e.on(a,s,async(d)=>{let f=performance.now(),h={};for(let[g,{hono:b,catchAll:v}]of o)if(v){let m=d.req.param(b)??"";h[g]=m===""?[]:m.split("/")}else h[g]=d.req.param(b)??"";let p=await u(new Eh(d.req.raw),{params:Promise.resolve(h)});return q4(`${a} ${d.req.path}`,`${p.status} ${Math.round(performance.now()-f)}ms`),p})}}var Mh={};Q(Mh,{GET:()=>U5});import{tmpdir as C5}from"node:os";import{Readable as A5}from"node:stream";import{constants as Sh}from"node:fs";import{lstat as H4,open as G4}from"node:fs/promises";import{basename as z4,dirname as V4,resolve as o2}from"node:path";var cu=5242880;function s2(e,t){let n=o2(e);if(V4(n)!==o2(t))return null;if(!/^pi-bash-[A-Za-z0-9_-]+\.log$/.test(z4(n)))return null;return n}async function Ch(e){if(!(await H4(e)).isFile())throw Error("Bash output path is not a regular file");let n=typeof Sh.O_NOFOLLOW==="number"?Sh.O_NOFOLLOW:0,r=await G4(e,Sh.O_RDONLY|n);try{let i=await r.stat();if(!i.isFile())throw Error("Bash output path is not a regular file");return{handle:r,fileInfo:i}}catch(i){throw await r.close(),i}}async function a2(e,t=cu){let{handle:n,fileInfo:r}=await Ch(e);try{if(r.size>t)return{tooLarge:!0,size:r.size};let i=Buffer.alloc(r.size),o=0;while(o<i.length){let s=await n.read(i,o,i.length-o,o);if(s.bytesRead===0)break;o+=s.bytesRead}return{tooLarge:!1,content:i.subarray(0,o).toString("utf8"),size:o}}finally{await n.close()}}import{open as m2,readFile as a5,readdir as c5}from"node:fs/promises";import{existsSync as u5,readdirSync as l5}from"node:fs";import{join as fu,normalize as Oh}from"node:path";import{getAgentDir as d5,buildContextEntries as f5,buildSessionContext as h5,SessionManager as y2}from"@earendil-works/pi-coding-agent";function X4(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function K4(e){if(!X4(e)||e.type!=="toolCall")return null;return{type:"toolCall",toolCallId:typeof e.toolCallId==="string"?e.toolCallId:typeof e.id==="string"?e.id:"",toolName:typeof e.toolName==="string"?e.toolName:typeof e.name==="string"?e.name:"",input:typeof e.input==="object"&&e.input!==null&&!Array.isArray(e.input)?e.input:typeof e.arguments==="object"&&e.arguments!==null&&!Array.isArray(e.arguments)?e.arguments:{}}}function Ah(e){if(e.role!=="assistant")return e;let t=e.content;if(!Array.isArray(t))return e;let n=t.map((r)=>K4(r)??r);return{...e,content:n}}import c2 from"node:path";function qt(e,t=process.platform){let n=t==="win32"?c2.win32.normalize(e):c2.posix.normalize(e);return t==="win32"?n.toLowerCase():n}import{execFile as Z4}from"node:child_process";import{existsSync as lu,mkdirSync as Y4,realpathSync as J4}from"node:fs";import{basename as Q4,dirname as kh,join as l2,resolve as e5}from"node:path";import{promisify as t5}from"node:util";function $e(e){let t=e.replace(/\\/g,"/");return/^[a-zA-Z]:$/.test(t)?`${t}/`:t}function Uh(){if(!globalThis.__piAdditionalAllowedRoots)globalThis.__piAdditionalAllowedRoots=new Set;return globalThis.__piAdditionalAllowedRoots}function yt(e){if(!e)return;let t=$e(e);Uh().add(t),globalThis.__piAllowedRootsCache?.roots.add(t)}var n5=t5(Z4),u2=60000;function r5(){if(!globalThis.__piProjectCache)globalThis.__piProjectCache=new Map;return globalThis.__piProjectCache}function d2(){globalThis.__piProjectCache?.clear()}async function di(e,t){let{stdout:n}=await n5("git",["-C",e,...t],{timeout:1e4,maxBuffer:1048576,env:{...process.env,LC_ALL:"C"}});return n.trim()}function uu(e){let t=e.replace(/\\/g,"/");if(process.platform==="win32")t=t.replace(/^\/([a-zA-Z])\/(?=.)/,(n,r)=>`${r.toUpperCase()}:/`),t=t.toLowerCase();return t}function i5(e){let t=kh(e);if(!t.endsWith("-worktrees"))return null;let n=t.slice(0,-10);if(!n||!lu(l2(n,".git")))return null;return{projectRoot:n,branch:Q4(e),isWorktree:!0,isTopLevel:!0}}async function du(e){let t=r5(),n=t.get(e);if(n&&n.expiresAt>Date.now())return n.info;let r;try{if(!lu(e))return r=i5(e)??{projectRoot:e,branch:null,isWorktree:!1,isTopLevel:!1},t.set(e,{info:r,expiresAt:Date.now()+u2}),r;let i=await di(e,["rev-parse","--path-format=absolute","--git-common-dir","--git-dir","--show-toplevel","--abbrev-ref","HEAD"]),[o,s,a,c]=i.split(`
|
|
259
|
+
`)}),this}_outputHelpIfRequested(e){let t=this._getHelpOption();if(t&&e.find((r)=>t.is(r)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function w0(e){return e.map((t)=>{if(!t.startsWith("--inspect"))return t;let n,r="127.0.0.1",i="9229",o;if((o=t.match(/^(--inspect(-brk)?)$/))!==null)n=o[1];else if((o=t.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(n=o[1],/^\d+$/.test(o[3]))i=o[3];else r=o[3];else if((o=t.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)n=o[1],r=o[3],i=o[4];if(n&&i!=="0")return`${n}=${r}:${parseInt(i)+1}`;return t})}function D0(){if(ge.env.NO_COLOR||ge.env.FORCE_COLOR==="0"||ge.env.FORCE_COLOR==="false")return!1;if(ge.env.FORCE_COLOR||ge.env.CLICOLOR_FORCE!==void 0)return!0;return}var Ale=new no;var Ms={name:"@rainmanhhh/pi-web",version:"0.15.21",description:"Web UI for the pi coding agent (fork of @agegr/pi-web)",homepage:"https://gitee.com/dsxbygzzl/pi-web#readme",repository:{type:"git",url:"git+https://gitee.com/dsxbygzzl/pi-web.git"},bugs:{url:"https://gitee.com/dsxbygzzl/pi-web/issues"},author:"rainmanhhh",license:"MIT",publishConfig:{access:"public",registry:"https://registry.npmjs.org"},engines:{node:">=24.0.0"},files:["dist","public","extensions","package.json"],bin:{"pi-web":"dist/server.mjs"},scripts:{dev:"vite","dev:lan":"vite --host 0.0.0.0",mb:"bun run --env-file=.env.manual api",mf:"bun run --env-file=.env.manual dev -- --port 3001",api:"bun run server/main.ts","api:node":"bun run build:server && node dist/server.mjs","build:server":'bun build server/main.ts --target node --outfile dist/server.mjs --minify --external "@earendil-works/*" --define "process.env.PI_WEB_PACKAGED=1"',"e2e:stop":"bun run scripts/e2e-stop.mjs",build:"vite build && bun run scripts/prune-fonts.mjs","build:analyze":"vite build --config scripts/analyze-bundle.config.ts && bun run scripts/prune-fonts.mjs",lint:"oxlint --fix",jscpd:"jscpd --config .jscpd.json",check:"tsc --noEmit",format:"biome check --write .",prepublishOnly:"bun run check && bun run build && bun run build:server","test:e2e":"playwright test","test:unit":"vitest run",prepare:"husky || true"},dependencies:{"@codemirror/commands":"^6.11.0","@codemirror/lang-css":"^6.3.1","@codemirror/lang-html":"^6.4.12","@codemirror/lang-javascript":"^6.2.5","@codemirror/lang-json":"^6.0.2","@codemirror/lang-markdown":"^6.5.2","@codemirror/lang-yaml":"^6.1.3","@codemirror/language":"^6.12.4","@codemirror/state":"^6.7.1","@codemirror/theme-one-dark":"^6.1.3","@codemirror/view":"^6.43.9","@earendil-works/pi-agent-core":"0.85.1","@earendil-works/pi-ai":"0.85.1","@earendil-works/pi-coding-agent":"0.85.1","@earendil-works/pi-tui":"0.85.1","@hono/node-server":"^2.1.1","class-variance-authority":"^0.7.1",clsx:"^2.1.1",codemirror:"^6.0.2",hono:"^4.13.5","lucide-react":"^1.37.0","p-defer":"^4.0.1",pointrix:"^1.1.0","proper-lockfile":"4.1.2","radix-ui":"^1.6.7",react:"^19.2.8","react-dom":"^19.2.8",shadcn:"^4.19.0",streamdown:"2.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0",undici:"8.10.0",virtua:"^0.50.6",ws:"^8.21.3"},devDependencies:{"@lobehub/icons":"^5.16.0","@playwright/test":"^1.62.1","@tailwindcss/postcss":"^4.3.3","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.3","@types/node":"^25.9.5","@types/ws":"^8.18.1","@types/proper-lockfile":"4.1.4","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@types/react-resizable":"^4.0.0","@types/react-syntax-highlighter":"^15.5.13","@vitejs/plugin-react":"^6.1.1",biome:"^0.3.3",commander:"^15.0.0",husky:"^9.1.7",jiti:"^2.7.0",jscpd:"^5.1.0",jsdom:"^30.0.1",katex:"^0.18.4","lint-staged":"^17.4.1",mammoth:"^1.12.2",mermaid:"^11.17.2",oxlint:"^1.80.0",postcss:"^8.5.26","react-markdown":"^10.1.0","react-syntax-highlighter":"^16.1.1","rehype-katex":"^7.0.1","rehype-raw":"^7.0.0","rehype-sanitize":"^6.0.0","remark-gfm":"^4.0.1","remark-math":"^6.0.0",tailwindcss:"^4.3.3",typescript:"^7.0.2",vite:"^8.2.2","vite-plugin-remove-console":"^2.2.0","vite-plugin-svgr":"^5.2.0",vitest:"^4.1.11"},type:"module",overrides:{katex:"^0.18.4"}};import{getAgentDir as pI}from"@earendil-works/pi-coding-agent";var E0={port:31415};var ah=(e,t,n)=>(r,i)=>{let o=-1;return s(0);async function s(a){if(a<=o)throw Error("next() called multiple times");o=a;let c,u=!1,d;if(e[a])d=e[a][0][0],r.req.routeIndex=a;else d=a===e.length&&i||void 0;if(d)try{c=await d(r,()=>s(a+1))}catch(f){if(f instanceof Error&&t)r.error=f,c=await t(f,r),u=!0;else throw f}else if(r.finalized===!1&&n)c=await n(r);if(c&&(r.finalized===!1||u))r.res=c;return r}};var T0=Symbol();var S0=(e,t)=>new Response(e,{headers:{"Content-Type":t.replace(/^[^;]+/,(r)=>r.toLowerCase())}}).formData();var C0=32,w4=1e4,Jc=(e)=>("headers"in e),k0=async(e,t=Object.create(null))=>{let{all:n=!1,dot:r=!1}=t,s=(Jc(e)?e.headers:e.raw.headers).get("Content-Type")?.split(";")[0].trim().toLowerCase();if(s==="multipart/form-data"||s==="application/x-www-form-urlencoded")return D4(e,{all:n,dot:r});return{}};async function D4(e,t){if(!Jc(e)&&e.bodyCache.formData)return A0(await e.bodyCache.formData,t);let n=Jc(e)?e.headers:e.raw.headers,r=await e.arrayBuffer(),i=S0(r,n.get("Content-Type")||"");if(!Jc(e))e.bodyCache.formData=i;let o=await i;if(o)return A0(o,t);return{}}function A0(e,t){let n=Object.create(null),r={count:0};if(e.forEach((i,o)=>{if(!(t.all||o.endsWith("[]")))n[o]=i;else E4(n,o,i)}),t.dot)Object.entries(n).forEach(([i,o])=>{if(i.includes("."))T4(n,i,o,r),delete n[i]});return n}var E4=(e,t,n)=>{if(e[t]!==void 0)if(Array.isArray(e[t]))e[t].push(n);else e[t]=[e[t],n];else if(!t.endsWith("[]"))e[t]=n;else e[t]=[n]},T4=(e,t,n,r)=>{if(/(?:^|\.)__proto__\./.test(t))return;let i=e,o=t.split(".",C0+2);if(o.length>C0+1)U0();o.forEach((s,a)=>{if(a===o.length-1)i[s]=n;else{if(!i[s]||typeof i[s]!=="object"||Array.isArray(i[s])||i[s]instanceof File){if(r.count++>=w4)U0();i[s]=Object.create(null)}i=i[s]}})},U0=()=>{throw Error("Nesting limit exceeded")};li();var B0=class{raw;#e;#t;routeIndex=0;path;bodyCache={};constructor(e,t="/",n=[[]]){this.raw=e,this.path=t,this.#t=n}param(e){return e?this.#n(e):this.#o()}#n(e){let t=this.#t[0][this.routeIndex]?.[1][e],n=this.#i(t);return n&&tu(n)}#o(){let e={},t=Object.keys(this.#t[0][this.routeIndex]?.[1]??{});for(let n of t){let r=this.#i(this.#t[0][this.routeIndex][1][n]);if(r!==void 0)e[n]=tu(r)}return e}#i(e){return this.#t[1]?this.#t[1][e]:e}query(e){return M0(this.url,e)}queries(e){return N0(this.url,e)}header(e){if(e)return this.raw.headers.get(e)??void 0;let t=Object.create(null);return this.raw.headers.forEach((n,r)=>{t[r]=n}),t}async parseBody(e){return k0(this,e)}#r=(e)=>{let{bodyCache:t,raw:n}=this,r=t[e];if(r)return r;for(let i in t)return t[i].then((o)=>{if(i==="json")o=JSON.stringify(o);return new Response(o)[e]()});return t[e]=n[e]()};json(){return this.#r("text").then((e)=>JSON.parse(e))}text(){return this.#r("text")}arrayBuffer(){return this.#r("arrayBuffer")}bytes(){return this.#r("arrayBuffer").then((e)=>new Uint8Array(e))}blob(){return this.#r("blob")}formData(){return this.#r("formData")}addValidatedData(e,t){(this.#e??={})[e]=t}valid(e){return this.#e?.[e]}get url(){return this.raw.url}get method(){return this.raw.method}get[T0](){return this.#t}get matchedRoutes(){return this.#t[0].map(([[,e]])=>e)}get routePath(){return this.#t[0].map(([[,e]])=>e)[this.routeIndex].path}};hh();var U4="text/plain; charset=UTF-8",ph=(e,t)=>({"Content-Type":e,...t}),Ns=(e,t)=>new Response(e,t),gh=class{#e;#t;env={};#n;finalized=!1;error;#o;#i;#r;#c;#s;#a;#l;#d;#f;constructor(e,t){if(this.#e=e,t)this.#i=t.executionCtx,this.env=t.env,this.#a=t.notFoundHandler,this.#f=t.path,this.#d=t.matchResult}get req(){return this.#t??=new B0(this.#e,this.#f,this.#d),this.#t}get event(){if(this.#i&&"respondWith"in this.#i)return this.#i;else throw Error("This context has no FetchEvent")}get executionCtx(){if(this.#i)return this.#i;else throw Error("This context has no ExecutionContext")}get res(){return this.#r||=Ns(null,{headers:this.#l??=new Headers})}set res(e){if(this.#r&&e){e=Ns(e.body,e);for(let[t,n]of this.#r.headers.entries()){if(t==="content-type")continue;if(t==="set-cookie"){let r=this.#r.headers.getSetCookie();e.headers.delete("set-cookie");for(let i of r)e.headers.append("set-cookie",i)}else e.headers.set(t,n)}}this.#r=e,this.finalized=!0}render=(...e)=>(this.#s??=(t)=>this.html(t),this.#s(...e));setLayout=(e)=>this.#c=e;getLayout=()=>this.#c;setRenderer=(e)=>{this.#s=e};header=(e,t,n)=>{if(this.finalized)this.#r=Ns(this.#r.body,this.#r);let r=this.#r?this.#r.headers:this.#l??=new Headers;if(t===void 0)r.delete(e);else if(n?.append)r.append(e,t);else r.set(e,t)};status=(e)=>{this.#o=e};set=(e,t)=>{this.#n??=new Map,this.#n.set(e,t)};get=(e)=>this.#n?this.#n.get(e):void 0;get var(){if(!this.#n)return{};return Object.fromEntries(this.#n)}#u(e,t,n){let r=this.#r?new Headers(this.#r.headers):this.#l;if(typeof t==="object"&&t.headers){r??=new Headers;for(let[o,s]of new Headers(t.headers))if(o==="set-cookie")r.append(o,s);else r.set(o,s)}if(n){if(!r){let o=0;for(let s in n)if(++o>1||typeof n[s]!=="string"){r=new Headers;break}}if(r)for(let o in n){let s=n[o];if(typeof s==="string")r.set(o,s);else{r.delete(o);for(let a of s)r.append(o,a)}}}let i=typeof t==="number"?t:t?.status??this.#o;return Ns(e,{status:i,headers:r??n})}newResponse=(...e)=>this.#u(...e);body=(e,t,n)=>this.#u(e,t,n);text=(e,t,n)=>!this.#l&&!this.#o&&!t&&!n&&!this.finalized?new Response(e):this.#u(e,t,ph(U4,n));json=(e,t,n)=>this.#u(JSON.stringify(e),t,ph("application/json",n));html=(e,t,n)=>{let r=(i)=>this.#u(i,t,ph("text/html; charset=UTF-8",n));return typeof e==="object"?fh(e,L0.Stringify,!1,{}).then(r):r(e)};redirect=(e,t)=>{let n=String(e);return this.header("Location",!/[^\x00-\xFF]/.test(n)?n:encodeURI(n)),this.newResponse(null,t??302)};notFound=()=>(this.#a??=()=>Ns(),this.#a(this))};xr();mh();li();var k4=(e)=>e.text("404 Not Found",404),$0=(e,t)=>{if("getResponse"in e){let n=e.getResponse();return t.newResponse(n.body,n)}return console.error(e),t.text("Internal Server Error",500)},H0=class e{get;post;put;delete;options;patch;query;all;on;use;router;getPath;_basePath="/";#e="/";routes=[];constructor(t={}){[...q0,j0].forEach((o)=>{this[o]=(s,...a)=>{if(typeof s==="string")this.#e=s;else this.#o(o,this.#e,s);return a.forEach((c)=>{this.#o(o,this.#e,c)}),this}}),this.on=(o,s,...a)=>{for(let c of[s].flat()){this.#e=c;for(let u of[o].flat())a.map((d)=>{this.#o(u.toUpperCase(),this.#e,d)})}return this},this.use=(o,...s)=>{if(typeof o==="string")this.#e=o;else this.#e="*",s.unshift(o);return s.forEach((a)=>{this.#o(qe,this.#e,a)}),this};let{strict:r,...i}=t;Object.assign(this,i),this.getPath=r??!0?t.getPath??dh:P0}#t(){let t=new e({router:this.router,getPath:this.getPath});return t.errorHandler=this.errorHandler,t.#n=this.#n,t.routes=this.routes,t}#n=k4;errorHandler=$0;route(t,n){let r=this.basePath(t);return n.routes.map((i)=>{let o;if(n.errorHandler===$0)o=i.handler;else o=async(s,a)=>(await ah([],n.errorHandler)(s,()=>i.handler(s,a))).res,o[Bs]=i.handler;r.#o(i.method,i.path,o,i.basePath)}),this}basePath(t){let n=this.#t();return n._basePath=vr(this._basePath,t),n}onError=(t)=>(this.errorHandler=t,this);notFound=(t)=>(this.#n=t,this);mount(t,n,r){let i,o;if(r)if(typeof r==="function")o=r;else if(o=r.optionHandler,r.replaceRequest===!1)i=(c)=>c;else i=r.replaceRequest;let s=o?(c)=>{let u=o(c);return Array.isArray(u)?u:[u]}:(c)=>{let u=void 0;try{u=c.executionCtx}catch{}return[c.env,u]};i||=(()=>{let c=vr(this._basePath,t),u=c==="/"?0:c.length;return(d)=>{let f=new URL(d.url);return f.pathname=this.getPath(d).slice(u)||"/",new Request(f,d)}})();let a=async(c,u)=>{let d=await n(i(c.req.raw),...s(c));if(d)return d;await u()};return this.#o(qe,vr(t,"*"),a),this}#o(t,n,r,i){t=t.toUpperCase(),n=vr(this._basePath,n);let o={basePath:i!==void 0?vr(this._basePath,i):this._basePath,path:n,method:t,handler:r};this.router.add(t,n,[r,o]),this.routes.push(o)}#i(t,n){if(t instanceof Error)return this.errorHandler(t,n);throw t}#r(t,n,r,i){if(i==="HEAD")return(async()=>new Response(null,await this.#r(t,n,r,"GET")))();let o=this.getPath(t,{env:r}),s=this.router.match(i,o),a=new gh(t,{path:o,matchResult:s,env:r,executionCtx:n,notFoundHandler:this.#n});if(s[0].length===1){let u;try{u=s[0][0][0][0](a,async()=>{a.res=await this.#n(a)})}catch(d){return this.#i(d,a)}return u instanceof Promise?u.then((d)=>d||(a.finalized?a.res:this.#n(a))).catch((d)=>this.#i(d,a)):u??this.#n(a)}let c=ah(s[0],this.errorHandler,this.#n);return(async()=>{try{let u=await c(a);if(!u.finalized)throw Error("Context is not finalized. Did you forget to return a Response object or `await next()`?");return u.res}catch(u){return this.#i(u,a)}})()}fetch=(t,...n)=>this.#r(t,n[1],n[0],t.method);request=(t,n,r,i)=>{if(t instanceof Request)return this.fetch(n?new Request(t,n):t,r,i);return t=t.toString(),this.fetch(new Request(/^https?:\/\//.test(t)?t:`http://localhost${vr("/",t)}`,n),r,i)};fire=()=>{addEventListener("fetch",(t)=>{t.respondWith(this.#r(t.request,t,void 0,t.request.method))})}};xr();li();var Ve=()=>Object.create(null);xr();var iu=[];function yh(e,t){let n=this.buildAllMatchers(),r=(i,o)=>{let s=n[i]||n[qe],a=s[2][o];if(a)return a;let c=o.match(s[0]);if(!c)return[[],iu];let u=c.indexOf("",1);return[s[1][u],c]};return this.match=r,r(e,t)}var ro="[^/]+",wr=".*",zn="(?:|/.*)",_r=Symbol(),G0=new Set(".\\+*[^]$()");function R4(e,t){if(e.length===1)return t.length===1?e<t?-1:1:-1;if(t.length===1)return 1;if(e===wr||e===zn)return t===zn?-1:1;else if(t===wr||t===zn)return-1;if(e===ro)return 1;else if(t===ro)return-1;return e.length===t.length?e<t?-1:1:t.length-e.length}var z0=class e{#e;#t;#n=Ve();insert(t,n,r,i,o){let s=this;for(let a=0,c=t.length;a<c;a++){let u=t[a],d=u.length===1?u==="*"?a===c-1?["","",wr]:["","",ro]:null:u==="/*"?["","",zn]:u.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/),f;if(d){let h=d[1],p=d[2]||ro;if(h&&d[2]){if(p===".*")throw _r;if(p=p.replace(/^\((?!\?:)(?=[^)]+\)$)/,"(?:"),/\((?!\?:)/.test(p))throw _r;if(p.length===1&&G0.has(p))throw _r}if(f=s.#n[p],!f){if(p!==wr&&p!==zn){for(let g in s.#n)if((p.length>1||g.length>1)&&g!==wr&&g!==zn)throw _r}f=s.#n[p]=new e}if(h!=="")f.#t??=i.varIndex++,r.push([h,f.#t])}else if(f=s.#n[u],!f){for(let h in s.#n)if(h.length>1&&h!==wr&&h!==zn)throw _r;f=s.#n[u]=new e}s=f}if(s.#e!==void 0)throw _r;s.#e=o?-1:n}buildRegExpStr(){let n=Object.keys(this.#n).sort(R4).map((r)=>{let i=this.#n[r],o=i.buildRegExpStr();return o===""?"":(typeof i.#t==="number"?`(${r})@${i.#t}`:G0.has(r)?`\\${r}`:r)+o}).filter(Boolean);if(typeof this.#e==="number"&&this.#e!==-1)n.unshift(`#${this.#e}`);if(n.length===0)return"";if(n.length===1)return n[0];return"(?:"+n.join("|")+")"}};var bh=class{#e={varIndex:0};#t=new z0;#n=0;paths=Ve();insert(e,t){if(t){this.#t.insert(e.split(""),0,[],this.#e,!0);return}let n=[],r=[],i=e;for(let s=0;;){let a=!1;if(i=i.replace(/\{[^}]+\}/g,(c)=>{let u=`@\\${s}`;return r[s]=[u,c],s++,a=!0,u}),!a)break}let o=i.match(/(?::[^\/]+)|(?:\/\*$)|./g)||[];for(let s=r.length-1;s>=0;s--){let[a]=r[s];for(let c=o.length-1;c>=0;c--)if(o[c].indexOf(a)!==-1){o[c]=o[c].replace(a,r[s][1]);break}}this.#t.insert(o,this.#n,n,this.#e,!1),this.paths[e]=[this.#n++,n]}buildRegExp(){let e=this.#t.buildRegExpStr();if(e==="")return[/^$/,[],[]];let t=0,n=[],r=[];return e=e.replace(/#(\d+)|@(\d+)|\.\*\$/g,(i,o,s)=>{if(o!==void 0)return n[++t]=Number(o),"$()";if(s!==void 0)return r[Number(s)]=++t,"";return""}),[new RegExp(`^${e}`),n,r]}};var V0=Ve();function X0(e){return V0[e]??=new RegExp(`^${e.replace(/\/:[^/{}]+(?:\{\[\^\/]\+})?(?=[/{]|$)|\/?\*$|([.\\+*[^\]$()?{}|])/g,(t,n)=>n?`\\${n}`:t==="/*"?zn:t==="*"?wr:`/:${ro}`)}$`)}function ou(e,t){for(let n of Object.keys(e).sort((r,i)=>i.length-r.length))if(X0(n).test(t))return[...e[n]];return}var su=class{name="RegExpRouter";#e;#t;#n;constructor(){this.#e={[qe]:Ve()},this.#t={[qe]:Ve()},this.#n={[qe]:new bh}}#o(e,t){try{this.#n[e].insert(t,!/\*|\/:/.test(t))}catch(n){throw n===_r?new ru(t):n}}add(e,t,n){let r=this.#e,i=this.#t;if(!r)throw Error(nu);if(!r[e]){this.#n[e]=new bh;for(let a of[r,i]){a[e]=Ve();for(let c in a[qe])a[e][c]=[...a[qe][c]],this.#o(e,c)}}if(t==="/*")t="*";let o=e===qe?Object.keys(r):[e];if(/\*$/.test(t)){let a=X0(t);for(let c of o)if(!r[c][t])this.#o(c,t),r[c][t]=ou(r[c],t)||ou(r[qe],t)||[];for(let c of[r,i])for(let u of o)for(let d in c[u])a.test(d)&&c[u][d].push([n,t]);return}let s=eu(t)||[t];for(let a of s)for(let c of o){if(!i[c][a])this.#o(c,a),i[c][a]=ou(r[c],a)||ou(r[qe],a)||[];i[c][a].push([n,a])}}match=yh;buildAllMatchers(){let e=Ve();for(let t of Object.keys(this.#t))e[t]=this.#i(t);return this.#e=this.#t=this.#n=void 0,V0=Ve(),e}#i(e){let t=this.#e[e],n=this.#t[e],r=this.#n[e],i=Ve(),o=[],[s,a,c]=r.buildRegExp();for(let u of[t,n])for(let d in u){let f=u[d],h=r.paths[d];if(!h){i[d]=[f.map(([p])=>[p,Ve()]),iu];continue}o[h[0]]=f.map(([p,g])=>[p,r.paths[g][1].reduceRight((b,[v],m)=>(b[v]=c[h[1][m][1]],b),Ve())])}return[s,a.map((u)=>o[u]),i]}};xr();xr();var vh=class{name="SmartRouter";#e=[];#t=[];constructor(e){this.#e=e.routers}add(e,t,n){if(!this.#t)throw Error(nu);this.#t.push([e,t,n])}match(e,t){if(!this.#t)throw Error("Fatal error");let n=this.#e,r=this.#t,i=n.length,o=0,s;for(;o<i;o++){let a=n[o];try{for(let c=0,u=r.length;c<u;c++)a.add(...r[c]);s=a.match(e,t)}catch(c){if(c instanceof ru)continue;throw c}this.match=a.match.bind(a),this.#e=[a],this.#t=void 0;break}if(o===i)throw Error("Fatal error");return this.name=`SmartRouter + ${this.activeRouter.name}`,s}get activeRouter(){if(this.#t||this.#e.length!==1)throw Error("No active router has been determined yet.");return this.#e[0]}};li();xr();li();var xh=Ve(),F4=0,K0=class e{#e=[];#t=Ve();#n=[];#o;#i=xh;insert(t,n,r){let i=this,o=R0(n),s=new Set,a=0;for(let c of o){let u=o[++a],d=F0(c,u)||(u===void 0&&c&&c.indexOf("*")===c.length-1?c:null),f=Array.isArray(d),h=f?d[0]:d||c,p=i.#t[h]||=new e;if(d&&!p.#o)p.#o=d,i.#n.push(p);if(i=p,f)s.add(d[1])}i.#e.push({[t]:{handler:r,possibleKeys:[...s],score:++F4}})}#r(t,n,r,i,o){for(let s=0,a=n.#e.length;s<a;s++){let c=n.#e[s],u=c[r]||c[qe];if(u){u.params=Ve(),t.push(u);for(let d=0,f=u.possibleKeys.length;d<f;d++){let h=u.possibleKeys[d];u.params[h]=o?.[h]&&!d?o[h]:i[h]??o?.[h]}}}}search(t,n){let r=[];this.#i=xh;let o=[this],s=uh(n),a=[],c=s.length,u=null;for(let d=0;d<c;d++){let f=s[d],h=d===c-1,p=[];for(let b=0,v=o.length;b<v;b++){let m=o[b],_=m.#t[f];if(_)if(_.#i=m.#i,h){if(_.#t["*"])this.#r(r,_.#t["*"],t,m.#i);this.#r(r,_,t,m.#i)}else p.push(_);for(let y of m.#n){let x=y.#o,D=m.#i===xh?{}:{...m.#i};if(typeof x==="string"){if(x==="*"||f.startsWith(x.slice(0,-1))){if(this.#r(r,y,t,m.#i),x==="*")y.#i=D,p.push(y)}continue}let[,C,E]=x;if(!f&&E===!0)continue;if(E!==!0){if(!u){u=[];let N=n[0]==="/"?1:0;for(let O=0;O<c;O++)u[O]=N,N+=s[O].length+1}let U=n.slice(u[d]),A=E.exec(U);if(A){if(D[C]=A[0],this.#r(r,y,t,m.#i,D),A[0].length===U.length&&y.#t["*"])this.#r(r,y.#t["*"],t,m.#i,D);for(let N in y.#t){y.#i=D;let O=A[0].match(/\//g)?.length??0;(a[O]||=[]).push(y);break}continue}}if(E===!0||E.test(f))if(D[C]=f,h){if(this.#r(r,y,t,D,m.#i),y.#t["*"])this.#r(r,y.#t["*"],t,D,m.#i)}else y.#i=D,p.push(y)}}let g=a.shift();o=g?p.concat(g):p}if(r[1])r.sort((d,f)=>d.score-f.score);return[r.map(({handler:d,params:f})=>[d,f])]}};var _h=class{name="TrieRouter";#e=new K0;add(e,t,n){for(let r of eu(t)||[t])this.#e.insert(e,r,n)}match(e,t){return this.#e.search(e,t)}};var wh=class extends H0{constructor(e={}){super(e);this.router=e.router??new vh({routers:[new su,new _h]})}};import{getAgentDir as Bae}from"@earendil-works/pi-coding-agent";import{isIP as Z0}from"node:net";function Y0(e){return(e.startsWith("[")&&e.endsWith("]")?e.slice(1,-1):e).toLowerCase().replace(/\.$/,"")}function J0(e){if(!e||/[\s/@\\]/.test(e))return null;try{let t=new URL(`http://${e}`);if(t.username||t.password||t.pathname!=="/"||t.search||t.hash)return null;return Y0(t.hostname)}catch{return null}}function O4(e){let t=e?.trim();if(!t)return null;return Z0(t)?Y0(t):J0(t)}function P4(e){return e==="localhost"||e.endsWith(".localhost")}function Q0(){return[process.env.PI_WEB_HOSTNAME,...process.env.PI_WEB_ALLOWED_HOSTS?.split(",")??[]].filter((e)=>Boolean(e?.trim()))}function e2(e){try{return new URL(e).origin}catch{return null}}function I4(e){let t=new URL(e.url),n=e.headers.get("host");return n?e2(`${t.protocol}//${n}`):null}function M4(e){if(e.method!=="GET"||e.headers.get("sec-fetch-mode")!=="navigate"||e.headers.get("sec-fetch-dest")!=="document"||e.headers.get("sec-fetch-user")!=="?1")return!1;try{return/^\/api\/sessions\/[^/]+\/export$/.test(new URL(e.url).pathname)}catch{return!1}}function Dh(e,t=Q0()){let n=e.headers.get("host"),r=n?J0(n):null;if(!r)return!1;if(P4(r)||Z0(r))return!0;return t.some((i)=>O4(i)===r)}function N4(e){let t=e.headers.get("origin");if(e.headers.get("sec-fetch-site")==="cross-site")return!1;if(!t)return!0;let r=I4(e);return r!==null&&e2(t)===r}function B4(e){return e.headers.has("origin")||e.headers.has("sec-fetch-site")}function Tt(e,t=Q0()){if(!Dh(e,t))return!1;if(M4(e))return!0;return!B4(e)||N4(e)}function Dr(e){let t=e.headers.get("content-type")?.split(";",1)[0]?.trim().toLowerCase();return t==="application/json"||Boolean(t?.startsWith("application/")&&t.endsWith("+json"))}import{createHash as L4,timingSafeEqual as W4}from"node:crypto";var j4="pi";function t2(e){return L4("sha256").update(e,"utf8").digest()}function n2(e,t){return W4(t2(e),t2(t))}function Ls(e=process.env.PI_WEB_PASSWORD){return typeof e==="string"&&e.length>0}function au(e,t=process.env.PI_WEB_PASSWORD){if(!Ls(t)||!e)return!1;let n=/^Basic\s+(\S+)$/i.exec(e);if(!n)return!1;let r;try{let u=Buffer.from(n[1],"base64");if(u.toString("base64")!==n[1])return!1;r=new TextDecoder("utf-8",{fatal:!0}).decode(u)}catch{return!1}let i=r.indexOf(":");if(i===-1)return!1;let o=r.slice(0,i),s=r.slice(i+1),a=n2(o,j4),c=n2(s,t);return a&&c}class Eh extends Request{nextUrl;constructor(e){let t=e.method!=="GET"&&e.method!=="HEAD";super(e.url,{method:e.method,headers:e.headers,body:t?e.body:void 0,duplex:t?"half":void 0,signal:e.signal});this.nextUrl=new URL(e.url)}}class w extends Response{static json(e,t){let n=new Headers(t?.headers);return n.set("content-type","application/json; charset=utf-8"),new w(JSON.stringify(e),{status:t?.status??200,statusText:t?.statusText,headers:n})}}var Th=!1,r2=performance.now();function i2(e){if(Th=e,r2=performance.now(),Th)jt("boot","debug log enabled")}function Wt(e){return(t,n)=>jt(e,t,n)}function jt(e,t,n){if(!Th)return;let r=performance.now()-r2,i=new Date,o=(a,c=2)=>String(a).padStart(c,"0"),s=`${o(i.getHours())}:${o(i.getMinutes())}:${o(i.getSeconds())}.${o(i.getMilliseconds(),3)}`;console.debug(`[debug][${e}][${s}][+${r.toFixed(1)}ms] ${t}${n?` — ${n}`:""}`)}var q4=Wt("mount"),$4=["GET","POST","PUT","PATCH","DELETE"];function ee(e,t,n){let r=t.split("/").filter(Boolean),i=[],o=new Map;for(let a of r){let c=a.match(/^\[\.\.\.(.+)\]$/),u=a.match(/^\[(.+)\]$/);if(c)i.push(`:${c[1]}{.+}`),o.set(c[1],{hono:c[1],catchAll:!0});else if(u)i.push(`:${u[1]}`),o.set(u[1],{hono:u[1],catchAll:!1});else i.push(a)}let s=`/${i.join("/")}`;for(let a of $4){let c=n[a];if(typeof c!=="function")continue;let u=c;e.on(a,s,async(d)=>{let f=performance.now(),h={};for(let[g,{hono:b,catchAll:v}]of o)if(v){let m=d.req.param(b)??"";h[g]=m===""?[]:m.split("/")}else h[g]=d.req.param(b)??"";let p=await u(new Eh(d.req.raw),{params:Promise.resolve(h)});return q4(`${a} ${d.req.path}`,`${p.status} ${Math.round(performance.now()-f)}ms`),p})}}var Mh={};Q(Mh,{GET:()=>U5});import{tmpdir as C5}from"node:os";import{Readable as A5}from"node:stream";import{constants as Sh}from"node:fs";import{lstat as H4,open as G4}from"node:fs/promises";import{basename as z4,dirname as V4,resolve as o2}from"node:path";var cu=5242880;function s2(e,t){let n=o2(e);if(V4(n)!==o2(t))return null;if(!/^pi-bash-[A-Za-z0-9_-]+\.log$/.test(z4(n)))return null;return n}async function Ch(e){if(!(await H4(e)).isFile())throw Error("Bash output path is not a regular file");let n=typeof Sh.O_NOFOLLOW==="number"?Sh.O_NOFOLLOW:0,r=await G4(e,Sh.O_RDONLY|n);try{let i=await r.stat();if(!i.isFile())throw Error("Bash output path is not a regular file");return{handle:r,fileInfo:i}}catch(i){throw await r.close(),i}}async function a2(e,t=cu){let{handle:n,fileInfo:r}=await Ch(e);try{if(r.size>t)return{tooLarge:!0,size:r.size};let i=Buffer.alloc(r.size),o=0;while(o<i.length){let s=await n.read(i,o,i.length-o,o);if(s.bytesRead===0)break;o+=s.bytesRead}return{tooLarge:!1,content:i.subarray(0,o).toString("utf8"),size:o}}finally{await n.close()}}import{open as m2,readFile as a5,readdir as c5}from"node:fs/promises";import{existsSync as u5,readdirSync as l5}from"node:fs";import{join as fu,normalize as Oh}from"node:path";import{getAgentDir as d5,buildContextEntries as f5,buildSessionContext as h5,SessionManager as y2}from"@earendil-works/pi-coding-agent";function X4(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function K4(e){if(!X4(e)||e.type!=="toolCall")return null;return{type:"toolCall",toolCallId:typeof e.toolCallId==="string"?e.toolCallId:typeof e.id==="string"?e.id:"",toolName:typeof e.toolName==="string"?e.toolName:typeof e.name==="string"?e.name:"",input:typeof e.input==="object"&&e.input!==null&&!Array.isArray(e.input)?e.input:typeof e.arguments==="object"&&e.arguments!==null&&!Array.isArray(e.arguments)?e.arguments:{}}}function Ah(e){if(e.role!=="assistant")return e;let t=e.content;if(!Array.isArray(t))return e;let n=t.map((r)=>K4(r)??r);return{...e,content:n}}import c2 from"node:path";function qt(e,t=process.platform){let n=t==="win32"?c2.win32.normalize(e):c2.posix.normalize(e);return t==="win32"?n.toLowerCase():n}import{execFile as Z4}from"node:child_process";import{existsSync as lu,mkdirSync as Y4,realpathSync as J4}from"node:fs";import{basename as Q4,dirname as kh,join as l2,resolve as e5}from"node:path";import{promisify as t5}from"node:util";function $e(e){let t=e.replace(/\\/g,"/");return/^[a-zA-Z]:$/.test(t)?`${t}/`:t}function Uh(){if(!globalThis.__piAdditionalAllowedRoots)globalThis.__piAdditionalAllowedRoots=new Set;return globalThis.__piAdditionalAllowedRoots}function yt(e){if(!e)return;let t=$e(e);Uh().add(t),globalThis.__piAllowedRootsCache?.roots.add(t)}var n5=t5(Z4),u2=60000;function r5(){if(!globalThis.__piProjectCache)globalThis.__piProjectCache=new Map;return globalThis.__piProjectCache}function d2(){globalThis.__piProjectCache?.clear()}async function di(e,t){let{stdout:n}=await n5("git",["-C",e,...t],{timeout:1e4,maxBuffer:1048576,env:{...process.env,LC_ALL:"C"}});return n.trim()}function uu(e){let t=e.replace(/\\/g,"/");if(process.platform==="win32")t=t.replace(/^\/([a-zA-Z])\/(?=.)/,(n,r)=>`${r.toUpperCase()}:/`),t=t.toLowerCase();return t}function i5(e){let t=kh(e);if(!t.endsWith("-worktrees"))return null;let n=t.slice(0,-10);if(!n||!lu(l2(n,".git")))return null;return{projectRoot:n,branch:Q4(e),isWorktree:!0,isTopLevel:!0}}async function du(e){let t=r5(),n=t.get(e);if(n&&n.expiresAt>Date.now())return n.info;let r;try{if(!lu(e))return r=i5(e)??{projectRoot:e,branch:null,isWorktree:!1,isTopLevel:!1},t.set(e,{info:r,expiresAt:Date.now()+u2}),r;let i=await di(e,["rev-parse","--path-format=absolute","--git-common-dir","--git-dir","--show-toplevel","--abbrev-ref","HEAD"]),[o,s,a,c]=i.split(`
|
|
260
260
|
`).map((h)=>h.trim()),u=e;try{u=J4(e)}catch{}let d=uu(a)===uu(u),f=s!==o&&d;r={projectRoot:f?kh(o):e,branch:c&&c!=="HEAD"?c:null,isWorktree:f,isTopLevel:d}}catch{r={projectRoot:e,branch:null,isWorktree:!1,isTopLevel:!1}}return t.set(e,{info:r,expiresAt:Date.now()+u2}),r}async function o5(e){let t=await di(e,["rev-parse","--path-format=absolute","--git-common-dir"]);return kh(t)}async function Rh(e){let t=await di(e,["worktree","list","--porcelain"]),n=[],r=null,i=()=>{if(r?.path){if(!r.prunable&&lu(r.path))n.push({path:r.path,branch:r.branch??null,isMain:n.length===0})}r=null};for(let o of t.split(`
|
|
261
261
|
`))if(o.startsWith("worktree "))i(),r={path:o.slice(9).trim()};else if(o.startsWith("branch ")&&r)r.branch=o.slice(7).trim().replace(/^refs\/heads\//,"");else if(o.startsWith("prunable")&&r)r.prunable=!0;else if(o.trim()==="")i();return i(),n}function s5(e){return e.replace(/[/\\:*?"<>|\s]+/g,"-").replace(/^-+|-+$/g,"")}async function f2(e,t){let n=t.trim();if(!n)throw Error("Branch name is required");let r=s5(n);if(!r)throw Error(`Invalid branch name: ${t}`);let i=await o5(e),o=`${e5(i)}-worktrees`,s=l2(o,r);if(lu(s))throw Error(`Directory already exists: ${s}`);Y4(o,{recursive:!0});let a=!1;try{await di(i,["rev-parse","--verify","--quiet",`refs/heads/${n}`]),a=!0}catch{a=!1}try{if(a)await di(i,["worktree","add","--",s,n]);else await di(i,["worktree","add","-b",n,"--",s])}catch(c){throw Error(p2(c),{cause:c})}return yt(s),d2(),{path:s,branch:n}}async function h2(e,t,n=!1){let i=(await Rh(e)).find((o)=>uu(o.path)===uu(t));if(!i)throw Error(`Not a worktree of this repository: ${t}`);if(i.isMain)throw Error("Cannot remove the main worktree");try{await di(e,["worktree","remove",...n?["--force"]:[],t])}catch(o){throw Error(p2(o),{cause:o})}d2()}function p2(e){let t=e.stderr;if(typeof t==="string"&&t.trim())return t.trim();return e instanceof Error?e.message:String(e)}async function p5(e,t){let n=new Map;for(let o of e)n.set(qt(o.path),o.id);let r=[...new Set(e.map((o)=>o.cwd).filter(Boolean))],i=new Map;return await Promise.all(r.map(async(o)=>{i.set(o,await du(o))})),e.map((o)=>{Er(o.id,o.path,t);let s=o.cwd?i.get(o.cwd):void 0;return{path:o.path,id:o.id,cwd:o.cwd,name:o.name,created:o.created instanceof Date?o.created.toISOString():String(o.created),modified:o.modified instanceof Date?o.modified.toISOString():String(o.modified),messageCount:o.messageCount,firstMessage:o.firstMessage||"(no messages)",parentSessionId:o.parentSessionPath?n.get(qt(o.parentSessionPath)):void 0,projectRoot:s?.projectRoot??o.cwd,...s?.isWorktree&&s.branch?{worktreeBranch:s.branch}:{}}})}async function g5(){let e=await b2(fu(d5(),"sessions"));for(let t of e)Er(t.id,t.path);return e}async function m5(e){let t=[],n=async(r)=>{let i;try{i=await c5(r,{withFileTypes:!0})}catch{return}for(let o of i){let s=fu(r,o.name);if(o.isDirectory())await n(s);else if(o.name.endsWith(".jsonl"))t.push(s)}};try{await n(e)}catch{}return t}function y5(e){if(!Array.isArray(e.content))return"";return e.content.filter((t)=>!!t&&typeof t==="object"&&t.type==="text"&&typeof t.text==="string").map((t)=>t.text).join(" ")}async function b5(e){let t=await a5(e,"utf8"),n=[];for(let u of t.split(`
|
|
262
262
|
`)){let d=u.trim();if(!d)continue;try{let f=JSON.parse(d);if(f&&typeof f==="object")n.push(f)}catch{}}if(n.length===0)throw Error("file contains no session entries");let r=n[0];if(r?.type!=="session"||typeof r.id!=="string")throw Error("missing session header (first line must be a session entry)");let i=new Date(r.timestamp);if(Number.isNaN(i.getTime()))throw Error(`invalid session header timestamp: ${JSON.stringify(r.timestamp)}`);let o=0,s="",a,c;for(let u of n){let d=u;if(d.type==="session_info"){let g=d.name;if(typeof g==="string"&&g.trim())a=g.trim();continue}if(d.type!=="message")continue;o++;let f=d.message;if(!f||f.role!=="user"&&f.role!=="assistant")continue;let h=typeof f.timestamp==="number"?f.timestamp:new Date(d.timestamp).getTime();if(typeof h==="number"&&!Number.isNaN(h))c=Math.max(c??0,h);if(f.role==="user"&&!s){let g=y5(f);if(g)s=g}}return{path:e,id:r.id,cwd:typeof r.cwd==="string"?r.cwd:"",name:a,parentSessionPath:typeof r.parentSession==="string"?r.parentSession:void 0,created:i,modified:typeof c==="number"&&c>0?new Date(c):i,messageCount:o,firstMessage:s||"(no messages)",allMessagesText:""}}function v5(e,t){if(e.error)return t.error?0:1;if(t.error)return-1;return e.modified<t.modified?1:e.modified>t.modified?-1:0}async function x5(e){try{let t=await m2(e,"r");try{let n=Buffer.alloc(8192),{bytesRead:r}=await t.read(n,0,n.length,null),i=n.subarray(0,r).toString("utf8").split(`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{c as t,s as n}from"./index-CDxi_40j.js";var r=e(t(),1),i=[],a=[];(()=>{let e=`lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,1n,9,16,o,,x,1i,3,,i,,7,a,2,t,3,1k,,,7,2,2,2,3,9,,a,2,q,,2,3,1k,,,5,4,2,2,3,3,,u,2,3,,b,3,1k,,,8,,3,,3,k,2,m,6,,3,1k,,,7,2,2,2,3,7,3,a,2,u,,1n,5,3,3,,4,9,,14,5,1j,,,7,,3,,4,7,2,b,2,t,3,1k,,,7,,3,,4,7,2,b,2,f,,c,4,1j,2,,7,,3,,4,9,,a,2,t,3,1y,,4,6,,,,8,i,2,1p,,,8,c,8,2q,,,a,b,7,21,2,r,,,,,,4,2,1d,k,,2,5,b,,10,9,,2u,b,,6,n,4,4,3,g,4,d,,,3,6,,f,,jj,3,qa,4,s,3,t,2,u,2,1s,w,9,,19,3,,,39,2,y,,3a,c,4,c,63,5,1l,a,,,,,2,o,2,,1c,1a,2,c,k,5,1b,h,12,9,c,3,u,d,1k,e,1c,k,48,3,,l,4,,6,,2,3,5i,1s,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,n,5,4,,2b,2,1e,i,q,i,d,,12,8,p,d,18,4,1b,e,10,,1v,e,c,,8,2,1a,,1f,,,3,2,2,5,2,,,15,5,5,2,6k,8,,2,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,1t,5,8t,2,25,6,1y,b,1d,4,3e,3,1h,f,15,,2,2,a,4,19,b,7,,1p,3,10,e,g,2,18,,c,3,1c,e,8,4,,2,2k,c,6,,2,,4d,c,l,4,1j,2,,7,2,2,2,3,9,,a,2,2,7,3,5,1v,9,,,2,,,4,,5,,,e,2,2a,i,n,,29,k,6j,7,2,9,r,2,2a,h,2y,d,2t,3,2,a,74,f,6t,6,,2,2,4,,,,2,3x,7,2,7,3,,s,a,14,7,,4,8,,9,b,1a,g,5i,8,5j,8,,8,2a,m,,e,3e,6,3,,,2,,7,,,1u,5,,2,,5,9n,4,9,2,,,1c,7,3,5,n,,44l,,6,f,8ug,i,1xc,5,1n,7,t4,,,1j,7,4,29,,b,2,f57,2,3mp,1a,2,n,f2,5,3,6,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,2s,,4g,7,af,,1p,4,e4,4,72,2,6r,,2,,7,2,5,,d6,7,31,7,240,5`.split(`,`).map(e=>e?parseInt(e,36):1);for(let t=0,n=0;t<e.length;t++)(t%2?a:i).push(n+=e[t])})();function o(e){if(e<768)return!1;for(let t=0,n=i.length;;){let r=t+n>>1;if(e<i[r])n=r;else if(e>=a[r])t=r+1;else return!0;if(t==n)return!1}}function s(e){return e>=127462&&e<=127487}var c=8205;function l(e,t,n=!0,r=!0){return(n?u:d)(e,t,r)}function u(e,t,n){if(t==e.length)return t;t&&p(e.charCodeAt(t))&&m(e.charCodeAt(t-1))&&t--;let r=f(e,t);for(t+=h(r);t<e.length;){let i=f(e,t);if(r==c||i==c||n&&o(i))t+=h(i),r=i;else if(s(i)){let n=0,r=t-2;for(;r>=0&&s(f(e,r));)n++,r-=2;if(n%2==0)break;t+=2}else break}return t}function d(e,t,n){for(;t>1;){let r=u(e,t-2,n);if(r<t)return r;t--}return 0}function f(e,t){let n=e.charCodeAt(t);if(!m(n)||t+1==e.length)return n;let r=e.charCodeAt(t+1);return p(r)?(n-55296<<10)+(r-56320)+65536:n}function p(e){return e>=56320&&e<57344}function m(e){return e>=55296&&e<56320}function h(e){return e<65536?1:2}var g=class e{lineAt(e){if(e<0||e>this.length)throw RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=ae(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),v.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=ae(this,e,t);let n=[];return this.decompose(e,t,n,0),v.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new b(this),i=new b(e);for(let e=t,a=t;;){if(r.next(e),i.next(e),e=0,r.lineBreak!=i.lineBreak||r.done!=i.done||r.value!=i.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new b(this,e)}iterRange(e,t=this.length){return new ne(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t??=this.lines+1;let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new re(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(t){if(t.length==0)throw RangeError(`A document must have at least one line`);return t.length==1&&!t[0]?e.empty:t.length<=32?new _(t):v.from(_.split(t,[]))}},_=class e extends g{constructor(e,t=y(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let i=0;;i++){let a=this.text[i],o=r+a.length;if((t?n:o)>=e)return new ie(r,o,n,a);r=o+1,n++}}decompose(t,n,r,i){let a=t<=0&&n>=this.length?this:new e(te(this.text,t,n),Math.min(n,this.length)-Math.max(0,t));if(i&1){let t=r.pop(),n=ee(a.text,t.text.slice(),0,a.length);if(n.length<=32)r.push(new e(n,t.length+a.length));else{let t=n.length>>1;r.push(new e(n.slice(0,t)),new e(n.slice(t)))}}else r.push(a)}replace(t,n,r){if(!(r instanceof e))return super.replace(t,n,r);[t,n]=ae(this,t,n);let i=ee(this.text,ee(r.text,te(this.text,0,t)),n),a=this.length+r.length-(n-t);return i.length<=32?new e(i,a):v.from(e.split(i,[]),a)}sliceString(e,t=this.length,n=`
|
|
2
2
|
`){[e,t]=ae(this,e,t);let r=``;for(let i=0,a=0;i<=t&&a<this.text.length;a++){let o=this.text[a],s=i+o.length;i>e&&a&&(r+=n),e<s&&t>i&&(r+=o.slice(Math.max(0,e-i),t-i)),i=s+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(t,n){let r=[],i=-1;for(let a of t)r.push(a),i+=a.length+1,r.length==32&&(n.push(new e(r,i)),r=[],i=-1);return i>-1&&n.push(new e(r,i)),n}},v=class e extends g{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let t of e)this.lines+=t.lines}lineInner(e,t,n,r){for(let i=0;;i++){let a=this.children[i],o=r+a.length,s=n+a.lines-1;if((t?s:o)>=e)return a.lineInner(e,t,n,r);r=o+1,n=s+1}}decompose(e,t,n,r){for(let i=0,a=0;a<=t&&i<this.children.length;i++){let o=this.children[i],s=a+o.length;if(e<=s&&t>=a){let i=r&(a<=e|(s>=t?2:0));a>=e&&s<=t&&!i?n.push(o):o.decompose(e-a,t-a,n,i)}a=s+1}}replace(t,n,r){if([t,n]=ae(this,t,n),r.lines<this.lines)for(let i=0,a=0;i<this.children.length;i++){let o=this.children[i],s=a+o.length;if(t>=a&&n<=s){let c=o.replace(t-a,n-a,r),l=this.lines-o.lines+c.lines;if(c.lines<l>>4&&c.lines>l>>6){let a=this.children.slice();return a[i]=c,new e(a,this.length-(n-t)+r.length)}return super.replace(a,s,c)}a=s+1}return super.replace(t,n,r)}sliceString(e,t=this.length,n=`
|
|
3
3
|
`){[e,t]=ae(this,e,t);let r=``;for(let i=0,a=0;i<this.children.length&&a<=t;i++){let o=this.children[i],s=a+o.length;a>e&&i&&(r+=n),e<s&&t>a&&(r+=o.sliceString(e-a,t-a,n)),a=s+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(t,n){if(!(t instanceof e))return 0;let r=0,[i,a,o,s]=n>0?[0,0,this.children.length,t.children.length]:[this.children.length-1,t.children.length-1,-1,-1];for(;;i+=n,a+=n){if(i==o||a==s)return r;let e=this.children[i],c=t.children[a];if(e!=c)return r+e.scanIdentical(c,n);r+=e.length+1}}static from(t,n=t.reduce((e,t)=>e+t.length+1,-1)){let r=0;for(let e of t)r+=e.lines;if(r<32){let e=[];for(let n of t)n.flatten(e);return new _(e,n)}let i=Math.max(32,r>>5),a=i<<1,o=i>>1,s=[],c=0,l=-1,u=[];function d(t){let n;if(t.lines>a&&t instanceof e)for(let e of t.children)d(e);else t.lines>o&&(c>o||!c)?(f(),s.push(t)):t instanceof _&&c&&(n=u[u.length-1])instanceof _&&t.lines+n.lines<=32?(c+=t.lines,l+=t.length+1,u[u.length-1]=new _(n.text.concat(t.text),n.length+1+t.length)):(c+t.lines>i&&f(),c+=t.lines,l+=t.length+1,u.push(t))}function f(){c!=0&&(s.push(u.length==1?u[0]:e.from(u,l)),l=-1,c=u.length=0)}for(let e of t)d(e);return f(),s.length==1?s[0]:new e(s,n)}};g.empty=new _([``],0);function y(e){let t=-1;for(let n of e)t+=n.length+1;return t}function ee(e,t,n=0,r=1e9){for(let i=0,a=0,o=!0;a<e.length&&i<=r;a++){let s=e[a],c=i+s.length;c>=n&&(c>r&&(s=s.slice(0,r-i)),i<n&&(s=s.slice(n-i)),o?(t[t.length-1]+=s,o=!1):t.push(s)),i=c+1}return t}function te(e,t,n){return ee(e,[``],t,n)}var b=class{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value=``,this.nodes=[e],this.offsets=[t>0?1:(e instanceof _?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],i=this.offsets[n],a=i>>1,o=r instanceof _?r.text.length:r.children.length;if(a==(t>0?o:0)){if(n==0)return this.done=!0,this.value=``,this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((i&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=`
|
|
4
4
|
`,this;e--}else if(r instanceof _){let i=r.text[a+(t<0?-1:0)];if(this.offsets[n]+=t,i.length>Math.max(0,e))return this.value=e==0?i:t>0?i.slice(e):i.slice(0,i.length-e),this;e-=i.length}else{let i=r.children[a+(t<0?-1:0)];e>i.length?(e-=i.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(i),this.offsets.push(t>0?1:(i instanceof _?i.text.length:i.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},ne=class{constructor(e,t,n){this.value=``,this.done=!1,this.cursor=new b(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value=``,this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=``}},re=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value=``,this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value=``,this.afterBreak=!1):t?(this.done=!0,this.value=``):n?this.afterBreak?this.value=``:(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<`u`&&(g.prototype[Symbol.iterator]=function(){return this.iter()},b.prototype[Symbol.iterator]=ne.prototype[Symbol.iterator]=re.prototype[Symbol.iterator]=function(){return this});var ie=class{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}};function ae(e,t,n){return t=Math.max(0,Math.min(e.length,t)),[t,Math.max(t,Math.min(e.length,n))]}function x(e,t,n=!0,r=!0){return l(e,t,n,r)}function oe(e){return e>=56320&&e<57344}function se(e){return e>=55296&&e<56320}function S(e,t){let n=e.charCodeAt(t);if(!se(n)||t+1==e.length)return n;let r=e.charCodeAt(t+1);return oe(r)?(n-55296<<10)+(r-56320)+65536:n}function ce(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10)+55296,(e&1023)+56320))}function le(e){return e<65536?1:2}var ue=/\r\n?|\n/,C=(function(e){return e[e.Simple=0]=`Simple`,e[e.TrackDel=1]=`TrackDel`,e[e.TrackBefore=2]=`TrackBefore`,e[e.TrackAfter=3]=`TrackAfter`,e})(C||={}),de=class e{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t+1];e+=n<0?this.sections[t]:n}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,n=0,r=0;t<this.sections.length;){let i=this.sections[t++],a=this.sections[t++];a<0?(e(n,r,i),r+=i):r+=a,n+=i}}iterChangedRanges(e,t=!1){me(this,e,t)}get invertedDesc(){let t=[];for(let e=0;e<this.sections.length;){let n=this.sections[e++],r=this.sections[e++];r<0?t.push(n,r):t.push(r,n)}return new e(t)}composeDesc(e){return this.empty?e:e.empty?this:ge(this,e)}mapDesc(e,t=!1){return e.empty?this:he(this,e,t)}mapPos(e,t=-1,n=C.Simple){let r=0,i=0;for(let a=0;a<this.sections.length;){let o=this.sections[a++],s=this.sections[a++],c=r+o;if(s<0){if(c>e)return i+(e-r);i+=o}else{if(n!=C.Simple&&c>=e&&(n==C.TrackDel&&r<e&&c>e||n==C.TrackBefore&&r<e||n==C.TrackAfter&&c>e))return null;if(c>e||c==e&&t<0&&!o)return e==r||t<0?i:i+s;i+=s}r=c}if(e>r)throw RangeError(`Position ${e} is out of range for changeset of length ${r}`);return i}touchesRange(e,t=e){for(let n=0,r=0;n<this.sections.length&&r<=t;){let i=this.sections[n++],a=this.sections[n++],o=r+i;if(a>=0&&r<=t&&o>=e)return r<e&&o>t?`cover`:!0;r=o}return!1}toString(){let e=``;for(let t=0;t<this.sections.length;){let n=this.sections[t++],r=this.sections[t++];e+=(e?` `:``)+n+(r>=0?`:`+r:``)}return e}toJSON(){return this.sections}static fromJSON(t){if(!Array.isArray(t)||t.length%2||t.some(e=>typeof e!=`number`))throw RangeError(`Invalid JSON representation of ChangeDesc`);return new e(t)}static create(t){return new e(t)}},fe=class e extends de{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw RangeError(`Applying change set to a document with the wrong length`);return me(this,(t,n,r,i,a)=>e=e.replace(r,r+(n-t),a),!1),e}mapDesc(e,t=!1){return he(this,e,t,!0)}invert(t){let n=this.sections.slice(),r=[];for(let e=0,i=0;e<n.length;e+=2){let a=n[e],o=n[e+1];if(o>=0){n[e]=o,n[e+1]=a;let s=e>>1;for(;r.length<s;)r.push(g.empty);r.push(a?t.slice(i,i+a):g.empty)}i+=a}return new e(n,r)}compose(e){return this.empty?e:e.empty?this:ge(this,e,!0)}map(e,t=!1){return e.empty?this:he(this,e,t,!0)}iterChanges(e,t=!1){me(this,e,t)}get desc(){return de.create(this.sections)}filter(t){let n=[],r=[],i=[],a=new _e(this);done:for(let e=0,o=0;;){let s=e==t.length?1e9:t[e++];for(;o<s||o==s&&a.len==0;){if(a.done)break done;let e=Math.min(a.len,s-o);w(i,e,-1);let t=a.ins==-1?-1:a.off==0?a.ins:0;w(n,e,t),t>0&&pe(r,n,a.text),a.forward(e),o+=e}let c=t[e++];for(;o<c;){if(a.done)break done;let e=Math.min(a.len,c-o);w(n,e,-1),w(i,e,a.ins==-1?-1:a.off==0?a.ins:0),a.forward(e),o+=e}}return{changes:new e(n,r),filtered:de.create(i)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t],r=this.sections[t+1];r<0?e.push(n):r==0?e.push([n]):e.push([n].concat(this.inserted[t>>1].toJSON()))}return e}static of(t,n,r){let i=[],a=[],o=0,s=null;function c(t=!1){if(!t&&!i.length)return;o<n&&w(i,n-o,-1);let r=new e(i,a);s=s?s.compose(r.map(s)):r,i=[],a=[],o=0}function l(t){if(Array.isArray(t))for(let e of t)l(e);else if(t instanceof e){if(t.length!=n)throw RangeError(`Mismatched change set length (got ${t.length}, expected ${n})`);c(),s=s?s.compose(t.map(s)):t}else{let{from:e,to:s=e,insert:l}=t;if(e>s||e<0||s>n)throw RangeError(`Invalid change range ${e} to ${s} (in doc of length ${n})`);let u=l?typeof l==`string`?g.of(l.split(r||ue)):l:g.empty,d=u.length;if(e==s&&d==0)return;e<o&&c(),e>o&&w(i,e-o,-1),w(i,s-e,d),pe(a,i,u),o=s}}return l(t),c(!s),s}static empty(t){return new e(t?[t,-1]:[],[])}static fromJSON(t){if(!Array.isArray(t))throw RangeError(`Invalid JSON representation of ChangeSet`);let n=[],r=[];for(let e=0;e<t.length;e++){let i=t[e];if(typeof i==`number`)n.push(i,-1);else if(!Array.isArray(i)||typeof i[0]!=`number`||i.some((e,t)=>t&&typeof e!=`string`))throw RangeError(`Invalid JSON representation of ChangeSet`);else if(i.length==1)n.push(i[0],0);else{for(;r.length<e;)r.push(g.empty);r[e]=g.of(i.slice(1)),n.push(i[0],r[e].length)}}return new e(n,r)}static createSet(t,n){return new e(t,n)}};function w(e,t,n,r=!1){if(t==0&&n<=0)return;let i=e.length-2;i>=0&&n<=0&&n==e[i+1]?e[i]+=t:i>=0&&t==0&&e[i]==0?e[i+1]+=n:r?(e[i]+=t,e[i+1]+=n):e.push(t,n)}function pe(e,t,n){if(n.length==0)return;let r=t.length-2>>1;if(r<e.length)e[e.length-1]=e[e.length-1].append(n);else{for(;e.length<r;)e.push(g.empty);e.push(n)}}function me(e,t,n){let r=e.inserted;for(let i=0,a=0,o=0;o<e.sections.length;){let s=e.sections[o++],c=e.sections[o++];if(c<0)i+=s,a+=s;else{let l=i,u=a,d=g.empty;for(;l+=s,u+=c,c&&r&&(d=d.append(r[o-2>>1])),!(n||o==e.sections.length||e.sections[o+1]<0);)s=e.sections[o++],c=e.sections[o++];t(i,l,a,u,d),i=l,a=u}}}function he(e,t,n,r=!1){let i=[],a=r?[]:null,o=new _e(e),s=new _e(t);for(let e=-1;;)if(o.done&&s.len||s.done&&o.len)throw Error(`Mismatched change set lengths`);else if(o.ins==-1&&s.ins==-1){let e=Math.min(o.len,s.len);w(i,e,-1),o.forward(e),s.forward(e)}else if(s.ins>=0&&(o.ins<0||e==o.i||o.off==0&&(s.len<o.len||s.len==o.len&&!n))){let t=s.len;for(w(i,s.ins,-1);t;){let n=Math.min(o.len,t);o.ins>=0&&e<o.i&&o.len<=n&&(w(i,0,o.ins),a&&pe(a,i,o.text),e=o.i),o.forward(n),t-=n}s.next()}else if(o.ins>=0){let t=0,n=o.len;for(;n;)if(s.ins==-1){let e=Math.min(n,s.len);t+=e,n-=e,s.forward(e)}else if(s.ins==0&&s.len<n)n-=s.len,s.next();else break;w(i,t,e<o.i?o.ins:0),a&&e<o.i&&pe(a,i,o.text),e=o.i,o.forward(o.len-n)}else if(o.done&&s.done)return a?fe.createSet(i,a):de.create(i);else throw Error(`Mismatched change set lengths`)}function ge(e,t,n=!1){let r=[],i=n?[]:null,a=new _e(e),o=new _e(t);for(let e=!1;;)if(a.done&&o.done)return i?fe.createSet(r,i):de.create(r);else if(a.ins==0)w(r,a.len,0,e),a.next();else if(o.len==0&&!o.done)w(r,0,o.ins,e),i&&pe(i,r,o.text),o.next();else if(a.done||o.done)throw Error(`Mismatched change set lengths`);else{let t=Math.min(a.len2,o.len),n=r.length;if(a.ins==-1){let n=o.ins==-1?-1:o.off?0:o.ins;w(r,t,n,e),i&&n&&pe(i,r,o.text)}else o.ins==-1?(w(r,a.off?0:a.len,t,e),i&&pe(i,r,a.textBit(t))):(w(r,a.off?0:a.len,o.off?0:o.ins,e),i&&!o.off&&pe(i,r,o.text));e=(a.ins>t||o.ins>=0&&o.len>t)&&(e||r.length>n),a.forward2(t),o.forward(t)}}var _e=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length?g.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?g.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},ve=class e{constructor(e,t,n,r){this.from=e,this.to=t,this.flags=n,this.goalColumn=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(t,n=-1){let r,i;return this.empty?r=i=t.mapPos(this.from,n):(r=t.mapPos(this.from,1),i=t.mapPos(this.to,-1)),r==this.from&&i==this.to?this:new e(r,i,this.flags,this.goalColumn)}extend(e,t=e,n=0){if(e<=this.anchor&&t>=this.anchor)return T.range(e,t,void 0,void 0,n);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return T.range(this.anchor,r,void 0,void 0,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!=`number`||typeof e.head!=`number`)throw RangeError(`Invalid JSON representation for SelectionRange`);return T.range(e.anchor,e.head)}static create(t,n,r,i){return new e(t,n,r,i)}},T=class e{constructor(e,t){this.ranges=e,this.mainIndex=t}map(t,n=-1){return t.empty?this:e.create(this.ranges.map(e=>e.map(t,n)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;n<this.ranges.length;n++)if(!this.ranges[n].eq(e.ranges[n],t))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new e([this.main],0)}addRange(t,n=!0){return e.create([t].concat(this.ranges),n?0:this.mainIndex+1)}replaceRange(t,n=this.mainIndex){let r=this.ranges.slice();return r[n]=t,e.create(r,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(t){if(!t||!Array.isArray(t.ranges)||typeof t.main!=`number`||t.main>=t.ranges.length)throw RangeError(`Invalid JSON representation for EditorSelection`);return new e(t.ranges.map(e=>ve.fromJSON(e)),t.main)}static single(t,n=t){return new e([e.range(t,n)],0)}static create(t,n=0){if(t.length==0)throw RangeError(`A selection needs at least one range`);for(let r=0,i=0;i<t.length;i++){let a=t[i];if(a.empty?a.from<=r:a.from<r)return e.normalized(t.slice(),n);r=a.to}return new e(t,n)}static cursor(e,t=0,n,r){return ve.create(e,e,(t==0?0:t<0?8:16)|(n==null?7:Math.min(6,n)),r)}static range(e,t,n,r,i){let a=r==null?7:Math.min(6,r);return!i&&e!=t&&(i=t<e?1:-1),i&&(a|=i<0?8:16),t<e?ve.create(t,e,a|32,n):ve.create(e,t,a,n)}static undirectionalRange(e,t){return ve.create(e,t,64,void 0)}static normalized(t,n=0){let r=t[n];t.sort((e,t)=>e.from-t.from),n=t.indexOf(r);for(let r=1;r<t.length;r++){let i=t[r],a=t[r-1];if(i.empty?i.from<=a.to:i.from<a.to){let o=a.from,s=Math.max(i.to,a.to);r<=n&&n--,t.splice(--r,2,i.anchor>i.head?e.range(s,o):e.range(o,s))}}return new e(t,n)}};function ye(e,t){for(let n of e.ranges)if(n.to>t)throw RangeError(`Selection points outside of document`)}var be=0,E=class e{constructor(e,t,n,r,i){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=be++,this.default=e([]),this.extensions=typeof i==`function`?i(this):i}get reader(){return this}static define(t={}){return new e(t.combine||(e=>e),t.compareInput||((e,t)=>e===t),t.compare||(t.combine?(e,t)=>e===t:xe),!!t.static,t.enables)}of(e){return new Se([],this,0,e)}compute(e,t){if(this.isStatic)throw Error(`Can't compute a static facet`);return new Se(e,this,1,t)}computeN(e,t){if(this.isStatic)throw Error(`Can't compute a static facet`);return new Se(e,this,2,t)}from(e,t){return t||=e=>e,this.compute([e],n=>t(n.field(e)))}};function xe(e,t){return e==t||e.length==t.length&&e.every((e,n)=>e===t[n])}var Se=class{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=be++}dynamicSlot(e){let t=this.value,n=this.facet.compareInput,r=this.id,i=e[r]>>1,a=this.type==2,o=!1,s=!1,c=[];for(let t of this.dependencies)t==`doc`?o=!0:t==`selection`?s=!0:(e[t.id]??1)&1||c.push(e[t.id]);return{create(e){return e.values[i]=t(e),1},update(e,r){if(o&&r.docChanged||s&&(r.docChanged||r.selection)||we(e,c)){let r=t(e);if(a?!Ce(r,e.values[i],n):!n(r,e.values[i]))return e.values[i]=r,1}return 0},reconfigure:(e,o)=>{let s,c=o.config.address[r];if(c!=null){let r=Le(o,c);if(this.dependencies.every(t=>t instanceof E?o.facet(t)===e.facet(t):t instanceof De?o.field(t,!1)==e.field(t,!1):!0)||(a?Ce(s=t(e),r,n):n(s=t(e),r)))return e.values[i]=r,0}else s=t(e);return e.values[i]=s,1}}}get extension(){return this}};function Ce(e,t,n){if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++)if(!n(e[r],t[r]))return!1;return!0}function we(e,t){let n=!1;for(let r of t)Ie(e,r)&1&&(n=!0);return n}function Te(e,t,n){let r=n.map(t=>e[t.id]),i=n.map(e=>e.type),a=r.filter(e=>!(e&1)),o=e[t.id]>>1;function s(e){let n=[];for(let t=0;t<r.length;t++){let a=Le(e,r[t]);if(i[t]==2)for(let e of a)n.push(e);else n.push(a)}return t.combine(n)}return{create(e){for(let t of r)Ie(e,t);return e.values[o]=s(e),1},update(e,n){if(!we(e,a))return 0;let r=s(e);return t.compare(r,e.values[o])?0:(e.values[o]=r,1)},reconfigure(e,i){let a=we(e,r),c=i.config.facets[t.id],l=i.facet(t);if(c&&!a&&xe(n,c))return e.values[o]=l,0;let u=s(e);return t.compare(u,l)?(e.values[o]=l,0):(e.values[o]=u,1)}}}var Ee=E.define({static:!0}),De=class e{constructor(e,t,n,r,i){this.id=e,this.createF=t,this.updateF=n,this.compareF=r,this.spec=i,this.provides=void 0}static define(t){let n=new e(be++,t.create,t.update,t.compare||((e,t)=>e===t),t);return t.provide&&(n.provides=t.provide(n)),n}create(e){return(e.facet(Ee).find(e=>e.field==this)?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:e=>(e.values[t]=this.create(e),1),update:(e,n)=>{let r=e.values[t],i=this.updateF(r,n);return this.compareF(r,i)?0:(e.values[t]=i,1)},reconfigure:(e,n)=>{let r=e.facet(Ee),i=n.facet(Ee),a;return(a=r.find(e=>e.field==this))&&a!=i.find(e=>e.field==this)?(e.values[t]=a.create(e),1):n.config.address[this.id]==null?(e.values[t]=this.create(e),1):(e.values[t]=n.field(this),0)}}}init(e){return[this,Ee.of({field:this,create:e})]}get extension(){return this}},Oe={lowest:4,low:3,default:2,high:1,highest:0};function ke(e){return t=>new je(t,e)}var Ae={highest:ke(Oe.highest),high:ke(Oe.high),default:ke(Oe.default),low:ke(Oe.low),lowest:ke(Oe.lowest)},je=class{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}},Me=class e{of(e){return new Ne(this,e)}reconfigure(t){return e.reconfigure.of({compartment:this,extension:t})}get(e){return e.config.compartments.get(this)}},Ne=class{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}},Pe=class e{constructor(e,t,n,r,i,a){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=i,this.facets=a,this.statusTemplate=[];this.statusTemplate.length<n.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return t==null?e.default:this.staticValues[t>>1]}static resolve(t,n,r){let i=[],a=Object.create(null),o=new Map;for(let e of Fe(t,n,o))e instanceof De?i.push(e):(a[e.facet.id]||(a[e.facet.id]=[])).push(e);let s=Object.create(null),c=[],l=[];for(let e of i)s[e.id]=l.length<<1,l.push(t=>e.slot(t));let u=r?.config.facets;for(let e in a){let t=a[e],n=t[0].facet,i=u&&u[e]||[];if(t.every(e=>e.type==0)){if(s[n.id]=c.length<<1|1,xe(i,t))c.push(r.facet(n));else{let e=n.combine(t.map(e=>e.value));c.push(r&&n.compare(e,r.facet(n))?r.facet(n):e)}}else{for(let e of t)e.type==0?(s[e.id]=c.length<<1|1,c.push(e.value)):(s[e.id]=l.length<<1,l.push(t=>e.dynamicSlot(t)));s[n.id]=l.length<<1,l.push(e=>Te(e,n,t))}}let d=l.map(e=>e(s));return new e(t,o,d,s,c,a)}};function Fe(e,t,n){let r=[[],[],[],[],[]],i=new Map;function a(e,o){let s=i.get(e);if(s!=null){if(s<=o)return;let t=r[s].indexOf(e);t>-1&&r[s].splice(t,1),e instanceof Ne&&n.delete(e.compartment)}if(i.set(e,o),Array.isArray(e))for(let t of e)a(t,o);else if(e instanceof Ne){if(n.has(e.compartment))throw RangeError(`Duplicate use of compartment in extensions`);let r=t.get(e.compartment)||e.inner;n.set(e.compartment,r),a(r,o)}else if(e instanceof je)a(e.inner,e.prec);else if(e instanceof De)r[o].push(e),e.provides&&a(e.provides,o);else if(e instanceof Se)r[o].push(e),e.facet.extensions&&a(e.facet.extensions,Oe.default);else{let t=e.extension;if(!t)throw Error(`Unrecognized extension value in extension set (${e}).`);if(t==e)throw Error(`Unrecognized extension value in extension set (${e}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);a(t,o)}}return a(e,Oe.default),r.reduce((e,t)=>e.concat(t))}function Ie(e,t){if(t&1)return 2;let n=t>>1,r=e.status[n];if(r==4)throw Error(`Cyclic dependency between fields and/or facets`);if(r&2)return r;e.status[n]=4;let i=e.computeSlot(e,e.config.dynamicSlots[n]);return e.status[n]=2|i}function Le(e,t){return t&1?e.config.staticValues[t>>1]:e.values[t>>1]}var Re=E.define(),ze=E.define({combine:e=>e.some(e=>e),static:!0}),Be=E.define({combine:e=>e.length?e[0]:void 0,static:!0}),Ve=E.define(),He=E.define(),Ue=E.define(),We=E.define({combine:e=>e.length?e[0]:!1}),Ge=class{constructor(e,t){this.type=e,this.value=t}static define(){return new Ke}},Ke=class{of(e){return new Ge(this,e)}},qe=class{constructor(e){this.map=e}of(e){return new D(this,e)}},D=class e{constructor(e,t){this.type=e,this.value=t}map(t){let n=this.type.map(this.value,t);return n===void 0?void 0:n==this.value?this:new e(this.type,n)}is(e){return this.type==e}static define(e={}){return new qe(e.map||(e=>e))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let e=r.map(t);e&&n.push(e)}return n}};D.reconfigure=D.define(),D.appendConfig=D.define();var Je=class e{constructor(t,n,r,i,a,o){this.startState=t,this.changes=n,this.selection=r,this.effects=i,this.annotations=a,this.scrollIntoView=o,this._doc=null,this._state=null,r&&ye(r,n.newLength),a.some(t=>t.type==e.time)||(this.annotations=a.concat(e.time.of(Date.now())))}static create(t,n,r,i,a,o){return new e(t,n,r,i,a,o)}get newDoc(){return this._doc||=this.changes.apply(this.startState.doc)}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(t){let n=this.annotation(e.userEvent);return!!(n&&(n==t||n.length>t.length&&n.slice(0,t.length)==t&&n[t.length]==`.`))}};Je.time=Ge.define(),Je.userEvent=Ge.define(),Je.addToHistory=Ge.define(),Je.remote=Ge.define();function Ye(e,t){let n=[];for(let r=0,i=0;;){let a,o;if(r<e.length&&(i==t.length||t[i]>=e[r]))a=e[r++],o=e[r++];else if(i<t.length)a=t[i++],o=t[i++];else return n;!n.length||n[n.length-1]<a?n.push(a,o):n[n.length-1]<o&&(n[n.length-1]=o)}}function Xe(e,t,n){let r,i,a;return n?(r=t.changes,i=fe.empty(t.changes.length),a=e.changes.compose(t.changes)):(r=t.changes.map(e.changes),i=e.changes.mapDesc(t.changes,!0),a=e.changes.compose(r)),{changes:a,selection:t.selection?t.selection.map(i):e.selection?.map(r),effects:D.mapEffects(e.effects,r).concat(D.mapEffects(t.effects,i)),annotations:e.annotations.length?e.annotations.concat(t.annotations):t.annotations,scrollIntoView:e.scrollIntoView||t.scrollIntoView}}function Ze(e,t,n){let r=t.selection,i=nt(t.annotations);return t.userEvent&&(i=i.concat(Je.userEvent.of(t.userEvent))),{changes:t.changes instanceof fe?t.changes:fe.of(t.changes||[],n,e.facet(Be)),selection:r&&(r instanceof T?r:T.single(r.anchor,r.head)),effects:nt(t.effects),annotations:i,scrollIntoView:!!t.scrollIntoView}}function Qe(e,t,n){let r=Ze(e,t.length?t[0]:{},e.doc.length);t.length&&t[0].filter===!1&&(n=!1);for(let i=1;i<t.length;i++){t[i].filter===!1&&(n=!1);let a=!!t[i].sequential;r=Xe(r,Ze(e,t[i],a?r.changes.newLength:e.doc.length),a)}let i=Je.create(e,r.changes,r.selection,r.effects,r.annotations,r.scrollIntoView);return et(n?$e(i):i)}function $e(e){let t=e.startState,n=!0;for(let r of t.facet(Ve)){let t=r(e);if(t===!1){n=!1;break}Array.isArray(t)&&(n=n===!0?t:Ye(n,t))}if(n!==!0){let r,i;if(n===!1)i=e.changes.invertedDesc,r=fe.empty(t.doc.length);else{let t=e.changes.filter(n);r=t.changes,i=t.filtered.mapDesc(t.changes).invertedDesc}e=Je.create(t,r,e.selection&&e.selection.map(i),D.mapEffects(e.effects,i),e.annotations,e.scrollIntoView)}let r=t.facet(He);for(let n=r.length-1;n>=0;n--){let i=r[n](e);e=i instanceof Je?i:Array.isArray(i)&&i.length==1&&i[0]instanceof Je?i[0]:Qe(t,nt(i),!1)}return e}function et(e){let t=e.startState,n=t.facet(Ue),r=e;for(let i=n.length-1;i>=0;i--){let a=n[i](e);a&&Object.keys(a).length&&(r=Xe(r,Ze(t,a,e.changes.newLength),!0))}return r==e?e:Je.create(t,e.changes,e.selection,r.effects,r.annotations,r.scrollIntoView)}var tt=[];function nt(e){return e==null?tt:Array.isArray(e)?e:[e]}var O=(function(e){return e[e.Word=0]=`Word`,e[e.Space=1]=`Space`,e[e.Other=2]=`Other`,e})(O||={}),rt=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,it;try{it=RegExp(`[\\p{Alphabetic}\\p{Number}_]`,`u`)}catch{}function at(e){if(it)return it.test(e);for(let t=0;t<e.length;t++){let n=e[t];if(/\w/.test(n)||n>``&&(n.toUpperCase()!=n.toLowerCase()||rt.test(n)))return!0}return!1}function ot(e){return t=>{if(!/\S/.test(t))return O.Space;if(at(t))return O.Word;for(let n=0;n<e.length;n++)if(t.indexOf(e[n])>-1)return O.Word;return O.Other}}var k=class e{constructor(e,t,n,r,i,a){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=i,a&&(a._state=this);for(let e=0;e<this.config.dynamicSlots.length;e++)Ie(this,e<<1);this.computeSlot=null}field(e,t=!0){let n=this.config.address[e.id];if(n==null){if(t)throw RangeError(`Field is not present in this state`);return}return Ie(this,n),Le(this,n)}update(...e){return Qe(this,e,!0)}applyTransaction(t){let n=this.config,{base:r,compartments:i}=n;for(let e of t.effects)e.is(Me.reconfigure)?(n&&=(i=new Map,n.compartments.forEach((e,t)=>i.set(t,e)),null),i.set(e.value.compartment,e.value.extension)):e.is(D.reconfigure)?(n=null,r=e.value):e.is(D.appendConfig)&&(n=null,r=nt(r).concat(e.value));let a;n?a=t.startState.values.slice():(n=Pe.resolve(r,i,this),a=new e(n,this.doc,this.selection,n.dynamicSlots.map(()=>null),(e,t)=>t.reconfigure(e,this),null).values);let o=t.startState.facet(ze)?t.newSelection:t.newSelection.asSingle();new e(n,t.newDoc,o,a,(e,n)=>n.update(e,t),t)}replaceSelection(e){return typeof e==`string`&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:T.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),i=[n.range],a=nt(n.effects);for(let n=1;n<t.ranges.length;n++){let o=e(t.ranges[n]),s=this.changes(o.changes),c=s.map(r);for(let e=0;e<n;e++)i[e]=i[e].map(c);let l=r.mapDesc(s,!0);i.push(o.range.map(l)),r=r.compose(c),a=D.mapEffects(a,c).concat(D.mapEffects(nt(o.effects),l))}return{changes:r,selection:T.create(i,t.mainIndex),effects:a}}changes(t=[]){return t instanceof fe?t:fe.of(t,this.doc.length,this.facet(e.lineSeparator))}toText(t){return g.of(t.split(this.facet(e.lineSeparator)||ue))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return t==null?e.default:(Ie(this,t),Le(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let n in e){let r=e[n];r instanceof De&&this.config.address[r.id]!=null&&(t[n]=r.spec.toJSON(this.field(e[n]),this))}return t}static fromJSON(t,n={},r){if(!t||typeof t.doc!=`string`)throw RangeError(`Invalid JSON representation for EditorState`);let i=[];if(r){for(let e in r)if(Object.prototype.hasOwnProperty.call(t,e)){let n=r[e],a=t[e];i.push(n.init(e=>n.spec.fromJSON(a,e)))}}return e.create({doc:t.doc,selection:T.fromJSON(t.selection),extensions:n.extensions?i.concat([n.extensions]):i})}static create(t={}){let n=Pe.resolve(t.extensions||[],new Map),r=t.doc instanceof g?t.doc:g.of((t.doc||``).split(n.staticFacet(e.lineSeparator)||ue)),i=t.selection?t.selection instanceof T?t.selection:T.single(t.selection.anchor,t.selection.head):T.single(0);return ye(i,r.length),n.staticFacet(ze)||(i=i.asSingle()),new e(n,r,i,n.dynamicSlots.map(()=>null),(e,t)=>t.create(e),null)}get tabSize(){return this.facet(e.tabSize)}get lineBreak(){return this.facet(e.lineSeparator)||`
|
|
@@ -36,4 +36,4 @@ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{o as t,s as n}from"./i
|
|
|
36
36
|
`+e.scrub();for(let n of e.markers)t.marks.push(n)}return this.finishLeaf(t),null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw RangeError(`Can't move stoppedAt forward`);this.stoppedAt=e}reuseFragment(e){if(!this.fragments.moveTo(this.absoluteLineStart+e,this.absoluteLineStart)||!this.fragments.matches(this.block.hash))return!1;let t=this.fragments.takeNodes(this);return t?(this.absoluteLineStart+=t,this.lineStart=Ow(this.absoluteLineStart,this.ranges),this.moveRangeI(),this.absoluteLineStart<this.to?(this.lineStart++,this.absoluteLineStart++,this.readLine()):(this.atEnd=!0,this.readLine()),!0):!1}get depth(){return this.stack.length}parentType(e=this.depth-1){return this.parser.nodeSet.types[this.stack[e].type]}nextLine(){return this.lineStart+=this.line.text.length,this.absoluteLineEnd>=this.to?(this.absoluteLineStart=this.absoluteLineEnd,this.atEnd=!0,this.readLine(),!1):(this.lineStart++,this.absoluteLineStart=this.absoluteLineEnd+1,this.moveRangeI(),this.readLine(),!0)}peekLine(){return this.scanLine(this.absoluteLineEnd+1).text}moveRangeI(){for(;this.rangeI<this.ranges.length-1&&this.absoluteLineStart>=this.ranges[this.rangeI].to;)this.rangeI++,this.absoluteLineStart=Math.max(this.absoluteLineStart,this.ranges[this.rangeI].from)}scanLine(e){let t=ew;if(t.end=e,e>=this.to)t.text=``;else if(t.text=this.lineChunkAt(e),t.end+=t.text.length,this.ranges.length>1){let e=this.absoluteLineStart,n=this.rangeI;for(;this.ranges[n].to<t.end;){n++;let r=this.ranges[n].from,i=this.lineChunkAt(r);t.end=r+i.length,t.text=t.text.slice(0,this.ranges[n-1].to-e)+i,e=t.end-t.text.length}}return t}readLine(){let{line:e}=this,{text:t,end:n}=this.scanLine(this.absoluteLineStart);for(this.absoluteLineEnd=n,e.reset(t);e.depth<this.stack.length;e.depth++){let t=this.stack[e.depth],n=this.parser.skipContextMarkup[t.type];if(!n)throw Error(`Unhandled block context `+Q[t.type]);let r=this.line.markers.length;if(!n(t,this,e)){this.line.markers.length>r&&(t.end=this.line.markers[this.line.markers.length-1].to),e.forward();break}e.forward()}}lineChunkAt(e){let t=this.input.chunk(e),n;if(this.input.lineChunks)n=t==`
|
|
37
37
|
`?``:t;else{let e=t.indexOf(`
|
|
38
38
|
`);n=e<0?t:t.slice(0,e)}return e+n.length>this.to?n.slice(0,this.to-e):n}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,t,n=0){this.block=TC.create(e,n,this.lineStart+t,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,t,n=0){this.startContext(this.parser.getNodeType(e),t,n)}addNode(e,t,n){typeof e==`number`&&(e=new W(this.parser.nodeSet.types[e],cw,cw,(n??this.prevLineEnd())-t)),this.block.addChild(e,t-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,t){this.addNode(this.buffer.writeElements(Tw(t.children,e.marks),-t.from).finish(t.type,t.to-t.from),t.from)}finishContext(){let e=this.stack.pop(),t=this.stack[this.stack.length-1];t.addChild(e.toTree(this.parser.nodeSet),e.from-t.from),this.block=t}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(e){return this.ranges.length>1?nw(this.ranges,0,e.topNode,this.ranges[0].from,this.reusePlaceholders):e}finishLeaf(e){for(let t of e.parsers)if(t.finish(this,e))return;let t=Tw(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(t,-e.start).finish(Q.Paragraph,e.content.length),e.start)}elt(e,t,n,r){return typeof e==`string`?$(this.parser.getNodeType(e),t,n,r):new dw(e,t)}get buffer(){return new lw(this.parser.nodeSet)}};function nw(e,t,n,r,i){let a=e[t].to,o=[],s=[],c=n.from+r;function l(n,i){for(;i?n>=a:n>a;){let i=e[t+1].from-a;r+=i,n+=i,t++,a=e[t].to}}for(let u=n.firstChild;u;u=u.nextSibling){l(u.from+r,!0);let n=u.from+r,d,f=i.get(u.tree);f?d=f:u.to+r>a?(d=nw(e,t,u,r,i),l(u.to+r,!1)):d=u.toTree(),o.push(d),s.push(n-c)}return l(n.to+r,!1),new W(n.type,o,s,n.to+r-c,n.tree?n.tree.propValues:void 0)}var rw=class e extends El{constructor(e,t,n,r,i,a,o,s,c){super(),this.nodeSet=e,this.blockParsers=t,this.leafBlockParsers=n,this.blockNames=r,this.endLeafBlock=i,this.skipContextMarkup=a,this.inlineParsers=o,this.inlineNames=s,this.wrappers=c,this.nodeTypes=Object.create(null);for(let t of e.types)this.nodeTypes[t.name]=t.id}createParse(e,t,n){let r=new tw(this,e,t,n);for(let i of this.wrappers)r=i(r,e,t,n);return r}configure(t){let n=aw(t);if(!n)return this;let{nodeSet:r,skipContextMarkup:i}=this,a=this.blockParsers.slice(),o=this.leafBlockParsers.slice(),s=this.blockNames.slice(),c=this.inlineParsers.slice(),l=this.inlineNames.slice(),u=this.endLeafBlock.slice(),d=this.wrappers;if(iw(n.defineNodes)){i=Object.assign({},i);let e=r.types.slice(),t;for(let r of n.defineNodes){let{name:n,block:a,composite:o,style:s}=typeof r==`string`?{name:r}:r;if(e.some(e=>e.name==n))continue;o&&(i[e.length]=(e,t,n)=>o(t,n,e.value));let c=e.length,l=o?[`Block`,`BlockContext`]:a?c>=Q.ATXHeading1&&c<=Q.SetextHeading2?[`Block`,`LeafBlock`,`Heading`]:[`Block`,`LeafBlock`]:void 0;e.push(H.define({id:c,name:n,props:l&&[[V.group,l]]})),s&&(t||={},Array.isArray(s)||s instanceof Ul?t[n]=s:Object.assign(t,s))}r=new nl(e),t&&(r=r.extend(Jl(t)))}if(iw(n.props)&&(r=r.extend(...n.props)),iw(n.remove))for(let e of n.remove){let t=this.blockNames.indexOf(e),n=this.inlineNames.indexOf(e);t>-1&&(a[t]=o[t]=void 0),n>-1&&(c[n]=void 0)}if(iw(n.parseBlock))for(let e of n.parseBlock){let t=s.indexOf(e.name);if(t>-1)a[t]=e.parse,o[t]=e.leaf;else{let t=e.before?ow(s,e.before):e.after?ow(s,e.after)+1:s.length-1;a.splice(t,0,e.parse),o.splice(t,0,e.leaf),s.splice(t,0,e.name)}e.endLeaf&&u.push(e.endLeaf)}if(iw(n.parseInline))for(let e of n.parseInline){let t=l.indexOf(e.name);if(t>-1)c[t]=e.parse;else{let t=e.before?ow(l,e.before):e.after?ow(l,e.after)+1:l.length-1;c.splice(t,0,e.parse),l.splice(t,0,e.name)}}return n.wrap&&(d=d.concat(n.wrap)),new e(r,a,o,s,u,i,c,l,d)}getNodeType(e){let t=this.nodeTypes[e];if(t==null)throw RangeError(`Unknown node type '${e}'`);return t}parseInline(e,t){let n=new ww(this,e,t);outer:for(let e=t;e<n.end;){let t=n.char(e);for(let r of this.inlineParsers)if(r){let i=r(n,t,e);if(i>=0){e=i;continue outer}}e++}return n.resolveMarkers(0)}};function iw(e){return e!=null&&e.length>0}function aw(e){if(!Array.isArray(e))return e;if(e.length==0)return null;let t=aw(e[0]);if(e.length==1)return t;let n=aw(e.slice(1));if(!n||!t)return t||n;let r=(e,t)=>(e||cw).concat(t||cw),i=t.wrap,a=n.wrap;return{props:r(t.props,n.props),defineNodes:r(t.defineNodes,n.defineNodes),parseBlock:r(t.parseBlock,n.parseBlock),parseInline:r(t.parseInline,n.parseInline),remove:r(t.remove,n.remove),wrap:i?a?(e,t,n,r)=>i(a(e,t,n,r),t,n,r):i:a}}function ow(e,t){let n=e.indexOf(t);if(n<0)throw RangeError(`Position specified relative to unknown parser ${t}`);return n}var sw=[H.none];for(let e=1,t;t=Q[e];e++)sw[e]=H.define({id:e,name:t,props:e>=Q.Escape?[]:[[V.group,e in kC?[`Block`,`BlockContext`]:[`Block`,`LeafBlock`]]],top:t==`Document`});var cw=[],lw=class{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e,t,n,r=0){return this.content.push(e,t,n,4+r*4),this}writeElements(e,t=0){for(let n of e)n.writeTo(this,t);return this}finish(e,t){return W.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:e,length:t})}},uw=class{constructor(e,t,n,r=cw){this.type=e,this.from=t,this.to=n,this.children=r}writeTo(e,t){let n=e.content.length;e.writeElements(this.children,t),e.content.push(this.type,this.from+t,this.to+t,e.content.length+4-n)}toTree(e){return new lw(e).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}},dw=class{constructor(e,t){this.tree=e,this.from=t}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return cw}writeTo(e,t){e.nodes.push(this.tree),e.content.push(e.nodes.length-1,this.from+t,this.to+t,-1)}toTree(){return this.tree}};function $(e,t,n,r){return new uw(e,t,n,r)}var fw={resolve:`Emphasis`,mark:`EmphasisMark`},pw={resolve:`Emphasis`,mark:`EmphasisMark`},mw={},hw={},gw=class{constructor(e,t,n,r){this.type=e,this.from=t,this.to=n,this.side=r}},_w=`!"#$%&'()*+,-./:;<=>?@[\\]^_\`{|}~`,vw=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{vw=RegExp(`[\\p{S}|\\p{P}]`,`u`)}catch{}var yw={Escape(e,t,n){if(t!=92||n==e.end-1)return-1;let r=e.char(n+1);for(let t=0;t<32;t++)if(_w.charCodeAt(t)==r)return e.append($(Q.Escape,n,n+2));return-1},Entity(e,t,n){if(t!=38)return-1;let r=/^(?:#\d+|#x[a-f\d]+|\w+);/i.exec(e.slice(n+1,n+31));return r?e.append($(Q.Entity,n,n+1+r[0].length)):-1},InlineCode(e,t,n){if(t!=96||n&&e.char(n-1)==96)return-1;let r=n+1;for(;r<e.end&&e.char(r)==96;)r++;let i=r-n,a=0;for(;r<e.end;r++)if(e.char(r)==96){if(a++,a==i&&e.char(r+1)!=96)return e.append($(Q.InlineCode,n,r+1,[$(Q.CodeMark,n,n+i),$(Q.CodeMark,r+1-i,r+1)]))}else a=0;return-1},HTMLTag(e,t,n){if(t!=60||n==e.end-1)return-1;let r=e.slice(n+1,e.end),i=/^(?:[a-z][-\w+.]+:[^\s>]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(r);if(i)return e.append($(Q.Autolink,n,n+1+i[0].length,[$(Q.LinkMark,n,n+1),$(Q.URL,n+1,n+i[0].length),$(Q.LinkMark,n+i[0].length,n+1+i[0].length)]));let a=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(r);if(a)return e.append($(Q.Comment,n,n+1+a[0].length));let o=/^\?[^]*?\?>/.exec(r);if(o)return e.append($(Q.ProcessingInstruction,n,n+1+o[0].length));let s=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(r);return s?e.append($(Q.HTMLTag,n,n+1+s[0].length)):-1},Emphasis(e,t,n){if(t!=95&&t!=42)return-1;let r=n+1;for(;e.char(r)==t;)r++;let i=e.slice(n-1,n),a=e.slice(r,r+1),o=vw.test(i),s=vw.test(a),c=/\s|^$/.test(i),l=/\s|^$/.test(a),u=!l&&(!s||c||o),d=!c&&(!o||l||s),f=u&&(t==42||!d||o),p=d&&(t==42||!u||s);return e.append(new gw(t==95?fw:pw,n,r,!!f|(p?2:0)))},HardBreak(e,t,n){if(t==92&&e.char(n+1)==10)return e.append($(Q.HardBreak,n,n+2));if(t==32){let t=n+1;for(;e.char(t)==32;)t++;if(e.char(t)==10&&t>=n+2)return e.append($(Q.HardBreak,n,t+1))}return-1},Link(e,t,n){return t==91?e.append(new gw(mw,n,n+1,1)):-1},Image(e,t,n){return t==33&&e.char(n+1)==91?e.append(new gw(hw,n,n+2,1)):-1},LinkEnd(e,t,n){if(t!=93)return-1;for(let t=e.parts.length-1;t>=0;t--){let r=e.parts[t];if(r instanceof gw&&(r.type==mw||r.type==hw)){if(!r.side||e.skipSpace(r.to)==n&&!/[(\[]/.test(e.slice(n+1,n+2)))return e.parts[t]=null,-1;let i=e.takeContent(t),a=e.parts[t]=bw(e,i,r.type==mw?Q.Link:Q.Image,r.from,n+1);if(r.type==mw)for(let n=0;n<t;n++){let t=e.parts[n];t instanceof gw&&t.type==mw&&(t.side=0)}return a.to}}return-1}};function bw(e,t,n,r,i){let{text:a}=e,o=e.char(i),s=i;if(t.unshift($(Q.LinkMark,r,r+(n==Q.Image?2:1))),t.push($(Q.LinkMark,i-1,i)),o==40){let n=e.skipSpace(i+1),r=xw(a,n-e.offset,e.offset),o;r&&(n=e.skipSpace(r.to),n!=r.to&&(o=Sw(a,n-e.offset,e.offset),o&&(n=e.skipSpace(o.to)))),e.char(n)==41&&(t.push($(Q.LinkMark,i,i+1)),s=n+1,r&&t.push(r),o&&t.push(o),t.push($(Q.LinkMark,n,s)))}else if(o==91){let n=Cw(a,i-e.offset,e.offset,!1);n&&(t.push(n),s=n.to)}return $(n,r,s,t)}function xw(e,t,n){if(e.charCodeAt(t)==60){for(let r=t+1;r<e.length;r++){let i=e.charCodeAt(r);if(i==62)return $(Q.URL,t+n,r+1+n);if(i==60||i==10)return!1}return null}{let r=0,i=t;for(let t=!1;i<e.length;i++){let n=e.charCodeAt(i);if(AC(n))break;if(t)t=!1;else if(n==40)r++;else if(n==41){if(!r)break;r--}else n==92&&(t=!0)}return i>t?$(Q.URL,t+n,i+n):i==e.length&&null}}function Sw(e,t,n){let r=e.charCodeAt(t);if(r!=39&&r!=34&&r!=40)return!1;let i=r==40?41:r;for(let r=t+1,a=!1;r<e.length;r++){let o=e.charCodeAt(r);if(a)a=!1;else if(o==i)return $(Q.LinkTitle,t+n,r+1+n);else o==92&&(a=!0)}return null}function Cw(e,t,n,r){for(let i=!1,a=t+1,o=Math.min(e.length,a+999);a<o;a++){let o=e.charCodeAt(a);if(i)i=!1;else if(o==93)return!r&&$(Q.LinkLabel,t+n,a+1+n);else{if(r&&!AC(o)&&(r=!1),o==91)return!1;o==92&&(i=!0)}}return null}var ww=class{constructor(e,t,n){this.parser=e,this.text=t,this.offset=n,this.parts=[]}char(e){return e>=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,n,r,i){return this.append(new gw(e,t,n,!!r|(i?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof gw&&(t.type==mw||t.type==hw))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let t=e;t<this.parts.length;t++){let n=this.parts[t];if(!(n instanceof gw&&n.type.resolve&&n.side&2))continue;let r=n.type==fw||n.type==pw,i=n.to-n.from,a,o=t-1;for(;o>=e;o--){let e=this.parts[o];if(e instanceof gw&&e.side&1&&e.type==n.type&&!(r&&(n.side&1||e.side&2)&&(e.to-e.from+i)%3==0&&((e.to-e.from)%3||i%3))){a=e;break}}if(!a)continue;let s=n.type.resolve,c=[],l=a.from,u=n.to;if(r){let e=Math.min(2,a.to-a.from,i);l=a.to-e,u=n.from+e,s=e==1?`Emphasis`:`StrongEmphasis`}a.type.mark&&c.push(this.elt(a.type.mark,l,a.to));for(let e=o+1;e<t;e++)this.parts[e]instanceof uw&&c.push(this.parts[e]),this.parts[e]=null;n.type.mark&&c.push(this.elt(n.type.mark,n.from,u));let d=this.elt(s,l,u,c);this.parts[o]=r&&a.from!=l?new gw(a.type,a.from,l,a.side):null,(this.parts[t]=r&&n.to!=u?new gw(n.type,u,n.to,n.side):null)?this.parts.splice(t,0,d):this.parts[t]=d}let t=[];for(let n=e;n<this.parts.length;n++){let e=this.parts[n];e instanceof uw&&t.push(e)}return t}findOpeningDelimiter(e){for(let t=this.parts.length-1;t>=0;t--){let n=this.parts[t];if(n instanceof gw&&n.type==e&&n.side&1)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}getDelimiterAt(e){let t=this.parts[e];return t instanceof gw?t:null}skipSpace(e){return jC(this.text,e-this.offset)+this.offset}elt(e,t,n,r){return typeof e==`string`?$(this.parser.getNodeType(e),t,n,r):new dw(e,t)}};ww.linkStart=mw,ww.imageStart=hw;function Tw(e,t){if(!t.length)return e;if(!e.length)return t;let n=e.slice(),r=0;for(let e of t){for(;r<n.length&&n[r].to<e.to;)r++;if(r<n.length&&n[r].from<e.from){let t=n[r];t instanceof uw&&(n[r]=new uw(t.type,t.from,t.to,Tw(t.children,[e])))}else n.splice(r++,0,e)}return n}var Ew=[Q.CodeBlock,Q.ListItem,Q.OrderedList,Q.BulletList],Dw=class{constructor(e,t){this.fragments=e,this.input=t,this.i=0,this.fragment=null,this.fragmentEnd=-1,this.cursor=null,e.length&&(this.fragment=e[this.i++])}nextFragment(){this.fragment=this.i<this.fragments.length?this.fragments[this.i++]:null,this.cursor=null,this.fragmentEnd=-1}moveTo(e,t){for(;this.fragment&&this.fragment.to<=e;)this.nextFragment();if(!this.fragment||this.fragment.from>(e?e-1:0))return!1;if(this.fragmentEnd<0){let e=this.fragment.to;for(;e>0&&this.input.read(e-1,e)!=`
|
|
39
|
-
`;)e--;this.fragmentEnd=e?e-1:0}let n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let r=e+this.fragment.offset;for(;n.to<=r;)if(!n.parent())return!1;for(;;){if(n.from>=r)return this.fragment.from<=t;if(!n.childAfter(r))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(V.contextHash)==e}takeNodes(e){let t=this.cursor,n=this.fragment.offset,r=this.fragmentEnd-+!!this.fragment.openEnd,i=e.absoluteLineStart,a=i,o=e.block.children.length,s=a,c=o;for(;;){if(t.to-n>r){if(t.type.isAnonymous&&t.firstChild())continue;break}let i=Ow(t.from-n,e.ranges);if(t.to-n<=e.ranges[e.rangeI].to)e.addNode(t.tree,i);else{let n=new W(e.parser.nodeSet.types[Q.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(n,t.tree),e.addNode(n,i)}if(t.type.is(`Block`)&&(Ew.indexOf(t.type.id)<0?(a=t.to-n,o=e.block.children.length):(a=s,o=c),s=t.to-n,c=e.block.children.length),!t.nextSibling())break}for(;e.block.children.length>o;)e.block.children.pop(),e.block.positions.pop();return a-i}};function Ow(e,t){let n=e;for(let r=1;r<t.length;r++){let i=t[r-1].to,a=t[r].from;i<e&&(n-=a-i)}return n}var kw=Jl({"Blockquote/...":K.quote,HorizontalRule:K.contentSeparator,"ATXHeading1/... SetextHeading1/...":K.heading1,"ATXHeading2/... SetextHeading2/...":K.heading2,"ATXHeading3/...":K.heading3,"ATXHeading4/...":K.heading4,"ATXHeading5/...":K.heading5,"ATXHeading6/...":K.heading6,"Comment CommentBlock":K.comment,Escape:K.escape,Entity:K.character,"Emphasis/...":K.emphasis,"StrongEmphasis/...":K.strong,"Link/... Image/...":K.link,"OrderedList/... BulletList/...":K.list,"BlockQuote/...":K.quote,"InlineCode CodeText":K.monospace,"URL Autolink":K.url,"HeaderMark HardBreak QuoteMark ListMark LinkMark EmphasisMark CodeMark":K.processingInstruction,"CodeInfo LinkLabel":K.labelName,LinkTitle:K.string,Paragraph:K.content}),Aw=new rw(new nl(sw).extend(kw),Object.keys(JC).map(e=>JC[e]),Object.keys(JC).map(e=>QC[e]),Object.keys(JC),$C,kC,Object.keys(yw).map(e=>yw[e]),Object.keys(yw),[]);function jw(e,t,n){let r=[];for(let i=e.firstChild,a=t;;i=i.nextSibling){let e=i?i.from:n;if(e>a&&r.push({from:a,to:e}),!i)break;a=i.to}return r}function Mw(e){let{codeParser:t,htmlParser:n}=e;return{wrap:Ol((e,r)=>{let i=e.type.id;if(t&&(i==Q.CodeBlock||i==Q.FencedCode)){let n=``;if(i==Q.FencedCode){let t=e.node.getChild(Q.CodeInfo);t&&(n=r.read(t.from,t.to))}let a=t(n);if(a)return{parser:a,overlay:e=>e.type.id==Q.CodeText,bracketed:i==Q.FencedCode}}else if(n&&(i==Q.HTMLBlock||i==Q.HTMLTag||i==Q.CommentBlock))return{parser:n,overlay:jw(e.node,e.from,e.to)};return null})}}var Nw={resolve:`Strikethrough`,mark:`StrikethroughMark`},Pw={defineNodes:[{name:`Strikethrough`,style:{"Strikethrough/...":K.strikethrough}},{name:`StrikethroughMark`,style:K.processingInstruction}],parseInline:[{name:`Strikethrough`,parse(e,t,n){if(t!=126||e.char(n+1)!=126||e.char(n+2)==126)return-1;let r=e.slice(n-1,n),i=e.slice(n+2,n+3),a=/\s|^$/.test(r),o=/\s|^$/.test(i),s=vw.test(r),c=vw.test(i);return e.addDelimiter(Nw,n,n+2,!o&&(!c||a||s),!a&&(!s||o||c))},after:`Emphasis`}]};function Fw(e,t,n=0,r,i=0){let a=0,o=!0,s=-1,c=-1,l=!1,u=()=>{r.push(e.elt(`TableCell`,i+s,i+c,e.parser.parseInline(t.slice(s,c),i+s)))};for(let d=n;d<t.length;d++){let n=t.charCodeAt(d);n==124&&!l?((!o||s>-1)&&a++,o=!1,r&&(s>-1&&u(),r.push(e.elt(`TableDelimiter`,d+i,d+i+1))),s=c=-1):(l||n!=32&&n!=9)&&(s<0&&(s=d),c=d+1),l=!l&&n==92}return s>-1&&(a++,r&&u()),a}function Iw(e,t){for(let n=t;n<e.length;n++){let t=e.charCodeAt(n);if(t==124)return!0;t==92&&n++}return!1}var Lw=/^[>\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/,Rw=class{constructor(){this.rows=null}nextLine(e,t,n){if(this.rows==null){this.rows=!1;let r;if((t.next==45||t.next==58||t.next==124)&&Lw.test(r=t.text.slice(t.pos))){let i=[];Fw(e,n.content,0,i,n.start)==Fw(e,r,0)&&(this.rows=[e.elt(`TableHeader`,n.start,n.start+n.content.length,i),e.elt(`TableDelimiter`,e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let n=[];Fw(e,t.text,t.pos,n,e.lineStart),this.rows.push(e.elt(`TableRow`,e.lineStart+t.pos,e.lineStart+t.text.length,n))}return!1}finish(e,t){return this.rows?(e.addLeafElement(t,e.elt(`Table`,t.start,t.start+t.content.length,this.rows)),!0):!1}},zw={defineNodes:[{name:`Table`,block:!0},{name:`TableHeader`,style:{"TableHeader/...":K.heading}},`TableRow`,{name:`TableCell`,style:K.content},{name:`TableDelimiter`,style:K.processingInstruction}],parseBlock:[{name:`Table`,leaf(e,t){return Iw(t.content,0)?new Rw:null},endLeaf(e,t,n){if(n.parsers.some(e=>e instanceof Rw)||!Iw(t.text,t.basePos))return!1;let r=e.peekLine();return Lw.test(r)&&Fw(e,t.text,t.basePos)==Fw(e,r,t.basePos)},before:`SetextHeading`}]},Bw=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt(`Task`,t.start,t.start+t.content.length,[e.elt(`TaskMarker`,t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},Vw={defineNodes:[{name:`Task`,block:!0,style:K.list},{name:`TaskMarker`,style:K.atom}],parseBlock:[{name:`TaskList`,leaf(e,t){return/^\[[ xX]\][ \t]/.test(t.content)&&e.parentType().name==`ListItem`?new Bw:null},after:`SetextHeading`}]},Hw=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,Uw=/[\w-]+(\.[\w-]+)+(:\d+)?(\/[^\s<]*)?/gy,Ww=/[\w-]+\.[\w-]+($|[/:])/,Gw=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,Kw=/\/[a-zA-Z\d@.]+/gy;function qw(e,t,n,r){let i=0;for(let a=t;a<n;a++)e[a]==r&&i++;return i}function Jw(e,t){Uw.lastIndex=t;let n=Uw.exec(e);if(!n||Ww.exec(n[0])[0].indexOf(`_`)>-1)return-1;let r=t+n[0].length;for(;;){let n=e[r-1],i;if(/[?!.,:*_~]/.test(n)||n==`)`&&qw(e,t,r,`)`)>qw(e,t,r,`(`))r--;else if(n==`;`&&(i=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(e.slice(t,r))))r=t+i.index;else break}return r}function Yw(e,t){Gw.lastIndex=t;let n=Gw.exec(e);if(!n)return-1;let r=n[0][n[0].length-1];return r==`_`||r==`-`?-1:t+n[0].length-+(r==`.`)}var Xw=[zw,Vw,Pw,{parseInline:[{name:`Autolink`,parse(e,t,n){let r=n-e.offset;if(r&&/\w/.test(e.text[r-1]))return-1;Hw.lastIndex=r;let i=Hw.exec(e.text),a=-1;return!i||(i[1]||i[2]?(a=Jw(e.text,r+i[0].length),a>-1&&e.hasOpenLink&&(a=r+/([^\[\]]|\[[^\]]*\])*/.exec(e.text.slice(r,a))[0].length)):i[3]?a=Yw(e.text,r):(a=Yw(e.text,r+i[0].length),a>-1&&i[0]==`xmpp:`&&(Kw.lastIndex=a,i=Kw.exec(e.text),i&&(a=i.index+i[0].length))),a<0)?-1:(e.addElement(e.elt(`URL`,n,a+e.offset)),a+e.offset)}}]}];function Zw(e,t,n){return(r,i,a)=>{if(i!=e||r.char(a+1)==e)return-1;let o=[r.elt(n,a,a+1)];for(let i=a+1;i<r.end;i++){let s=r.char(i);if(s==e)return r.addElement(r.elt(t,a,i+1,o.concat(r.elt(n,i,i+1))));if(s==92&&o.push(r.elt(`Escape`,i,i+++2)),AC(s))break}return-1}}var Qw={defineNodes:[{name:`Superscript`,style:K.special(K.content)},{name:`SuperscriptMark`,style:K.processingInstruction}],parseInline:[{name:`Superscript`,parse:Zw(94,`Superscript`,`SuperscriptMark`)}]},$w={defineNodes:[{name:`Subscript`,style:K.special(K.content)},{name:`SubscriptMark`,style:K.processingInstruction}],parseInline:[{name:`Subscript`,parse:Zw(126,`Subscript`,`SubscriptMark`)}]},eT={defineNodes:[{name:`Emoji`,style:K.character}],parseInline:[{name:`Emoji`,parse(e,t,n){let r;return t!=58||!(r=/^[a-zA-Z_0-9]+:/.exec(e.slice(n+1,e.end)))?-1:e.addElement(e.elt(`Emoji`,n,n+1+r[0].length))}}]},tT=_u({commentTokens:{block:{open:`<!--`,close:`-->`}}}),nT=new V,rT=Aw.configure({props:[td.add(e=>!e.is(`Block`)||e.is(`Document`)||iT(e)!=null||aT(e)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),nT.add(iT),zu.add({Document:()=>null}),gu.add({Document:tT})]});function iT(e){let t=/^(?:ATX|Setext)Heading(\d)$/.exec(e.name);return t?+t[1]:void 0}function aT(e){return e.name==`OrderedList`||e.name==`BulletList`}function oT(e,t){let n=e;for(;;){let e=n.nextSibling,r;if(!e||(r=iT(e.type))!=null&&r<=t)break;n=e}return n.to}var sT=ed.of((e,t,n)=>{for(let r=q(e).resolveInner(n,-1);r&&!(r.from<t);r=r.parent){let e=r.type.prop(nT);if(e==null)continue;let t=oT(r,e);if(t>n)return{from:n,to:t}}return null});function cT(e){return new yu(tT,e,[],`markdown`)}var lT=cT(rT),uT=cT(rT.configure([Xw,$w,Qw,eT,{props:[td.add({Table:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}]));function dT(e,t){return n=>{if(n&&e){let t=null;if(n=/\S*/.exec(n)[0],t=typeof e==`function`?e(n):Mu.matchLanguageName(e,n,!0),t instanceof Mu)return t.support?t.support.language.parser:wu.getSkippingParser(t.load());if(t)return t.parser}return t?t.parser:null}}var fT=class{constructor(e,t,n,r,i,a,o){this.node=e,this.from=t,this.to=n,this.spaceBefore=r,this.spaceAfter=i,this.type=a,this.item=o}blank(e,t=!0){let n=this.spaceBefore+(this.node.name==`Blockquote`?`>`:``);if(e!=null){for(;n.length<e;)n+=` `;return n}for(let e=this.to-this.from-n.length-this.spaceAfter.length;e>0;e--)n+=` `;return n+(t?this.spaceAfter:``)}marker(e,t){let n=this.node.name==`OrderedList`?String(+mT(this.item,e)[2]+t):``;return this.spaceBefore+n+this.type+this.spaceAfter}};function pT(e,t){let n=[],r=[];for(let t=e;t;t=t.parent){if(t.name==`FencedCode`)return r;(t.name==`ListItem`||t.name==`Blockquote`)&&n.push(t)}for(let e=n.length-1;e>=0;e--){let i=n[e],a,o=t.lineAt(i.from),s=i.from-o.from;if(i.name==`Blockquote`&&(a=/^ *>( ?)/.exec(o.text.slice(s))))r.push(new fT(i,s,s+a[0].length,``,a[1],`>`,null));else if(i.name==`ListItem`&&i.parent.name==`OrderedList`&&(a=/^( *)\d+([.)])( *)/.exec(o.text.slice(s)))){let e=a[3],t=a[0].length;e.length>=4&&(e=e.slice(0,e.length-4),t-=4),r.push(new fT(i.parent,s,s+t,a[1],e,a[2],i))}else if(i.name==`ListItem`&&i.parent.name==`BulletList`&&(a=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(o.text.slice(s)))){let e=a[4],t=a[0].length;e.length>4&&(e=e.slice(0,e.length-4),t-=4);let n=a[2];a[3]&&(n+=a[3].replace(/[xX]/,` `)),r.push(new fT(i.parent,s,s+t,a[1],e,n,i))}}return r}function mT(e,t){return/^(\s*)(\d+)(?=[.)])/.exec(t.sliceString(e.from,e.from+10))}function hT(e,t,n,r=0){for(let i=-1,a=e;;){if(a.name==`ListItem`){let e=mT(a,t),o=+e[2];if(i>=0){if(o!=i+1)return;n.push({from:a.from+e[1].length,to:a.from+e[0].length,insert:String(i+2+r)})}i=o}let e=a.nextSibling;if(!e)break;a=e}}function gT(e,t){let n=/^[ \t]*/.exec(e)[0].length;if(!n||t.facet(Pu)!=` `)return e;let r=Tt(e,4,n),i=``;for(let e=r;e>0;)e>=4?(i+=` `,e-=4):(i+=` `,e--);return i+e.slice(n)}var _T=((e={})=>({state:t,dispatch:n})=>{let r=q(t),{doc:i}=t,a=null,o=t.changeByRange(n=>{if(!n.empty||!uT.isActiveAt(t,n.from,-1)&&!uT.isActiveAt(t,n.from,1))return a={range:n};let o=n.from,s=i.lineAt(o),c=pT(r.resolveInner(o,-1),i);for(;c.length&&c[c.length-1].from>o-s.from;)c.pop();if(!c.length)return a={range:n};let l=c[c.length-1];if(l.to-l.spaceAfter.length>o-s.from)return a={range:n};let u=o>=l.to-l.spaceAfter.length&&!/\S/.test(s.text.slice(l.to));if(l.item&&u){if(l.item.from<s.from&&!/^[\s>]*$/.test(s.text.slice(0,l.to)))return a={range:n};let r=l.node.firstChild,u=l.node.getChild(`ListItem`,`ListItem`);if(r.to>=o||u&&u.to<o||s.from>0&&!/[^\s>]/.test(i.lineAt(s.from-1).text)||e.nonTightLists===!1){let e=c.length>1?c[c.length-2]:null,t,n=``;e&&e.item?(t=s.from+e.from,n=e.marker(i,1)):t=s.from+(e?e.to:0);let r=[{from:t,to:o,insert:n}];return l.node.name==`OrderedList`&&hT(l.item,i,r,-2),e&&e.node.name==`OrderedList`&&hT(e.item,i,r),{range:T.cursor(t+n.length),changes:r}}{let e=bT(c,t,s);return{range:T.cursor(o+e.length+1),changes:{from:s.from,insert:e+t.lineBreak}}}}if(l.node.name==`Blockquote`&&u&&s.from){let e=i.lineAt(s.from-1),r=/>\s*$/.exec(e.text);if(r&&r.index==l.from){let i=t.changes([{from:e.from+r.index,to:e.to},{from:s.from+l.from,to:s.to}]);return{range:n.map(i),changes:i}}}let d=[];l.node.name==`OrderedList`&&hT(l.item,i,d);let f=l.item&&l.item.from<s.from,p=``;if(!f||/^[\s\d.)\-+*>]*/.exec(s.text)[0].length>=l.to)for(let e=0,t=c.length-1;e<=t;e++)p+=e==t&&!f?c[e].marker(i,1):c[e].blank(e<t?Tt(s.text,4,c[e+1].from)-p.length:null);let m=o;for(;m>s.from&&/\s/.test(s.text.charAt(m-s.from-1));)m--;return p=gT(p,t),yT(l.node,t.doc)&&(p=bT(c,t,s)+t.lineBreak+p),d.push({from:m,to:o,insert:t.lineBreak+p}),{range:T.cursor(m+p.length+1),changes:d}});return!a&&(n(t.update(o,{scrollIntoView:!0,userEvent:`input`})),!0)})();function vT(e){return e.name==`QuoteMark`||e.name==`ListMark`}function yT(e,t){if(e.name!=`OrderedList`&&e.name!=`BulletList`)return!1;let n=e.firstChild,r=e.getChild(`ListItem`,`ListItem`);if(!r)return!1;let i=t.lineAt(n.to),a=t.lineAt(r.from),o=/^[\s>]*$/.test(i.text);return i.number+ +!o<a.number}function bT(e,t,n){let r=``;for(let t=0,i=e.length-2;t<=i;t++)r+=e[t].blank(t<i?Tt(n.text,4,e[t+1].from)-r.length:null,t<i);return gT(r,t)}function xT(e,t){let n=e.resolveInner(t,-1),r=t;vT(n)&&(r=n.from,n=n.parent);for(let e;e=n.childBefore(r);)if(vT(e))r=e.from;else if(e.name==`OrderedList`||e.name==`BulletList`)n=e.lastChild,r=n.to;else break;return n}var ST=[{key:`Enter`,run:_T},{key:`Backspace`,run:({state:e,dispatch:t})=>{let n=q(e),r=null,i=e.changeByRange(t=>{let i=t.from,{doc:a}=e;if(t.empty&&uT.isActiveAt(e,t.from)){let t=a.lineAt(i),r=pT(xT(n,i),a);if(r.length){let n=r[r.length-1],a=n.to-n.spaceAfter.length+ +!!n.spaceAfter;if(i-t.from>a&&!/\S/.test(t.text.slice(a,i-t.from)))return{range:T.cursor(t.from+a),changes:{from:t.from+a,to:i}};if(i-t.from==a&&(n.item&&t.from<=n.item.from||/^[\s>]*$/.test(t.text.slice(0,n.to)))){let r=t.from+n.from;if(n.item&&n.node.from<n.item.from&&/\S/.test(t.text.slice(n.from,n.to))){let i=n.blank(Tt(t.text,4,n.to)-Tt(t.text,4,n.from));return r==t.from&&(i=gT(i,e)),{range:T.cursor(r+i.length),changes:{from:r,to:t.from+n.to,insert:i}}}if(r<i)return{range:T.cursor(r),changes:{from:r,to:i}}}}}return r={range:t}});return!r&&(t(e.update(i,{scrollIntoView:!0,userEvent:`delete`})),!0)}}],CT=xC({matchClosingTags:!1});function wT(e={}){let{codeLanguages:t,defaultCodeLanguage:n,addKeymap:r=!0,base:{parser:i}=lT,completeHTMLTags:a=!0,pasteURLAsLink:o=!0,htmlTagLanguage:s=CT}=e;if(!(i instanceof rw))throw RangeError("Base parser provided to `markdown` should be a Markdown parser");let c=e.extensions?[e.extensions]:[],l=[s.support,sT],u;o&&l.push(kT),n instanceof ju?(l.push(n.support),u=n.language):n&&(u=n);let d=t||u?dT(t,u):void 0;c.push(Mw({codeParser:d,htmlParser:s.language.parser})),r&&l.push(Ae.high(Uo.of(ST)));let f=cT(i.configure(c));return a&&l.push(f.data.of({autocomplete:TT})),new ju(f,l)}function TT(e){let{state:t,pos:n}=e,r=/<[:\-\.\w\u00b7-\uffff]*$/.exec(t.sliceDoc(n-25,n));if(!r)return null;let i=q(t).resolveInner(n,-1);for(;i&&!i.type.isTop;){if(i.name==`CodeBlock`||i.name==`FencedCode`||i.name==`ProcessingInstructionBlock`||i.name==`CommentBlock`||i.name==`Link`||i.name==`Image`)return null;i=i.parent}return{from:n-r[0].length,to:n,options:DT(),validFor:/^<[:\-\.\w\u00b7-\uffff]*$/}}var ET=null;function DT(){if(ET)return ET;let e=mC(new Vh(k.create({extensions:CT}),0,!0));return ET=e?e.options:[]}var OT=/code|horizontalrule|html|link|comment|processing|escape|entity|image|mark|url/i,kT=B.domEventHandlers({paste:(e,t)=>{let{main:n}=t.state.selection;if(n.empty)return!1;let r=e.clipboardData?.getData(`text/plain`);if(!r||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(r)||(/^www\./.test(r)&&(r=`https://`+r),!uT.isActiveAt(t.state,n.from,1)))return!1;let i=q(t.state),a=!1;return i.iterate({from:n.from,to:n.to,enter:e=>{(e.from>n.from||OT.test(e.name))&&(a=!0)},leave:e=>{e.to<n.to&&(a=!0)}}),!a&&(t.dispatch({changes:[{from:n.from,insert:`[`},{from:n.to,insert:`](${r})`}],userEvent:`input.paste`,scrollIntoView:!0}),!0)}}),AT=`#e5c07b`,jT=`#e06c75`,MT=`#56b6c2`,NT=`#ffffff`,PT=`#abb2bf`,FT=`#7d8799`,IT=`#61afef`,LT=`#98c379`,RT=`#d19a66`,zT=`#c678dd`,BT=`#21252b`,VT=`#2c313a`,HT=`#282c34`,UT=`#353a42`,WT=`#3E4451`,GT=`#528bff`,KT=[B.theme({"&":{color:PT,backgroundColor:HT},".cm-content":{caretColor:GT},".cm-cursor, .cm-dropCursor":{borderLeftColor:GT},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:WT},".cm-panels":{backgroundColor:BT,color:PT},".cm-panels.cm-panels-top":{borderBottom:`2px solid black`},".cm-panels.cm-panels-bottom":{borderTop:`2px solid black`},".cm-searchMatch":{backgroundColor:`#72a1ff59`,outline:`1px solid #457dff`},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:`#6199ff2f`},".cm-activeLine":{backgroundColor:`#6699ff0b`},".cm-selectionMatch":{backgroundColor:`#aafe661a`},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:`#bad0f847`},".cm-gutters":{backgroundColor:HT,color:FT,border:`none`},".cm-activeLineGutter":{backgroundColor:VT},".cm-foldPlaceholder":{backgroundColor:`transparent`,border:`none`,color:`#ddd`},".cm-tooltip":{border:`none`,backgroundColor:UT},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:`transparent`,borderBottomColor:`transparent`},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:UT,borderBottomColor:UT},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:VT,color:PT}}},{dark:!0}),Nd(kd.define([{tag:K.keyword,color:zT},{tag:[K.name,K.deleted,K.character,K.propertyName,K.macroName],color:jT},{tag:[K.function(K.variableName),K.labelName],color:IT},{tag:[K.color,K.constant(K.name),K.standard(K.name)],color:RT},{tag:[K.definition(K.name),K.separator],color:PT},{tag:[K.typeName,K.className,K.number,K.changed,K.annotation,K.modifier,K.self,K.namespace],color:AT},{tag:[K.operator,K.operatorKeyword,K.url,K.escape,K.regexp,K.link,K.special(K.string)],color:MT},{tag:[K.meta,K.comment],color:FT},{tag:K.strong,fontWeight:`bold`},{tag:K.emphasis,fontStyle:`italic`},{tag:K.strikethrough,textDecoration:`line-through`},{tag:K.link,color:FT,textDecoration:`underline`},{tag:K.heading,fontWeight:`bold`,color:jT},{tag:[K.atom,K.bool,K.special(K.variableName)],color:RT},{tag:[K.processingInstruction,K.string,K.inserted],color:LT},{tag:K.invalid,color:NT}]))],qT=t();function JT(e){switch(e){case`typescript`:case`tsx`:return Ay({typescript:!0});case`javascript`:case`jsx`:case`mjs`:case`cjs`:return Ay();case`json`:case`jsonl`:return Ry();case`yaml`:case`yml`:return zb();case`html`:case`htm`:return xC();case`css`:case`scss`:case`less`:return qS();case`markdown`:case`mdx`:return wT();default:return[]}}var YT=new Me;function XT(e){return e?KT:Nd(Id)}function ZT({initialValue:e,language:t,isDark:n,onChange:i,onSave:a}){let o=(0,r.useRef)(null),s=(0,r.useRef)(null),c=(0,r.useRef)(i),l=(0,r.useRef)(a);return c.current=i,l.current=a,(0,r.useEffect)(()=>{let r=o.current;if(!r)return;let i=new B({parent:r,state:k.create({doc:e,extensions:[tv,JT(t),YT.of(XT(n)),Uo.of([{key:`Mod-s`,preventDefault:!0,run:()=>(l.current(),!0)},Am]),B.updateListener.of(e=>{e.docChanged&&c.current(e.state.doc.toString())}),B.theme({"&":{height:`100%`,fontSize:`var(--text-lg)`},".cm-scroller":{overflow:`auto`,fontFamily:`var(--font-mono)`},".cm-content":{fontFamily:`var(--font-mono)`}})]})});return s.current=i,()=>{i.destroy(),s.current=null}},[]),(0,r.useEffect)(()=>{s.current?.dispatch({effects:YT.reconfigure(XT(n))})},[n]),(0,qT.jsx)(`div`,{ref:o,style:{height:`100%`,minHeight:0}})}export{ZT as default};
|
|
39
|
+
`;)e--;this.fragmentEnd=e?e-1:0}let n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let r=e+this.fragment.offset;for(;n.to<=r;)if(!n.parent())return!1;for(;;){if(n.from>=r)return this.fragment.from<=t;if(!n.childAfter(r))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(V.contextHash)==e}takeNodes(e){let t=this.cursor,n=this.fragment.offset,r=this.fragmentEnd-+!!this.fragment.openEnd,i=e.absoluteLineStart,a=i,o=e.block.children.length,s=a,c=o;for(;;){if(t.to-n>r){if(t.type.isAnonymous&&t.firstChild())continue;break}let i=Ow(t.from-n,e.ranges);if(t.to-n<=e.ranges[e.rangeI].to)e.addNode(t.tree,i);else{let n=new W(e.parser.nodeSet.types[Q.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(n,t.tree),e.addNode(n,i)}if(t.type.is(`Block`)&&(Ew.indexOf(t.type.id)<0?(a=t.to-n,o=e.block.children.length):(a=s,o=c),s=t.to-n,c=e.block.children.length),!t.nextSibling())break}for(;e.block.children.length>o;)e.block.children.pop(),e.block.positions.pop();return a-i}};function Ow(e,t){let n=e;for(let r=1;r<t.length;r++){let i=t[r-1].to,a=t[r].from;i<e&&(n-=a-i)}return n}var kw=Jl({"Blockquote/...":K.quote,HorizontalRule:K.contentSeparator,"ATXHeading1/... SetextHeading1/...":K.heading1,"ATXHeading2/... SetextHeading2/...":K.heading2,"ATXHeading3/...":K.heading3,"ATXHeading4/...":K.heading4,"ATXHeading5/...":K.heading5,"ATXHeading6/...":K.heading6,"Comment CommentBlock":K.comment,Escape:K.escape,Entity:K.character,"Emphasis/...":K.emphasis,"StrongEmphasis/...":K.strong,"Link/... Image/...":K.link,"OrderedList/... BulletList/...":K.list,"BlockQuote/...":K.quote,"InlineCode CodeText":K.monospace,"URL Autolink":K.url,"HeaderMark HardBreak QuoteMark ListMark LinkMark EmphasisMark CodeMark":K.processingInstruction,"CodeInfo LinkLabel":K.labelName,LinkTitle:K.string,Paragraph:K.content}),Aw=new rw(new nl(sw).extend(kw),Object.keys(JC).map(e=>JC[e]),Object.keys(JC).map(e=>QC[e]),Object.keys(JC),$C,kC,Object.keys(yw).map(e=>yw[e]),Object.keys(yw),[]);function jw(e,t,n){let r=[];for(let i=e.firstChild,a=t;;i=i.nextSibling){let e=i?i.from:n;if(e>a&&r.push({from:a,to:e}),!i)break;a=i.to}return r}function Mw(e){let{codeParser:t,htmlParser:n}=e;return{wrap:Ol((e,r)=>{let i=e.type.id;if(t&&(i==Q.CodeBlock||i==Q.FencedCode)){let n=``;if(i==Q.FencedCode){let t=e.node.getChild(Q.CodeInfo);t&&(n=r.read(t.from,t.to))}let a=t(n);if(a)return{parser:a,overlay:e=>e.type.id==Q.CodeText,bracketed:i==Q.FencedCode}}else if(n&&(i==Q.HTMLBlock||i==Q.HTMLTag||i==Q.CommentBlock))return{parser:n,overlay:jw(e.node,e.from,e.to)};return null})}}var Nw={resolve:`Strikethrough`,mark:`StrikethroughMark`},Pw={defineNodes:[{name:`Strikethrough`,style:{"Strikethrough/...":K.strikethrough}},{name:`StrikethroughMark`,style:K.processingInstruction}],parseInline:[{name:`Strikethrough`,parse(e,t,n){if(t!=126||e.char(n+1)!=126||e.char(n+2)==126)return-1;let r=e.slice(n-1,n),i=e.slice(n+2,n+3),a=/\s|^$/.test(r),o=/\s|^$/.test(i),s=vw.test(r),c=vw.test(i);return e.addDelimiter(Nw,n,n+2,!o&&(!c||a||s),!a&&(!s||o||c))},after:`Emphasis`}]};function Fw(e,t,n=0,r,i=0){let a=0,o=!0,s=-1,c=-1,l=!1,u=()=>{r.push(e.elt(`TableCell`,i+s,i+c,e.parser.parseInline(t.slice(s,c),i+s)))};for(let d=n;d<t.length;d++){let n=t.charCodeAt(d);n==124&&!l?((!o||s>-1)&&a++,o=!1,r&&(s>-1&&u(),r.push(e.elt(`TableDelimiter`,d+i,d+i+1))),s=c=-1):(l||n!=32&&n!=9)&&(s<0&&(s=d),c=d+1),l=!l&&n==92}return s>-1&&(a++,r&&u()),a}function Iw(e,t){for(let n=t;n<e.length;n++){let t=e.charCodeAt(n);if(t==124)return!0;t==92&&n++}return!1}var Lw=/^[>\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/,Rw=class{constructor(){this.rows=null}nextLine(e,t,n){if(this.rows==null){this.rows=!1;let r;if((t.next==45||t.next==58||t.next==124)&&Lw.test(r=t.text.slice(t.pos))){let i=[];Fw(e,n.content,0,i,n.start)==Fw(e,r,0)&&(this.rows=[e.elt(`TableHeader`,n.start,n.start+n.content.length,i),e.elt(`TableDelimiter`,e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let n=[];Fw(e,t.text,t.pos,n,e.lineStart),this.rows.push(e.elt(`TableRow`,e.lineStart+t.pos,e.lineStart+t.text.length,n))}return!1}finish(e,t){return this.rows?(e.addLeafElement(t,e.elt(`Table`,t.start,t.start+t.content.length,this.rows)),!0):!1}},zw={defineNodes:[{name:`Table`,block:!0},{name:`TableHeader`,style:{"TableHeader/...":K.heading}},`TableRow`,{name:`TableCell`,style:K.content},{name:`TableDelimiter`,style:K.processingInstruction}],parseBlock:[{name:`Table`,leaf(e,t){return Iw(t.content,0)?new Rw:null},endLeaf(e,t,n){if(n.parsers.some(e=>e instanceof Rw)||!Iw(t.text,t.basePos))return!1;let r=e.peekLine();return Lw.test(r)&&Fw(e,t.text,t.basePos)==Fw(e,r,t.basePos)},before:`SetextHeading`}]},Bw=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt(`Task`,t.start,t.start+t.content.length,[e.elt(`TaskMarker`,t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},Vw={defineNodes:[{name:`Task`,block:!0,style:K.list},{name:`TaskMarker`,style:K.atom}],parseBlock:[{name:`TaskList`,leaf(e,t){return/^\[[ xX]\][ \t]/.test(t.content)&&e.parentType().name==`ListItem`?new Bw:null},after:`SetextHeading`}]},Hw=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,Uw=/[\w-]+(\.[\w-]+)+(:\d+)?(\/[^\s<]*)?/gy,Ww=/[\w-]+\.[\w-]+($|[/:])/,Gw=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,Kw=/\/[a-zA-Z\d@.]+/gy;function qw(e,t,n,r){let i=0;for(let a=t;a<n;a++)e[a]==r&&i++;return i}function Jw(e,t){Uw.lastIndex=t;let n=Uw.exec(e);if(!n||Ww.exec(n[0])[0].indexOf(`_`)>-1)return-1;let r=t+n[0].length;for(;;){let n=e[r-1],i;if(/[?!.,:*_~]/.test(n)||n==`)`&&qw(e,t,r,`)`)>qw(e,t,r,`(`))r--;else if(n==`;`&&(i=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(e.slice(t,r))))r=t+i.index;else break}return r}function Yw(e,t){Gw.lastIndex=t;let n=Gw.exec(e);if(!n)return-1;let r=n[0][n[0].length-1];return r==`_`||r==`-`?-1:t+n[0].length-+(r==`.`)}var Xw=[zw,Vw,Pw,{parseInline:[{name:`Autolink`,parse(e,t,n){let r=n-e.offset;if(r&&/\w/.test(e.text[r-1]))return-1;Hw.lastIndex=r;let i=Hw.exec(e.text),a=-1;return!i||(i[1]||i[2]?(a=Jw(e.text,r+i[0].length),a>-1&&e.hasOpenLink&&(a=r+/([^\[\]]|\[[^\]]*\])*/.exec(e.text.slice(r,a))[0].length)):i[3]?a=Yw(e.text,r):(a=Yw(e.text,r+i[0].length),a>-1&&i[0]==`xmpp:`&&(Kw.lastIndex=a,i=Kw.exec(e.text),i&&(a=i.index+i[0].length))),a<0)?-1:(e.addElement(e.elt(`URL`,n,a+e.offset)),a+e.offset)}}]}];function Zw(e,t,n){return(r,i,a)=>{if(i!=e||r.char(a+1)==e)return-1;let o=[r.elt(n,a,a+1)];for(let i=a+1;i<r.end;i++){let s=r.char(i);if(s==e)return r.addElement(r.elt(t,a,i+1,o.concat(r.elt(n,i,i+1))));if(s==92&&o.push(r.elt(`Escape`,i,i+++2)),AC(s))break}return-1}}var Qw={defineNodes:[{name:`Superscript`,style:K.special(K.content)},{name:`SuperscriptMark`,style:K.processingInstruction}],parseInline:[{name:`Superscript`,parse:Zw(94,`Superscript`,`SuperscriptMark`)}]},$w={defineNodes:[{name:`Subscript`,style:K.special(K.content)},{name:`SubscriptMark`,style:K.processingInstruction}],parseInline:[{name:`Subscript`,parse:Zw(126,`Subscript`,`SubscriptMark`)}]},eT={defineNodes:[{name:`Emoji`,style:K.character}],parseInline:[{name:`Emoji`,parse(e,t,n){let r;return t!=58||!(r=/^[a-zA-Z_0-9]+:/.exec(e.slice(n+1,e.end)))?-1:e.addElement(e.elt(`Emoji`,n,n+1+r[0].length))}}]},tT=_u({commentTokens:{block:{open:`<!--`,close:`-->`}}}),nT=new V,rT=Aw.configure({props:[td.add(e=>!e.is(`Block`)||e.is(`Document`)||iT(e)!=null||aT(e)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),nT.add(iT),zu.add({Document:()=>null}),gu.add({Document:tT})]});function iT(e){let t=/^(?:ATX|Setext)Heading(\d)$/.exec(e.name);return t?+t[1]:void 0}function aT(e){return e.name==`OrderedList`||e.name==`BulletList`}function oT(e,t){let n=e;for(;;){let e=n.nextSibling,r;if(!e||(r=iT(e.type))!=null&&r<=t)break;n=e}return n.to}var sT=ed.of((e,t,n)=>{for(let r=q(e).resolveInner(n,-1);r&&!(r.from<t);r=r.parent){let e=r.type.prop(nT);if(e==null)continue;let t=oT(r,e);if(t>n)return{from:n,to:t}}return null});function cT(e){return new yu(tT,e,[],`markdown`)}var lT=cT(rT),uT=cT(rT.configure([Xw,$w,Qw,eT,{props:[td.add({Table:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}]));function dT(e,t){return n=>{if(n&&e){let t=null;if(n=/\S*/.exec(n)[0],t=typeof e==`function`?e(n):Mu.matchLanguageName(e,n,!0),t instanceof Mu)return t.support?t.support.language.parser:wu.getSkippingParser(t.load());if(t)return t.parser}return t?t.parser:null}}var fT=class{constructor(e,t,n,r,i,a,o){this.node=e,this.from=t,this.to=n,this.spaceBefore=r,this.spaceAfter=i,this.type=a,this.item=o}blank(e,t=!0){let n=this.spaceBefore+(this.node.name==`Blockquote`?`>`:``);if(e!=null){for(;n.length<e;)n+=` `;return n}for(let e=this.to-this.from-n.length-this.spaceAfter.length;e>0;e--)n+=` `;return n+(t?this.spaceAfter:``)}marker(e,t){let n=this.node.name==`OrderedList`?String(+mT(this.item,e)[2]+t):``;return this.spaceBefore+n+this.type+this.spaceAfter}};function pT(e,t){let n=[],r=[];for(let t=e;t;t=t.parent){if(t.name==`FencedCode`)return r;(t.name==`ListItem`||t.name==`Blockquote`)&&n.push(t)}for(let e=n.length-1;e>=0;e--){let i=n[e],a,o=t.lineAt(i.from),s=i.from-o.from;if(i.name==`Blockquote`&&(a=/^ *>( ?)/.exec(o.text.slice(s))))r.push(new fT(i,s,s+a[0].length,``,a[1],`>`,null));else if(i.name==`ListItem`&&i.parent.name==`OrderedList`&&(a=/^( *)\d+([.)])( *)/.exec(o.text.slice(s)))){let e=a[3],t=a[0].length;e.length>=4&&(e=e.slice(0,e.length-4),t-=4),r.push(new fT(i.parent,s,s+t,a[1],e,a[2],i))}else if(i.name==`ListItem`&&i.parent.name==`BulletList`&&(a=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(o.text.slice(s)))){let e=a[4],t=a[0].length;e.length>4&&(e=e.slice(0,e.length-4),t-=4);let n=a[2];a[3]&&(n+=a[3].replace(/[xX]/,` `)),r.push(new fT(i.parent,s,s+t,a[1],e,n,i))}}return r}function mT(e,t){return/^(\s*)(\d+)(?=[.)])/.exec(t.sliceString(e.from,e.from+10))}function hT(e,t,n,r=0){for(let i=-1,a=e;;){if(a.name==`ListItem`){let e=mT(a,t),o=+e[2];if(i>=0){if(o!=i+1)return;n.push({from:a.from+e[1].length,to:a.from+e[0].length,insert:String(i+2+r)})}i=o}let e=a.nextSibling;if(!e)break;a=e}}function gT(e,t){let n=/^[ \t]*/.exec(e)[0].length;if(!n||t.facet(Pu)!=` `)return e;let r=Tt(e,4,n),i=``;for(let e=r;e>0;)e>=4?(i+=` `,e-=4):(i+=` `,e--);return i+e.slice(n)}var _T=((e={})=>({state:t,dispatch:n})=>{let r=q(t),{doc:i}=t,a=null,o=t.changeByRange(n=>{if(!n.empty||!uT.isActiveAt(t,n.from,-1)&&!uT.isActiveAt(t,n.from,1))return a={range:n};let o=n.from,s=i.lineAt(o),c=pT(r.resolveInner(o,-1),i);for(;c.length&&c[c.length-1].from>o-s.from;)c.pop();if(!c.length)return a={range:n};let l=c[c.length-1];if(l.to-l.spaceAfter.length>o-s.from)return a={range:n};let u=o>=l.to-l.spaceAfter.length&&!/\S/.test(s.text.slice(l.to));if(l.item&&u){if(l.item.from<s.from&&!/^[\s>]*$/.test(s.text.slice(0,l.to)))return a={range:n};let r=l.node.firstChild,u=l.node.getChild(`ListItem`,`ListItem`);if(r.to>=o||u&&u.to<o||s.from>0&&!/[^\s>]/.test(i.lineAt(s.from-1).text)||e.nonTightLists===!1){let e=c.length>1?c[c.length-2]:null,t,n=``;e&&e.item?(t=s.from+e.from,n=e.marker(i,1)):t=s.from+(e?e.to:0);let r=[{from:t,to:o,insert:n}];return l.node.name==`OrderedList`&&hT(l.item,i,r,-2),e&&e.node.name==`OrderedList`&&hT(e.item,i,r),{range:T.cursor(t+n.length),changes:r}}{let e=bT(c,t,s);return{range:T.cursor(o+e.length+1),changes:{from:s.from,insert:e+t.lineBreak}}}}if(l.node.name==`Blockquote`&&u&&s.from){let e=i.lineAt(s.from-1),r=/>\s*$/.exec(e.text);if(r&&r.index==l.from){let i=t.changes([{from:e.from+r.index,to:e.to},{from:s.from+l.from,to:s.to}]);return{range:n.map(i),changes:i}}}let d=[];l.node.name==`OrderedList`&&hT(l.item,i,d);let f=l.item&&l.item.from<s.from,p=``;if(!f||/^[\s\d.)\-+*>]*/.exec(s.text)[0].length>=l.to)for(let e=0,t=c.length-1;e<=t;e++)p+=e==t&&!f?c[e].marker(i,1):c[e].blank(e<t?Tt(s.text,4,c[e+1].from)-p.length:null);let m=o;for(;m>s.from&&/\s/.test(s.text.charAt(m-s.from-1));)m--;return p=gT(p,t),yT(l.node,t.doc)&&(p=bT(c,t,s)+t.lineBreak+p),d.push({from:m,to:o,insert:t.lineBreak+p}),{range:T.cursor(m+p.length+1),changes:d}});return!a&&(n(t.update(o,{scrollIntoView:!0,userEvent:`input`})),!0)})();function vT(e){return e.name==`QuoteMark`||e.name==`ListMark`}function yT(e,t){if(e.name!=`OrderedList`&&e.name!=`BulletList`)return!1;let n=e.firstChild,r=e.getChild(`ListItem`,`ListItem`);if(!r)return!1;let i=t.lineAt(n.to),a=t.lineAt(r.from),o=/^[\s>]*$/.test(i.text);return i.number+ +!o<a.number}function bT(e,t,n){let r=``;for(let t=0,i=e.length-2;t<=i;t++)r+=e[t].blank(t<i?Tt(n.text,4,e[t+1].from)-r.length:null,t<i);return gT(r,t)}function xT(e,t){let n=e.resolveInner(t,-1),r=t;vT(n)&&(r=n.from,n=n.parent);for(let e;e=n.childBefore(r);)if(vT(e))r=e.from;else if(e.name==`OrderedList`||e.name==`BulletList`)n=e.lastChild,r=n.to;else break;return n}var ST=[{key:`Enter`,run:_T},{key:`Backspace`,run:({state:e,dispatch:t})=>{let n=q(e),r=null,i=e.changeByRange(t=>{let i=t.from,{doc:a}=e;if(t.empty&&uT.isActiveAt(e,t.from)){let t=a.lineAt(i),r=pT(xT(n,i),a);if(r.length){let n=r[r.length-1],a=n.to-n.spaceAfter.length+ +!!n.spaceAfter;if(i-t.from>a&&!/\S/.test(t.text.slice(a,i-t.from)))return{range:T.cursor(t.from+a),changes:{from:t.from+a,to:i}};if(i-t.from==a&&(n.item&&t.from<=n.item.from||/^[\s>]*$/.test(t.text.slice(0,n.to)))){let r=t.from+n.from;if(n.item&&n.node.from<n.item.from&&/\S/.test(t.text.slice(n.from,n.to))){let i=n.blank(Tt(t.text,4,n.to)-Tt(t.text,4,n.from));return r==t.from&&(i=gT(i,e)),{range:T.cursor(r+i.length),changes:{from:r,to:t.from+n.to,insert:i}}}if(r<i)return{range:T.cursor(r),changes:{from:r,to:i}}}}}return r={range:t}});return!r&&(t(e.update(i,{scrollIntoView:!0,userEvent:`delete`})),!0)}}],CT=xC({matchClosingTags:!1});function wT(e={}){let{codeLanguages:t,defaultCodeLanguage:n,addKeymap:r=!0,base:{parser:i}=lT,completeHTMLTags:a=!0,pasteURLAsLink:o=!0,htmlTagLanguage:s=CT}=e;if(!(i instanceof rw))throw RangeError("Base parser provided to `markdown` should be a Markdown parser");let c=e.extensions?[e.extensions]:[],l=[s.support,sT],u;o&&l.push(kT),n instanceof ju?(l.push(n.support),u=n.language):n&&(u=n);let d=t||u?dT(t,u):void 0;c.push(Mw({codeParser:d,htmlParser:s.language.parser})),r&&l.push(Ae.high(Uo.of(ST)));let f=cT(i.configure(c));return a&&l.push(f.data.of({autocomplete:TT})),new ju(f,l)}function TT(e){let{state:t,pos:n}=e,r=/<[:\-\.\w\u00b7-\uffff]*$/.exec(t.sliceDoc(n-25,n));if(!r)return null;let i=q(t).resolveInner(n,-1);for(;i&&!i.type.isTop;){if(i.name==`CodeBlock`||i.name==`FencedCode`||i.name==`ProcessingInstructionBlock`||i.name==`CommentBlock`||i.name==`Link`||i.name==`Image`)return null;i=i.parent}return{from:n-r[0].length,to:n,options:DT(),validFor:/^<[:\-\.\w\u00b7-\uffff]*$/}}var ET=null;function DT(){if(ET)return ET;let e=mC(new Vh(k.create({extensions:CT}),0,!0));return ET=e?e.options:[]}var OT=/code|horizontalrule|html|link|comment|processing|escape|entity|image|mark|url/i,kT=B.domEventHandlers({paste:(e,t)=>{let{main:n}=t.state.selection;if(n.empty)return!1;let r=e.clipboardData?.getData(`text/plain`);if(!r||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(r)||(/^www\./.test(r)&&(r=`https://`+r),!uT.isActiveAt(t.state,n.from,1)))return!1;let i=q(t.state),a=!1;return i.iterate({from:n.from,to:n.to,enter:e=>{(e.from>n.from||OT.test(e.name))&&(a=!0)},leave:e=>{e.to<n.to&&(a=!0)}}),!a&&(t.dispatch({changes:[{from:n.from,insert:`[`},{from:n.to,insert:`](${r})`}],userEvent:`input.paste`,scrollIntoView:!0}),!0)}}),AT=`#e5c07b`,jT=`#e06c75`,MT=`#56b6c2`,NT=`#ffffff`,PT=`#abb2bf`,FT=`#7d8799`,IT=`#61afef`,LT=`#98c379`,RT=`#d19a66`,zT=`#c678dd`,BT=`#21252b`,VT=`#2c313a`,HT=`#282c34`,UT=`#353a42`,WT=`#3E4451`,GT=`#528bff`,KT=[B.theme({"&":{color:PT,backgroundColor:HT},".cm-content":{caretColor:GT},".cm-cursor, .cm-dropCursor":{borderLeftColor:GT},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:WT},".cm-panels":{backgroundColor:BT,color:PT},".cm-panels.cm-panels-top":{borderBottom:`2px solid black`},".cm-panels.cm-panels-bottom":{borderTop:`2px solid black`},".cm-searchMatch":{backgroundColor:`#72a1ff59`,outline:`1px solid #457dff`},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:`#6199ff2f`},".cm-activeLine":{backgroundColor:`#6699ff0b`},".cm-selectionMatch":{backgroundColor:`#aafe661a`},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:`#bad0f847`},".cm-gutters":{backgroundColor:HT,color:FT,border:`none`},".cm-activeLineGutter":{backgroundColor:VT},".cm-foldPlaceholder":{backgroundColor:`transparent`,border:`none`,color:`#ddd`},".cm-tooltip":{border:`none`,backgroundColor:UT},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:`transparent`,borderBottomColor:`transparent`},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:UT,borderBottomColor:UT},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:VT,color:PT}}},{dark:!0}),Nd(kd.define([{tag:K.keyword,color:zT},{tag:[K.name,K.deleted,K.character,K.propertyName,K.macroName],color:jT},{tag:[K.function(K.variableName),K.labelName],color:IT},{tag:[K.color,K.constant(K.name),K.standard(K.name)],color:RT},{tag:[K.definition(K.name),K.separator],color:PT},{tag:[K.typeName,K.className,K.number,K.changed,K.annotation,K.modifier,K.self,K.namespace],color:AT},{tag:[K.operator,K.operatorKeyword,K.url,K.escape,K.regexp,K.link,K.special(K.string)],color:MT},{tag:[K.meta,K.comment],color:FT},{tag:K.strong,fontWeight:`bold`},{tag:K.emphasis,fontStyle:`italic`},{tag:K.strikethrough,textDecoration:`line-through`},{tag:K.link,color:FT,textDecoration:`underline`},{tag:K.heading,fontWeight:`bold`,color:jT},{tag:[K.atom,K.bool,K.special(K.variableName)],color:RT},{tag:[K.processingInstruction,K.string,K.inserted],color:LT},{tag:K.invalid,color:NT}]))],qT=n();function JT(e){switch(e){case`typescript`:case`tsx`:return Ay({typescript:!0});case`javascript`:case`jsx`:case`mjs`:case`cjs`:return Ay();case`json`:case`jsonl`:return Ry();case`yaml`:case`yml`:return zb();case`html`:case`htm`:return xC();case`css`:case`scss`:case`less`:return qS();case`markdown`:case`mdx`:return wT();default:return[]}}var YT=new Me;function XT(e){return e?KT:Nd(Id)}function ZT({initialValue:e,language:t,isDark:n,onChange:i,onSave:a}){let o=(0,r.useRef)(null),s=(0,r.useRef)(null),c=(0,r.useRef)(i),l=(0,r.useRef)(a);return c.current=i,l.current=a,(0,r.useEffect)(()=>{let r=o.current;if(!r)return;let i=new B({parent:r,state:k.create({doc:e,extensions:[tv,JT(t),YT.of(XT(n)),Uo.of([{key:`Mod-s`,preventDefault:!0,run:()=>(l.current(),!0)},Am]),B.updateListener.of(e=>{e.docChanged&&c.current(e.state.doc.toString())}),B.theme({"&":{height:`100%`,fontSize:`var(--text-lg)`},".cm-scroller":{overflow:`auto`,fontFamily:`var(--font-mono)`},".cm-content":{fontFamily:`var(--font-mono)`}})]})});return s.current=i,()=>{i.destroy(),s.current=null}},[]),(0,r.useEffect)(()=>{s.current?.dispatch({effects:YT.reconfigure(XT(n))})},[n]),(0,qT.jsx)(`div`,{ref:o,style:{height:`100%`,minHeight:0}})}export{ZT as default};
|
package/dist/static/assets/{abnfDiagram-VCTEODGH-BODBSrhm.js → abnfDiagram-VCTEODGH-BTln3J2A.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as e,t}from"./mermaid-parser.core-
|
|
1
|
+
import{m as e,t}from"./mermaid-parser.core-Bt-NTqTu.js";import{n}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as r}from"./src-B6xuSHsQ.js";import"./chunk-DU6HZSFF-Cok-A1CS.js";import{n as i,r as a,t as o}from"./chunk-SVP7TREG-BCZgT1m2.js";import{t as s}from"./chunk-JWPE2WC7-DVXcaiue.js";import"./mermaid.core-Ccd3XIq_.js";var c=e().RailroadAbnf.parser.LangiumParser,l=n(e=>{let t=e.alternatives.map(u);return t.length===1?t[0]:{type:`choice`,alternatives:t}},`transformAlternation`),u=n(e=>{let t=e.elements.map(f);return t.length===1?t[0]:{type:`sequence`,elements:t}},`transformConcatenation`),d=n(e=>{if(e.includes(`*`)){let[t,n]=e.split(`*`);return{min:t?parseInt(t,10):0,max:n?parseInt(n,10):1/0}}let t=parseInt(e,10);return{min:t,max:t}},`parseRepeat`),f=n(e=>{let t=p(e.primary);if(!e.repeat)return t;let{min:n,max:r}=d(e.repeat);return n===0&&r===1?{type:`optional`,element:t}:{type:`repetition`,element:t,min:n,max:r}},`transformElement`),p=n(e=>{switch(e.$type){case`AbnfStringLiteral`:return{type:`terminal`,value:e.value};case`AbnfNumVal`:return{type:`terminal`,value:e.value};case`AbnfRuleName`:return{type:`nonterminal`,name:e.name};case`AbnfGroup`:return l(e.element);case`AbnfOptionalGroup`:return{type:`optional`,element:l(e.element)};default:throw Error(`Unsupported ABNF primary node: ${e.$type}`)}},`transformPrimary`),m=n(e=>({name:e.name,definition:l(e.definition)}),`transformRule`),h=n(e=>{s(e,o),e.title&&o.setTitle(e.title),e.rules.map(e=>o.addRule(m(e)))},`populateDb`),g={parser:{parse:n(e=>{o.clear(),r.debug(`[ABNF Parser] Starting Langium parse`);let n=c.parse(e);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new t(n);let i=n.value;r.debug(`[ABNF Parser] Parsed rules:`,i.rules.length),h(i),r.debug(`[ABNF Parser] Parse complete`)},`parse`),parser:{yy:o}},db:o,renderer:a,styles:i};export{g as diagram};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-FOHPRMQF-DHwB1DNv.js";import{M as e}from"./mermaid-parser.core-Bt-NTqTu.js";export{e as createArchitectureServices};
|