@openchambery/web 1.19.6 → 1.19.7-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{AgentAvatar-CecaXP3U.js → AgentAvatar-Di8F4QJh.js} +1 -1
- package/dist/assets/AssistantView-DjRMIQm9.js +1 -0
- package/dist/assets/{ChatContainer-BNiQ84dy.js → ChatContainer-46JNO0wQ.js} +41 -41
- package/dist/assets/ContextPanel-C0ChXTuy.js +285 -0
- package/dist/assets/DiagramView-BgKMg0IV.js +1 -0
- package/dist/assets/FadeInOnReveal-CV2s6YN8.js +1 -0
- package/dist/assets/{Icon-Du1LX11Q.js → Icon-CLpn1mIz.js} +1 -1
- package/dist/assets/MarkdownRendererImpl-DeXN6UZF.js +7 -0
- package/dist/assets/MarkstreamRendererImpl-BRvprELo.js +1 -0
- package/dist/assets/MarkstreamRendererImpl-Ca7RATbs.css +1 -0
- package/dist/assets/MobileDetailNavigation-CyEjNnBa.js +1 -0
- package/dist/assets/MobileShareBridge-b_P7CIM8.js +4 -0
- package/dist/assets/MobileSurface-GUoCE7e3.js +2 -0
- package/dist/assets/{MultiRunWindow-BT7jpOmw.js → MultiRunWindow-BXKiOGl3.js} +1 -1
- package/dist/assets/OnboardingScreen-D6rtE7rj.js +1 -0
- package/dist/assets/OverlayScrollbar-DlNZho3q.js +2 -0
- package/dist/assets/SettingsView-CmQ9Gihu.js +25 -0
- package/dist/assets/{SettingsWindow-fsuSYQpN.js → SettingsWindow-oomlikIc.js} +1 -1
- package/dist/assets/TerminalView-DukmFrpQ.js +8 -0
- package/dist/assets/ToolOutputDialog-DfyASOZ3.js +10 -0
- package/dist/assets/__vite-optional-peer-dep_mermaid_markstream-react-CQGbcmkI.js +1 -0
- package/dist/assets/appThemeRegistry-BPIyegL1.js +2 -0
- package/dist/assets/{button-p6vbd3r6.js → button-z0GOBtWi.js} +1 -1
- package/dist/assets/clipboard-D35XSwID.js +1 -0
- package/dist/assets/{collapsible-Cimoz0kx.js → collapsible-D9zJRpeB.js} +1 -1
- package/dist/assets/d2_markstream-react-DtM9g53j.js +1 -0
- package/dist/assets/desktop-CfLlmafK.js +1 -0
- package/dist/assets/desktopHosts-C1Ns3DUu.js +1 -0
- package/dist/assets/desktopRelayRestore-8pvI_dSc.js +1 -0
- package/dist/assets/{diagram-DX_MPRs3.js → diagram-CoEqmReY.js} +1 -1
- package/dist/assets/{dialog-Bjnvo5pk.js → dialog-x2hirWBd.js} +1 -1
- package/dist/assets/{es-D9KcV5TX.js → es-C8Sqjsia.js} +1 -1
- package/dist/assets/fileQueries-DGHZqZHc.js +1 -0
- package/dist/assets/{fr-DPA9qUl3.js → fr-p-Zwm_j2.js} +1 -1
- package/dist/assets/{gitApi-DpRVHaQE.js → gitApi-CDZC-Lk_.js} +1 -1
- package/dist/assets/infographic_markstream-react-C3vVus-4.js +1 -0
- package/dist/assets/{input-gaFVNq1P.js → input-BG3VWTIF.js} +1 -1
- package/dist/assets/insertionBoundaries-COMpolc-.js +4 -0
- package/dist/assets/{ja-Dsif3NoD.js → ja-B6REu1qP.js} +1 -1
- package/dist/assets/{ko-Dixx4Ctg.js → ko-CJBNH9IZ.js} +1 -1
- package/dist/assets/main-BUoqbfN5.js +29 -0
- package/dist/assets/main-CzBK9fLh.js +2 -0
- package/dist/assets/markdown-worker-y3ewaqAK.js +4 -0
- package/dist/assets/markdownHeightCache-CvUyZT4q.js +1 -0
- package/dist/assets/markdownTheme-SPe4jOwX.js +2 -0
- package/dist/assets/miniChat-B_1WEof_.js +2 -0
- package/dist/assets/mobile-BeF7OWnn.js +2 -0
- package/dist/assets/multirun-CIJ8QEaF.js +4 -0
- package/dist/assets/persistence-w-AiX2i4.js +3 -0
- package/dist/assets/{pl-Bj78ZGgf.js → pl-B2cBI_7K.js} +1 -1
- package/dist/assets/platform-4eCmsdol.js +2 -0
- package/dist/assets/projectMeta-DDlv5Ikc.js +3 -0
- package/dist/assets/{pt-BR-CFL3xSAf.js → pt-BR-CrCc9hmt.js} +1 -1
- package/dist/assets/radio-CavTQQap.js +1 -0
- package/dist/assets/renderElectronMiniChatApp-BsJ8uce6.js +2 -0
- package/dist/assets/renderMobileApp-DlUGMmJA.js +28 -0
- package/dist/assets/runtime-switch-BkpTTbEi.js +1 -0
- package/dist/assets/runtimeConfig-Bd6v740T.js +2 -0
- package/dist/assets/runtimeEndpointReset-BWSOrCQV.js +4 -0
- package/dist/assets/{shikiHighlight-Bs6Tt3X-.js → shikiHighlight-B-VbG24L.js} +1 -1
- package/dist/assets/sortable-tabs-strip-CNDgyX0B.js +1 -0
- package/dist/assets/{src-2eFAiBLq.css → src-DZt1nWf5.css} +1 -1
- package/dist/assets/{store-DzpbXWX1.js → store-CL3WP48T.js} +2 -2
- package/dist/assets/terminalApi-CGtOtc8I.js +1 -0
- package/dist/assets/{tooltip-D1a6rKLA.js → tooltip-CtH61mQh.js} +1 -1
- package/dist/assets/{uk-BY60Ub3Z.js → uk-C8YKAz0x.js} +1 -1
- package/dist/assets/url-KeihbE0d.js +1 -0
- package/dist/assets/useAppFontEffects-DgTFkg79.js +7 -0
- package/dist/assets/useAssistantUIStore-I0VWrB5V.js +1 -0
- package/dist/assets/useDesktopWindowControlsLayout-D7acNtOm.js +1 -0
- package/dist/assets/{useEffectiveDirectory-CmjO98kZ.js → useEffectiveDirectory-SLhBW8Ri.js} +1 -1
- package/dist/assets/useFontPreferences-BLZ3y6mN.js +1 -0
- package/dist/assets/useMobileNavigationStore-BDD3R1c_.js +412 -0
- package/dist/assets/useSessionAutoCleanup-da8DkQd4.js +1 -0
- package/dist/assets/useUIStore-CNLmCoPU.js +1 -0
- package/dist/assets/useWorkerHighlightedLines-CG8Rl5i3.js +7 -0
- package/dist/assets/utils-CTL16t2f.js +1 -0
- package/dist/assets/vendor-floating-ui-core-Co1I1lFV.js +1 -0
- package/dist/assets/vendor-floating-ui-dom-BHhLtF5l.js +1 -0
- package/dist/assets/vendor-katex--B5dHUyk.js +257 -0
- package/dist/assets/vendor-markstream-core-Cm34iPLL.js +3 -0
- package/dist/assets/vendor-markstream-react-CGQrpq8a.css +1 -0
- package/dist/assets/vendor-markstream-react-CwvbEg9R.js +173 -0
- package/dist/assets/vendor-pierre-diffs-DX7XTPG3.js +2795 -0
- package/dist/assets/vendor-pierre-theme-D9JzKBPc.js +1 -0
- package/dist/assets/vendor-stream-diffs-DWy3xSmp.js +6 -0
- package/dist/assets/{zh-CN-Cox1LaOW.js → zh-CN-CCYwUnmB.js} +1 -1
- package/dist/assets/{zh-TW-B6RU0mxa.js → zh-TW-D8Y6py08.js} +1 -1
- package/dist/index.html +11 -9
- package/dist/mini-chat.html +11 -9
- package/dist/mobile.html +11 -9
- package/package.json +1 -1
- package/server/lib/notifications/APNS.md +4 -4
- package/server/lib/notifications/DOCUMENTATION.md +1 -1
- package/server/lib/notifications/apns-runtime.js +139 -20
- package/server/lib/notifications/apns-runtime.test.js +66 -7
- package/server/lib/notifications/apns-titles.js +62 -62
- package/server/lib/notifications/apns-titles.test.js +3 -1
- package/server/lib/notifications/routes.js +1 -1
- package/server/lib/notifications/runtime.js +29 -49
- package/server/lib/notifications/runtime.test.js +22 -0
- package/server/lib/opencode/settings-runtime.js +16 -0
- package/dist/assets/AssistantView-BJv9QUM-.js +0 -1
- package/dist/assets/ContextPanel-Df7BbJaq.js +0 -285
- package/dist/assets/DiagramView-Cw96eBGZ.js +0 -1
- package/dist/assets/FadeInOnReveal-Cj9ZC3Ab.js +0 -1
- package/dist/assets/MarkdownRendererImpl-DtZOlgmm.js +0 -7
- package/dist/assets/MobileDetailNavigation-C_4Y_X61.js +0 -1
- package/dist/assets/MobileShareBridge-CRpk-w3Q.js +0 -4
- package/dist/assets/MobileSurface-Brh-Z1KZ.js +0 -2
- package/dist/assets/OnboardingScreen-BkbprNa7.js +0 -1
- package/dist/assets/OverlayScrollbar-oOLMqq2s.js +0 -2
- package/dist/assets/SettingsView-BFP8FEvx.js +0 -25
- package/dist/assets/TerminalView-Z11uL87z.js +0 -8
- package/dist/assets/ToolOutputDialog-BV2y1sgg.js +0 -10
- package/dist/assets/appThemeRegistry-CNVnIaLQ.js +0 -2
- package/dist/assets/clipboard-C0bgPFn5.js +0 -1
- package/dist/assets/desktopHosts-DceeVBky.js +0 -1
- package/dist/assets/desktopRelayRestore-B0MRdR5y.js +0 -1
- package/dist/assets/fileQueries-BDld6h3B.js +0 -1
- package/dist/assets/insertionBoundaries-Dj5ZcWxy.js +0 -4
- package/dist/assets/main-B_kb4yxM.js +0 -29
- package/dist/assets/main-BqE-HYIY.js +0 -2
- package/dist/assets/markdown-worker-CoO82KYF.js +0 -4
- package/dist/assets/markdownTheme-St8zxDvJ.js +0 -2
- package/dist/assets/miniChat-CUYIqudA.js +0 -2
- package/dist/assets/mobile-C4xx6vwy.js +0 -2
- package/dist/assets/multirun-CfDp-MKW.js +0 -4
- package/dist/assets/persistence-CLUawIlm.js +0 -3
- package/dist/assets/platform-BrncW9ab.js +0 -2
- package/dist/assets/projectMeta-DuKavDZ0.js +0 -3
- package/dist/assets/radio-BgPFAtiV.js +0 -1
- package/dist/assets/renderElectronMiniChatApp-BjwbnKC-.js +0 -2
- package/dist/assets/renderMobileApp-DzGInnvc.js +0 -25
- package/dist/assets/runtimeConfig-D5qWnnR3.js +0 -2
- package/dist/assets/runtimeEndpointReset-kob_Gqd0.js +0 -4
- package/dist/assets/sortable-tabs-strip-oDpTDVoQ.js +0 -1
- package/dist/assets/terminalApi-D2OzR0I3.js +0 -1
- package/dist/assets/url-zwuNq3GS.js +0 -1
- package/dist/assets/useAppFontEffects-DR99zjde.js +0 -7
- package/dist/assets/useAssistantUIStore-D699Sbdb.js +0 -1
- package/dist/assets/useDesktopWindowControlsLayout-DT4BmF4D.js +0 -1
- package/dist/assets/useFontPreferences-F2QPNE2V.js +0 -1
- package/dist/assets/useMobileNavigationStore-DLW9tcn6.js +0 -412
- package/dist/assets/useSessionAutoCleanup-BE7yfJLF.js +0 -1
- package/dist/assets/useUIStore-BXjMQrel.js +0 -1
- package/dist/assets/useWorkerHighlightedLines-5n25LYcg.js +0 -7
- package/dist/assets/utils-D94hxQYq.js +0 -1
- package/dist/assets/vendor-katex-CNGgSigB.js +0 -257
- package/dist/assets/vendor-pierre-diffs-BenIz2TM.js +0 -1418
- package/dist/assets/vendor-pierre-theme-F9vQJHIe.js +0 -1
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/vendor-pierre-diffs-DX7XTPG3.js","assets/rolldown-runtime-C0FnF6B9.js","assets/vendor-base-ui-CnHfUmDN.js","assets/vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js","assets/vendor-hast-util-to-html-B0p1k5Xa.js","assets/vendor-character-entities-legacy-Wut6vMuj.js","assets/vendor-character-entities-html4-DlN_yAFd.js","assets/vendor-ccount-CyGsA0u7.js","assets/vendor-comma-separated-tokens-B9ouxNNS.js","assets/vendor-oniguruma-to-es-CrHzjjSU.js","assets/vendor-oniguruma-parser-D2DIvhSP.js","assets/vendor-diff-Dq7CZNim.js","assets/vendor-lru_map-DpDied8H.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as e}from"./rolldown-runtime-C0FnF6B9.js";import{o as t}from"./vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js";var n=class{chunks=[];cached=``;dirty=!1;length=0;append(e){e&&(this.chunks.push(e),this.length+=e.length,this.dirty=!0,this.chunks.length>256&&this.compact())}clear(e=``){this.chunks=e?[e]:[],this.cached=e,this.dirty=!1,this.length=e.length}toString(){return this.dirty&&=(this.cached=this.chunks.join(``),!1),this.cached}compact(){this.chunks=[this.chunks.join(``)]}};function r(e,t){e.replaceChildren();let n=document.createElement(`div`);n.className=`stream-diffs-shell`,n.style.overflow=`auto`,n.style.maxHeight=typeof t==`number`?`${t}px`:t??`none`;let r=document.createElement(`div`);return r.className=`stream-diffs-surface`,n.appendChild(r),e.appendChild(n),{shell:n,surface:r}}function i(e,t,n){return{name:e,contents:t,lang:n}}var a=class{input;container;surface;instance;diff;selectedLines=null;disposed=!1;renderListeners=new Set;visualRevision=0;visualReadyPromise=Promise.resolve(!1);resolveVisualReady;constructor(e){this.input=e}async mount(e){this.disposed=!1,this.container=e,this.surface=r(e).surface,await this.render()}async update(e){this.input=e,this.surface&&await this.render(!0)}updateFile(e,t){return this.update({kind:`file`,file:e,annotations:t,options:this.input.kind===`file`?this.input.options:void 0,workerManager:this.input.kind===`file`?this.input.workerManager:void 0})}updateDiff(e,t,n){return this.update({kind:`diff`,oldFile:e,newFile:t,annotations:n,options:l(this.input)?this.input.options:void 0,workerManager:l(this.input)?this.input.workerManager:void 0})}updateParsedDiff(e,t){return this.update({kind:`diff`,fileDiff:e,annotations:t,options:l(this.input)?this.input.options:void 0,workerManager:l(this.input)?this.input.workerManager:void 0})}updatePatch(e,t=0,n,r=0){return this.update({kind:`patch`,patch:e,patchIndex:r,fileIndex:t,annotations:n,options:this.input.kind===`patch`?this.input.options:void 0,workerManager:this.input.kind===`patch`?this.input.workerManager:void 0})}updateMergeConflict(e,t){return this.update({kind:`merge-conflict`,file:e,annotations:t,options:this.input.kind===`merge-conflict`?this.input.options:void 0,workerManager:this.input.kind===`merge-conflict`?this.input.workerManager:void 0})}setSelectedLines(e){this.selectedLines=e,this.instance?.setSelectedLines(e)}setAnnotations(e){this.instance&&(this.input.kind,this.input.annotations=e,this.instance.setLineAnnotations(this.input.annotations),this.emitRender())}setThemeType(e){this.input.options?this.input.options={...this.input.options,themeType:e}:this.input.options={themeType:e},this.instance?.setThemeType(e)}async setTheme(e){this.input.options?this.input.options={...this.input.options,theme:e}:this.input.options={theme:e},this.surface&&await this.render(!1)}async setOptions(e){this.input.options=e,this.surface&&await this.render(!1)}acceptReject(e,t){if(!l(this.input)||!this.diff)throw Error(`acceptReject() requires a diff view`);let{diffAcceptRejectHunk:n}=this.module;return this.diff=n(this.diff,e,t),this.instance.render({fileDiff:this.diff,containerWrapper:this.surface,lineAnnotations:this.input.annotations}),this.diff}resolveConflict(e,t){if(this.input.kind!==`merge-conflict`)throw Error(`resolveConflict() requires a merge-conflict view`);let n=this.instance.resolveConflict(e,t);return n&&(this.input.file=n.file,this.diff=n.fileDiff),n?.file}getResolvedFile(){if(!l(this.input)||!this.diff||this.diff.isPartial)return;let e=`newFile`in this.input?this.input.newFile:void 0;return{name:e?.name??this.diff.name,contents:this.diff.additionLines.join(``),lang:e?.lang??this.diff.lang}}getDiff(){return this.diff}getInput(){return this.input}getNativeInstance(){return this.instance}onDidRender(e){return this.renderListeners.add(e),{dispose:()=>this.renderListeners.delete(e)}}async whenVisualReady(){let e=this.visualReadyPromise;for(;;){let t=await e;if(e===this.visualReadyPromise)return t;e=this.visualReadyPromise}}dispose(){this.disposed=!0,this.invalidateVisualReady(),this.instance?.cleanUp(),this.instance=void 0,this.surface=void 0,this.container?.replaceChildren(),this.container=void 0,this.renderListeners.clear()}module;async render(e=!0){let n=this.surface;if(!n||this.disposed)return;let r=this.beginVisualRender(),i=this.module??=await t(()=>import(`./vendor-pierre-diffs-DX7XTPG3.js`).then(e=>e.h),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]));if(this.disposed||n!==this.surface)return;if(this.instance?.cleanUp(),n.replaceChildren(),this.input.kind===`file`){let e=new i.File(c(this.input.options,()=>this.markVisualReady(r)),this.input.workerManager);e.render({file:this.input.file,containerWrapper:n,lineAnnotations:this.input.annotations}),this.instance=e,e.setSelectedLines(this.selectedLines),this.diff=void 0;return}if(l(this.input)){if(e||!this.diff)if(this.input.kind===`patch`){let e=i.parsePatchFiles(this.input.patch)[this.input.patchIndex??0];if(!e)throw Error(`Patch does not contain patch index ${this.input.patchIndex??0}`);let t=e.files[this.input.fileIndex??0];if(!t)throw Error(`Patch does not contain file index ${this.input.fileIndex??0}`);this.diff=t}else this.diff=`fileDiff`in this.input?this.input.fileDiff:i.parseDiffFromFile(this.input.oldFile,this.input.newFile,this.input.options?.parseDiffOptions);let t=new i.FileDiff(c(this.input.options,()=>this.markVisualReady(r)),this.input.workerManager);t.render({fileDiff:this.diff,containerWrapper:n,lineAnnotations:this.input.annotations}),this.instance=t,t.setSelectedLines(this.selectedLines);return}let a=new i.UnresolvedFile(c(this.input.options,()=>this.markVisualReady(r)),this.input.workerManager);a.render({file:this.input.file,containerWrapper:n,lineAnnotations:this.input.annotations}),this.instance=a,a.setSelectedLines(this.selectedLines),this.diff=a.fileDiff}emitRender(){for(let e of this.renderListeners)e()}beginVisualRender(){this.resolveVisualReady?.(!1);let e=++this.visualRevision;return this.visualReadyPromise=new Promise(e=>{this.resolveVisualReady=e}),e}markVisualReady(e){this.disposed||e!==this.visualRevision||(this.resolveVisualReady?.(!0),this.resolveVisualReady=void 0,this.emitRender())}invalidateVisualReady(){this.visualRevision++,this.resolveVisualReady?.(!1),this.resolveVisualReady=void 0}};function o(e){return new a(e)}function s(e){return!e||e.useTokenTransformer===!0||!e.onTokenClick&&!e.onTokenEnter&&!e.onTokenLeave?e:{...e,useTokenTransformer:!0}}function c(e,t){let n=s(e),r=n?.onPostRender;return{...n,onPostRender(...e){r?.(...e),t()}}}function l(e){return e.kind===`diff`||e.kind===`patch`}var u=class{options;state=`idle`;stats={characters:0,lines:0,writes:0,resets:0,renderMode:`plain-text`,overflowed:!1};text=new n;pending=[];scheduled;generation=0;container;shell;surface;finalizedSurface;plainText;finalizePromise;renderListeners=new Set;finalizedRenderSubscription;constructor(e={}){this.options=e}async mount(e){if(this.state===`disposed`)throw Error(`Cannot mount a disposed code stream. Create a new controller instead.`);++this.generation,this.cancelScheduledFlush(),this.finalizedSurface?.dispose(),this.finalizedRenderSubscription?.dispose(),this.container?.replaceChildren(),this.finalizedSurface=void 0,this.finalizedRenderSubscription=void 0,this.plainText=void 0,this.pending=[],this.setState(`mounting`),this.container=e;let{shell:t,surface:n}=r(e,this.options.maxHeight);this.shell=t,this.surface=n,this.mountPlainText(n),this.stats.startedAt??=performance.now(),this.setState(`streaming`)}append(e){if(e){if(this.state===`finalized`||this.state===`finalizing`||this.state===`disposed`)throw Error(`Cannot append while stream is ${this.state}`);this.text.append(e),this.stats.characters=this.text.length,this.stats.lines+=d(e)+ +(this.stats.lines===0),this.pending.push(e),this.scheduleFlush()}}updateSnapshot(e){let t=this.text.toString();if(e.startsWith(t)){this.append(e.slice(t.length));return}let n=this.options.nonAppendBehavior??`reset`;if(n!==`ignore`){if(n===`throw`)throw Error(`Snapshot violates the append-only stream contract`);return this.reset(e)}}async consume(e){try{if(Symbol.asyncIterator in e)for await(let t of e)this.append(t);else{let t=e.getReader();try{for(;;){let{done:e,value:n}=await t.read();if(e)break;this.append(n)}}finally{t.releaseLock()}}}catch(e){throw this.fail(e),e}}async flush(){if(this.cancelScheduledFlush(),!this.pending.length)return;let e=this.shouldFollowViewport(),t=this.pending.join(``);this.pending.length=0,this.plainText?.append(t),this.stats.writes++,this.followViewport(e),this.emitRender()}finalize(e={view:`stream`}){if(this.state===`finalized`)return Promise.resolve();if(this.finalizePromise)return this.finalizePromise;let t=this.performFinalize(e).finally(()=>{this.finalizePromise===t&&(this.finalizePromise=void 0)});return this.finalizePromise=t,t}async performFinalize(e){if(this.state===`disposed`)throw Error(`Cannot finalize a disposed code stream`);let t=this.generation;if(this.setState(`finalizing`),await this.flush(),t!==this.generation)return;if(this.stats.finalizedAt=performance.now(),!e.view||e.view===`stream`){this.setState(`finalized`);return}let n=this.surface;if(!n)throw Error(`Mount the stream before finalizing to a file or diff view`);let r=this.options.fileName??`code.${this.options.language??`txt`}`,a=i(r,this.getText(),this.options.language),s;if(e.view===`file`){let{annotations:t,workerManager:n,view:r,...i}=e;s=o({kind:`file`,file:a,annotations:t,options:{theme:this.options.theme,themeType:this.options.themeType,...i},workerManager:n??this.options.workerManager})}else{let{annotations:t,original:n,workerManager:c,view:l,...u}=e;s=o({kind:`diff`,oldFile:i(r,n,this.options.language),newFile:a,annotations:t,options:{theme:this.options.theme,themeType:this.options.themeType,...u},workerManager:c??this.options.workerManager})}let c=document.createElement(`div`);if(c.className=`stream-diffs-finalized`,await s.mount(c),t!==this.generation){s.dispose();return}let l=this.shell,u=l?.scrollTop??0,d=l?l.scrollHeight-l.scrollTop-l.clientHeight:0;n.replaceWith(c),this.surface=c,this.plainText=void 0,this.finalizedSurface=s,this.finalizedRenderSubscription=s.onDidRender(()=>this.emitRender()),l&&(l.scrollTop=this.options.autoScroll===`always`||this.options.autoScroll!==`never`&&d<=(this.options.autoScrollThresholdPx??32)?l.scrollHeight:u),this.setState(`finalized`),this.emitRender()}async reset(e=``){let t=this.container;++this.generation,this.cancelScheduledFlush(),this.finalizedSurface?.dispose(),this.finalizedRenderSubscription?.dispose(),this.finalizedSurface=void 0,this.finalizedRenderSubscription=void 0,this.plainText=void 0,this.pending=[],this.finalizePromise=void 0,this.text.clear(),this.stats.resets++,this.stats.characters=0,this.stats.lines=0,this.stats.renderMode=`plain-text`,this.stats.overflowed=!1,this.setState(`idle`),e&&this.append(e),t&&await this.mount(t)}setThemeType(e){this.options.themeType=e,this.finalizedSurface?.setThemeType(e)}async setTheme(e){this.options.theme=e,this.finalizedSurface&&await this.finalizedSurface.setTheme(e)}async setLanguage(e){if(e===this.options.language||(this.options.language=e,!this.finalizedSurface))return;let t=this.finalizedSurface.getInput();t.kind===`file`?await this.finalizedSurface.updateFile({...t.file,lang:e},t.annotations):t.kind===`diff`&&`oldFile`in t&&await this.finalizedSurface.updateDiff({...t.oldFile,lang:e},{...t.newFile,lang:e},t.annotations)}getText(){return this.text.toString()}getState(){return this.state}getStats(){return{...this.stats}}getElement(){return this.shell}getFinalizedSurface(){return this.finalizedSurface}onDidRender(e){return this.renderListeners.add(e),{dispose:()=>this.renderListeners.delete(e)}}dispose(){++this.generation,this.cancelScheduledFlush(),this.finalizedSurface?.dispose(),this.finalizedRenderSubscription?.dispose(),this.container?.replaceChildren(),this.plainText=void 0,this.container=void 0,this.surface=void 0,this.shell=void 0,this.finalizedSurface=void 0,this.finalizedRenderSubscription=void 0,this.finalizePromise=void 0,this.renderListeners.clear(),this.setState(`disposed`)}scheduleFlush(){if(this.scheduled!=null||!this.plainText)return;let e=this.options.flushStrategy??`raf`;this.scheduled=e===`raf`&&typeof requestAnimationFrame==`function`?requestAnimationFrame(()=>void this.flush()):globalThis.setTimeout(()=>void this.flush(),e===`raf`?0:e.intervalMs)}cancelScheduledFlush(){this.scheduled!=null&&(typeof cancelAnimationFrame==`function`&&cancelAnimationFrame(this.scheduled),clearTimeout(this.scheduled),this.scheduled=void 0)}shouldFollowViewport(){let e=this.shell;return!e||this.options.autoScroll===`never`?!1:this.options.autoScroll===`always`||e.scrollHeight-e.scrollTop-e.clientHeight<=(this.options.autoScrollThresholdPx??32)}followViewport(e=this.shouldFollowViewport()){this.shell&&e&&(this.shell.scrollTop=this.shell.scrollHeight)}mountPlainText(e){let t=document.createElement(`pre`);t.className=`stream-diffs-plain-text`,t.dataset.streamDiffsState=`streaming`,t.style.margin=`0`,t.style.whiteSpace=this.options.wrap?`pre-wrap`:`pre`,t.style.overflowWrap=this.options.wrap?`anywhere`:`normal`,t.textContent=this.getText(),e.replaceChildren(t),this.plainText=t}setState(e){this.state=e,this.options.onStateChange?.(e)}emitRender(){for(let e of this.renderListeners)e()}fail(e){this.state!==`disposed`&&(this.setState(`error`),this.options.onError?.(e))}};function d(e){let t=0;for(let n=0;n<e.length;n++)e.charCodeAt(n)===10&&t++;return t}var f=class{options;state=`idle`;generation=0;original=``;modified=``;container;shell;surface;finalizedSurface;finalizePromise;renderListeners=new Set;finalizedRenderSubscription;constructor(e={}){this.options=e}async mount(e,t=this.original,n=this.modified){if(this.state===`disposed`)throw Error(`Cannot mount a disposed diff stream. Create a new controller instead.`);++this.generation,this.original=t,this.modified=n,this.finalizedSurface?.dispose(),this.finalizedRenderSubscription?.dispose(),this.container?.replaceChildren(),this.finalizedSurface=void 0,this.finalizedRenderSubscription=void 0,this.setState(`mounting`),this.container=e;let{shell:i,surface:a}=r(e,this.options.maxHeight);this.shell=i,this.surface=a,this.renderPre(),this.setState(`streaming`)}update(e,t){if(this.state===`disposed`)throw Error(`Cannot update a disposed diff stream`);return this.original=e,this.modified=t,this.finalizedSurface?this.finalizedSurface.updateDiff(this.asFile(e),this.asFile(t)):(this.renderPre(),this.emitRender(),Promise.resolve())}finalize(e){if(this.state===`finalized`)return Promise.resolve(this.finalizedSurface);if(this.finalizePromise)return this.finalizePromise;let t=this.performFinalize(e).finally(()=>{this.finalizePromise===t&&(this.finalizePromise=void 0)});return this.finalizePromise=t,t}async performFinalize(e){if(this.state===`disposed`)throw Error(`Cannot finalize a disposed diff stream`);let t=this.surface;if(!t)throw Error(`Mount the diff stream before finalizing it`);let n=this.generation;this.setState(`finalizing`);let r=o({kind:`diff`,oldFile:this.asFile(this.original),newFile:this.asFile(this.modified),annotations:e,options:{...this.options,diffStyle:this.options.diffStyle??`unified`},workerManager:this.options.workerManager}),i=document.createElement(`div`);if(i.className=`stream-diffs-finalized`,await r.mount(i),n!==this.generation){r.dispose();return}let a=this.shell,s=a?.scrollTop??0;return t.replaceWith(i),this.surface=i,this.finalizedSurface=r,this.finalizedRenderSubscription=r.onDidRender(()=>this.emitRender()),a&&(a.scrollTop=s),this.setState(`finalized`),this.emitRender(),r}setThemeType(e){this.options.themeType=e,this.finalizedSurface?.setThemeType(e)}async setTheme(e){this.options.theme=e,this.finalizedSurface&&await this.finalizedSurface.setTheme(e)}async setLanguage(e){if(e!==this.options.language){if(this.options.language=e,this.finalizedSurface){let t=this.finalizedSurface.getInput();t.kind===`diff`&&`oldFile`in t&&await this.finalizedSurface.updateDiff({...t.oldFile,lang:e},{...t.newFile,lang:e},t.annotations);return}this.renderPre()}}getOriginal(){return this.original}getModified(){return this.modified}getState(){return this.state}getElement(){return this.shell}getFinalizedSurface(){return this.finalizedSurface}onDidRender(e){return this.renderListeners.add(e),{dispose:()=>this.renderListeners.delete(e)}}dispose(){++this.generation,this.finalizedSurface?.dispose(),this.finalizedRenderSubscription?.dispose(),this.container?.replaceChildren(),this.container=void 0,this.shell=void 0,this.surface=void 0,this.finalizedSurface=void 0,this.finalizedRenderSubscription=void 0,this.finalizePromise=void 0,this.renderListeners.clear(),this.setState(`disposed`)}renderPre(){let e=this.surface;if(!e||this.finalizedSurface)return;let t=document.createElement(`div`);t.className=`stream-diffs-diff-pre stream-diffs-diff-pre--${this.options.diffStyle??`unified`}`,t.dataset.streamDiffsState=`streaming`,t.style.minWidth=`max-content`,(this.options.diffStyle??`unified`)===`split`?(t.style.display=`grid`,t.style.gridTemplateColumns=`minmax(0, 1fr) minmax(0, 1fr)`,t.append(this.createPre(this.original,`deletions`),this.createPre(this.modified,`additions`))):t.append(this.createPre(p(this.original,this.modified),`unified`)),e.replaceChildren(t)}createPre(e,t){let n=document.createElement(`pre`);return n.className=`stream-diffs-diff-pre__pane stream-diffs-diff-pre__pane--${t}`,n.dataset.side=t,n.style.margin=`0`,n.style.whiteSpace=this.options.wrap?`pre-wrap`:`pre`,n.style.overflowWrap=this.options.wrap?`anywhere`:`normal`,n.textContent=e,n}asFile(e){return i(this.options.fileName??`code.${this.options.language??`txt`}`,e,this.options.language)}setState(e){this.state=e,this.options.onStateChange?.(e)}emitRender(){for(let e of this.renderListeners)e()}};function p(e,t){let n=e.split(`
|
|
3
|
+
`),r=t.split(`
|
|
4
|
+
`),i=0;for(;i<n.length&&i<r.length&&n[i]===r[i];)i++;let a=0;for(;a<n.length-i&&a<r.length-i&&n[n.length-a-1]===r[r.length-a-1];)a++;return[...n.slice(0,i).map(e=>` ${e}`),...n.slice(i,n.length-a).map(e=>`- ${e}`),...r.slice(i,r.length-a).map(e=>`+ ${e}`),...n.slice(n.length-a).map(e=>` ${e}`)].join(`
|
|
5
|
+
`)}var m=e({detectLanguage:()=>N,preloadMonacoWorkers:()=>j,preloadStreamDiffs:()=>M,useMonaco:()=>h});function h(e={}){let t,n,r,a,s,c=`text`,l=``,d=``,p,m=0,h=`system`,y=x(e),b=S(e),O={disableLineNumbers:e.lineNumbers===!1,overflow:e.wordWrap===`on`?`wrap`:`scroll`,enableLineSelection:e.enableLineSelection},j=()=>({...O,theme:y,themeType:h});async function M(n,r,i){I();let o=m;if(A(n,e),p=n,c=v(i),z(r))return R(n,r,c);if(e.stream===!1)return L(n,r,c);let s=new u({...j(),...C(e),fileName:`code.${c}`,language:c,maxHeight:e.MAX_HEIGHT,autoScroll:e.autoScrollOnUpdate===!1?`never`:`near-bottom`,autoScrollThresholdPx:e.autoScrollThresholdPx,workerManager:e.workerManager});if(t=s,s.append(r),await s.mount(n),o!==m||t!==s||p!==n)throw s.dispose(),Error(`Editor creation was cancelled`);return e.onController?.(s),a=E(()=>s.getText(),n,()=>s.getFinalizedSurface(),e=>s.onDidRender(e)),a}async function N(t,i,a,u){I();let h=m;A(t,e),p=t,c=v(u),l=i,d=a;let g,_;if(e.stream===!1){if(g=o({kind:`diff`,oldFile:U(i),newFile:U(a),annotations:e.lineAnnotations,workerManager:e.workerManager,options:{...j(),diffStyle:e.diffStyle??(e.renderSideBySide===!1?`unified`:`split`),...C(e)}}),r=g,await g.mount(t),h!==m||r!==g||p!==t)throw g.dispose(),Error(`Editor creation was cancelled`);e.onController?.(g)}else{if(_=new f({...j(),...C(e),fileName:`code.${c}`,language:c,diffStyle:e.diffStyle??(e.renderSideBySide===!1?`unified`:`split`),maxHeight:e.MAX_HEIGHT,wrap:e.wordWrap===`on`,workerManager:e.workerManager}),n=_,await _.mount(t,i,a),h!==m||n!==_||p!==t)throw _.dispose(),Error(`Editor creation was cancelled`);e.onController?.(_)}return s=D(()=>l,()=>d,t,()=>g??_?.getFinalizedSurface()),s}async function P(n,i=c){let a=v(i);if(z(n)){r?.getInput().kind===`merge-conflict`?(c=a,await r.updateMergeConflict(U(n),e.lineAnnotations)):p&&await R(p,n,a);return}if(e.stream===!1){r?.getInput().kind===`file`?(c=a,await r.updateFile(U(n),e.lineAnnotations)):p&&await L(p,n,a);return}if(!t){p&&await M(p,n,a);return}if(t.getState()===`finalized`){n!==t.getText()&&await t.reset(n);return}if(a!==c){c=a,await t.setLanguage(a),n!==t.getText()&&await t.reset(n);return}let o=t.getText();n.startsWith(o)?t.append(n.slice(o.length)):await t.reset(n)}async function F(e,t,i=c){if(l=e,d=t,c=v(i),n){await n.update(e,t);return}if(!r){p&&await N(p,e,t,i);return}await r.updateDiff(U(e),U(t))}function I(){m++,t?.dispose(),n?.dispose(),n||r?.dispose(),t=void 0,n=void 0,r=void 0,a=void 0,s=void 0,p=void 0}async function L(t,n,i){I();let s=m;p=t,c=i;let l=o({kind:`file`,file:U(n),annotations:e.lineAnnotations,workerManager:e.workerManager,options:{...j(),...C(e)}});if(r=l,await l.mount(t),s!==m||r!==l||p!==t)throw l.dispose(),Error(`Editor creation was cancelled`);return e.onController?.(l),a=E(()=>T(l)??n,t,()=>l,e=>l.onDidRender(e)),a}async function R(t,n,i){I();let s=m;p=t,c=i;let l=o({kind:`merge-conflict`,file:U(n),annotations:e.lineAnnotations,workerManager:e.workerManager,options:{...j(),...C(e)}});if(r=l,await l.mount(t),s!==m||r!==l||p!==t)throw l.dispose(),Error(`Editor creation was cancelled`);return e.onController?.(l),a=E(()=>T(l)??n,t,()=>l,e=>l.onDidRender(e)),a}function z(t){return e.mergeConflict!==!1&&/^<<<<<<< .+$/m.test(t)&&/^=======$/m.test(t)&&/^>>>>>>> .+$/m.test(t)}async function B(i){if(i){if(typeof i==`string`){let a=e.themes;if(a?.[0]===i){await V(),h=`dark`,t?.setThemeType(`dark`),n?.setThemeType(`dark`),r?.setThemeType(`dark`);return}if(a?.[1]===i){await V(),h=`light`,t?.setThemeType(`light`),n?.setThemeType(`light`),r?.setThemeType(`light`);return}}b=void 0,y=i,await H(i)}}async function V(){let t=S(e);!t||t===b||(b=t,y=x(e),await H(y))}async function H(e){await t?.setTheme(e),await n?.setTheme(e),await r?.setTheme(e)}function U(e){return i(`code.${c||`txt`}`,e,c)}return{runtimeKind:`stream-diffs`,createEditor:M,createDiffEditor:N,updateCode:P,appendCode(e){t?.append(e)},async finalizeCode(){if(!t||t.getState()===`finalized`)return t?.getFinalizedSurface();let n=C(e);return delete n.lineAnnotations,await t.finalize({view:`file`,...n,theme:y,themeType:h,annotations:e.lineAnnotations,workerManager:e.workerManager}),t.getFinalizedSurface()},async finalizeDiff(){return n&&(r=await n.finalize(e.lineAnnotations)),r},updateDiff:F,updateOriginal(e,t=c){return F(e,d,t)},updateModified(e,t=c){return F(l,e,t)},appendOriginal(e,t=c){return F(l+e,d,t)},appendModified(e,t=c){return F(l,d+e,t)},cleanupEditor:I,safeClean:I,setTheme:B,async setLanguage(e){if(c=v(e),await t?.setLanguage(c),await n?.setLanguage(c),r&&!n){let e=r.getInput();e.kind===`file`||e.kind===`merge-conflict`?await r.update({...e,file:{...e.file,lang:c}}):e.kind===`diff`&&`oldFile`in e&&await r.update({...e,oldFile:{...e.oldFile,lang:c},newFile:{...e.newFile,lang:c}})}},getCurrentTheme:()=>y,getEditor:()=>k,getEditorView:()=>a??null,getDiffEditorView:()=>s??null,getDiffModels:()=>({original:w(()=>l),modified:w(()=>r?.getResolvedFile()?.contents??n?.getModified()??d)}),getCode:()=>{let e=r?.getInput();return e?.kind===`diff`||e?.kind===`patch`?{original:l,modified:r?.getResolvedFile()?.contents??d}:e?.kind===`file`||e?.kind===`merge-conflict`?e.file.contents:n?{original:n.getOriginal(),modified:n.getModified()}:t?.getText()??null},refreshDiffPresentation:()=>r?.update(r.getInput()),whenVisualReady:async()=>{let e=p,i=m,a=r??t?.getFinalizedSurface()??n?.getFinalizedSurface();return!a||!await a.whenVisualReady()?!1:g(e,()=>i===m&&e===p&&a===(r??t?.getFinalizedSurface()??n?.getFinalizedSurface()),()=>_(r??t?.getFinalizedSurface()??n?.getFinalizedSurface()))}}}async function g(e,t,n){if(!e||typeof window>`u`)return!1;let r=``,i,a=0;for(let o=0;o<120;o+=1){if(!t())return!1;let o=e.querySelector(`.stream-diffs-shell`),s=(o?.querySelector(`diffs-container`)?.shadowRoot)?.querySelector(`pre`),c=o?.getBoundingClientRect(),l=s?.textContent??``;if(c&&c.width>0&&c.height>0&&s&&n()){let e=`${Math.round(c.width)}:${Math.round(c.height)}:${s.scrollWidth}:${s.scrollHeight}:${l.length}`;if(a=s===i&&e===r?a+1:1,i=s,r=e,a>=2)return!0}else r=``,i=void 0,a=0;await b()}return!1}function _(e){if(!e)return!0;let t=e.getNativeInstance(),n=t?.fileRenderer??t?.hunksRenderer;if(!n)return!0;let r=n.renderCache;if(!r?.result)return!1;if(r.highlighted===!0)return!0;let i=e.getInput();if(v(i.kind===`file`||i.kind===`merge-conflict`?i.file.lang:`oldFile`in i?i.oldFile.lang??i.newFile.lang:e.getDiff()?.lang)===`text`)return!0;let a=Number(n.getTokenizeMaxLength?.()??1e5);if(i.kind===`file`||i.kind===`merge-conflict`)return y(i.file.contents)>a;let o=e.getDiff();return!!o&&Math.max(o.additionLines.length,o.deletionLines.length)>a}function v(e){return!e||/^(?:text|txt|plain|plaintext)$/i.test(e)?`text`:e}function y(e){if(!e)return 0;let t=1;for(let n=0;n<e.length;n+=1)e.charCodeAt(n)===10&&(t+=1);return t}function b(){return new Promise(e=>{let t=!1,n=()=>{t||(t=!0,window.clearTimeout(i),window.cancelAnimationFrame(r),e())},r=window.requestAnimationFrame(n),i=window.setTimeout(n,50)})}function x(e){return e.themes?.length&&typeof e.themes[0]==`string`&&typeof e.themes[1]==`string`?{dark:e.themes[0],light:e.themes[1]}:e.theme??void 0}function S(e){if(typeof e.themes?.[0]==`string`&&typeof e.themes?.[1]==`string`)return`${e.themes[0]}\n${e.themes[1]}`}function C(e){let t=new Set([`MAX_HEIGHT`,`theme`,`themes`,`readOnly`,`lineNumbers`,`wordWrap`,`renderSideBySide`,`autoScrollOnUpdate`,`autoScrollThresholdPx`,`stream`,`mergeConflict`,`lineAnnotations`,`onController`,`workerManager`,`languages`,`onThemeChange`]),n=Object.fromEntries(Object.entries(e).filter(([e])=>!t.has(e))),r=e.diffHideUnchangedRegions;delete n.diffHideUnchangedRegions;let i=typeof r==`object`&&r?r:void 0,a=i?.enabled!==!1;if(r===!1||i&&!a)n.expandUnchanged??=!0;else if((r===!0||i)&&(n.expandUnchanged??=!1,i)){let e=Number(i.contextLineCount);Number.isFinite(e)&&e>=0&&(n.parseDiffOptions={context:e,...n.parseDiffOptions});let t=Number(i.minimumLineCount);Number.isFinite(t)&&t>=1&&(n.collapsedContextThreshold??=Math.max(0,Math.floor(t)-1))}return n}function w(e){return{getValue:e,getLineCount:()=>e().split(`
|
|
6
|
+
`).length}}function T(e){let t=e?.getInput();return t?.kind===`file`||t?.kind===`merge-conflict`?t.file.contents:void 0}function E(e,t,n=()=>void 0,r){let i=()=>Number.parseFloat(t.style.fontSize)||14;return{getModel:()=>w(e),getContentHeight:()=>t.querySelector(`.stream-diffs-shell`)?.scrollHeight??t.scrollHeight,layout:()=>{},getOption(e){if(e===O.fontInfo)return{fontSize:i()};if(e===O.lineHeight)return Number.parseFloat(t.style.lineHeight)||Math.round(i()*1.5)},updateOptions(e){A(t,e)},onDidContentSizeChange:e=>r?.(e)??{dispose(){}},onDidLayoutChange:e=>r?.(e)??{dispose(){}},setSelectedLines:e=>n()?.setSelectedLines(e),setAnnotations:e=>n()?.setAnnotations(e),acceptReject:(e,t)=>n()?.acceptReject(e,t),resolveConflict:(e,t)=>n()?.resolveConflict(e,t)}}function D(e,t,n,r){return{...E(t,n,r,e=>r()?.onDidRender(e)??{dispose(){}}),getOriginalEditor:()=>E(e,n,r,e=>r()?.onDidRender(e)??{dispose(){}}),getModifiedEditor:()=>E(t,n,r,e=>r()?.onDidRender(e)??{dispose(){}}),getLineChanges:()=>r()?.getDiff()?.hunks.map(e=>({originalStartLineNumber:e.deletionStart,originalEndLineNumber:e.deletionStart+e.deletionCount-1,modifiedStartLineNumber:e.additionStart,modifiedEndLineNumber:e.additionStart+e.additionCount-1}))??[],onDidUpdateDiff:e=>r()?.onDidRender(e)??{dispose(){}}}}var O={fontInfo:0,lineHeight:1},k={EditorOption:O};function A(e,t){let{style:n}=e;typeof t.fontSize==`number`&&(n.fontSize=`${t.fontSize}px`,n.setProperty(`--diffs-font-size`,`${t.fontSize}px`)),typeof t.lineHeight==`number`&&(n.lineHeight=`${t.lineHeight}px`,n.setProperty(`--diffs-line-height`,`${t.lineHeight}px`)),typeof t.fontFamily==`string`&&(n.fontFamily=t.fontFamily,n.setProperty(`--diffs-font-family`,t.fontFamily))}async function j(){}async function M(){return!0}function N(e){return/^\s*</.test(e)?`html`:/\b(interface|type|enum)\s+\w+|:\s*(string|number|boolean)\b/.test(e)?`typescript`:/\b(const|let|function|import|export)\b/.test(e)?`javascript`:/\b(def|from|lambda|None|True|False)\b/.test(e)?`python`:`text`}export{m as t};
|