termbeam 1.17.0 → 1.17.2

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.
Files changed (59) hide show
  1. package/package.json +1 -1
  2. package/public/assets/{_basePickBy-Crmlna7W.js → _basePickBy-BpcK6jhC.js} +1 -1
  3. package/public/assets/{_baseUniq-h6HY8nD4.js → _baseUniq-CmudMx6k.js} +1 -1
  4. package/public/assets/{arc-BI4RNUD8.js → arc-BBjpe_hN.js} +1 -1
  5. package/public/assets/{architectureDiagram-2XIMDMQ5-C2PAl3D6.js → architectureDiagram-2XIMDMQ5-BFCoYW28.js} +1 -1
  6. package/public/assets/{blockDiagram-WCTKOSBZ-CADYyoNx.js → blockDiagram-WCTKOSBZ-Dh31wJRm.js} +1 -1
  7. package/public/assets/{c4Diagram-IC4MRINW-CQtNNlqT.js → c4Diagram-IC4MRINW-CPV76ZUM.js} +1 -1
  8. package/public/assets/channel-spGqRIlf.js +1 -0
  9. package/public/assets/{chunk-4BX2VUAB-BZhBHL2q.js → chunk-4BX2VUAB-eU5lnLp-.js} +1 -1
  10. package/public/assets/{chunk-55IACEB6-DaOODotQ.js → chunk-55IACEB6-CRSrEoDB.js} +1 -1
  11. package/public/assets/{chunk-FMBD7UC4-D7ZUE2Qt.js → chunk-FMBD7UC4-cK52FAx0.js} +1 -1
  12. package/public/assets/{chunk-JSJVCQXG-Cr7LmD49.js → chunk-JSJVCQXG-CudZY5_F.js} +1 -1
  13. package/public/assets/{chunk-KX2RTZJC-mSzu7V0i.js → chunk-KX2RTZJC-BZlXzthI.js} +1 -1
  14. package/public/assets/{chunk-NQ4KR5QH-UNIo7K3P.js → chunk-NQ4KR5QH-BP6XJFdX.js} +1 -1
  15. package/public/assets/{chunk-QZHKN3VN-D8pHtVTR.js → chunk-QZHKN3VN-DDY6gqIZ.js} +1 -1
  16. package/public/assets/{chunk-WL4C6EOR-CKtSBmtm.js → chunk-WL4C6EOR-DY15q7Tk.js} +1 -1
  17. package/public/assets/classDiagram-VBA2DB6C-CwKQYDdP.js +1 -0
  18. package/public/assets/classDiagram-v2-RAHNMMFH-CwKQYDdP.js +1 -0
  19. package/public/assets/clone-BQhUsBH5.js +1 -0
  20. package/public/assets/{cose-bilkent-S5V4N54A-C73dVsDU.js → cose-bilkent-S5V4N54A-CTeXZoSq.js} +1 -1
  21. package/public/assets/{dagre-KLK3FWXG-CGtdO-e6.js → dagre-KLK3FWXG-BOfJIpm3.js} +1 -1
  22. package/public/assets/{diagram-E7M64L7V-B3RnL1-2.js → diagram-E7M64L7V-yhW3nXxA.js} +1 -1
  23. package/public/assets/{diagram-IFDJBPK2-BhT13Y--.js → diagram-IFDJBPK2-B7r-HJa0.js} +1 -1
  24. package/public/assets/{diagram-P4PSJMXO-w4ta5qzj.js → diagram-P4PSJMXO-Cl1dGq__.js} +1 -1
  25. package/public/assets/{erDiagram-INFDFZHY-p_XdulXc.js → erDiagram-INFDFZHY-xb7jd7iV.js} +1 -1
  26. package/public/assets/{flowDiagram-PKNHOUZH-cKD9roCC.js → flowDiagram-PKNHOUZH-7__LLCFp.js} +1 -1
  27. package/public/assets/{ganttDiagram-A5KZAMGK-kRLcbnHy.js → ganttDiagram-A5KZAMGK-BRH4oYpz.js} +1 -1
  28. package/public/assets/{gitGraphDiagram-K3NZZRJ6-CfqReYYJ.js → gitGraphDiagram-K3NZZRJ6-CZ0c5437.js} +1 -1
  29. package/public/assets/{graph-2Z05uqaC.js → graph-CaPDDY3I.js} +1 -1
  30. package/public/assets/{index-Bpz9aDGB.css → index-7DPrKRHX.css} +1 -1
  31. package/public/assets/{index-Cvxh0Fjh.js → index-pqtccC7s.js} +92 -92
  32. package/public/assets/{infoDiagram-LFFYTUFH-D2bxFvYS.js → infoDiagram-LFFYTUFH-B50sX0Jk.js} +1 -1
  33. package/public/assets/{ishikawaDiagram-PHBUUO56-olWTIvNJ.js → ishikawaDiagram-PHBUUO56-BTx9nUR_.js} +1 -1
  34. package/public/assets/{journeyDiagram-4ABVD52K-T_3LhARU.js → journeyDiagram-4ABVD52K-DOKjshE4.js} +1 -1
  35. package/public/assets/{kanban-definition-K7BYSVSG-BCmUNdAK.js → kanban-definition-K7BYSVSG-DlsqM5ac.js} +1 -1
  36. package/public/assets/{layout-BuQ9md8V.js → layout-C4hgRWBc.js} +1 -1
  37. package/public/assets/{linear-BGGATdCH.js → linear-pPVtYfoA.js} +1 -1
  38. package/public/assets/{mindmap-definition-YRQLILUH-Bz_sgl78.js → mindmap-definition-YRQLILUH-KXwvxrd9.js} +1 -1
  39. package/public/assets/{pieDiagram-SKSYHLDU-wxt-R3l5.js → pieDiagram-SKSYHLDU-Db_hnpTO.js} +1 -1
  40. package/public/assets/{quadrantDiagram-337W2JSQ-0yTHkNo0.js → quadrantDiagram-337W2JSQ-DBgEkZee.js} +1 -1
  41. package/public/assets/{requirementDiagram-Z7DCOOCP-CLqLwKcJ.js → requirementDiagram-Z7DCOOCP-DzYp2J9t.js} +1 -1
  42. package/public/assets/{sankeyDiagram-WA2Y5GQK-CV2OX87k.js → sankeyDiagram-WA2Y5GQK-DqRGFuVJ.js} +1 -1
  43. package/public/assets/{sequenceDiagram-2WXFIKYE-DaQifS2p.js → sequenceDiagram-2WXFIKYE-CCATgMDC.js} +1 -1
  44. package/public/assets/{stateDiagram-RAJIS63D-Bi5e4H5H.js → stateDiagram-RAJIS63D-DBbQtnkh.js} +1 -1
  45. package/public/assets/stateDiagram-v2-FVOUBMTO-Dr2a5PWq.js +1 -0
  46. package/public/assets/{timeline-definition-YZTLITO2-Bu0j_UbL.js → timeline-definition-YZTLITO2-AB47RPpS.js} +1 -1
  47. package/public/assets/{treemap-KZPCXAKY-BreHb2Q6.js → treemap-KZPCXAKY-BwGtQefY.js} +1 -1
  48. package/public/assets/{vennDiagram-LZ73GAT5-C5vHpUCv.js → vennDiagram-LZ73GAT5-CQy8NUxW.js} +1 -1
  49. package/public/assets/{xychartDiagram-JWTSCODW-DEN428FH.js → xychartDiagram-JWTSCODW-D1U0PBps.js} +1 -1
  50. package/public/index.html +2 -2
  51. package/public/sw.js +1 -1
  52. package/src/server/routes.js +3 -2
  53. package/src/utils/update-check.js +39 -1
  54. package/src/utils/update-executor.js +29 -2
  55. package/public/assets/channel-DlFJ0YtH.js +0 -1
  56. package/public/assets/classDiagram-VBA2DB6C-Uh272C_T.js +0 -1
  57. package/public/assets/classDiagram-v2-RAHNMMFH-Uh272C_T.js +0 -1
  58. package/public/assets/clone-BiOpyrvc.js +0 -1
  59. package/public/assets/stateDiagram-v2-FVOUBMTO-D2d2wuS-.js +0 -1
package/public/sw.js CHANGED
@@ -1,2 +1,2 @@
1
1
  try{self["workbox:core:7.3.0"]&&_()}catch{}const G=(s,...e)=>{let t=s;return e.length>0&&(t+=` :: ${JSON.stringify(e)}`),t},Q=G;class h extends Error{constructor(e,t){const n=Q(e,t);super(n),this.name=e,this.details=t}}const d={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:typeof registration<"u"?registration.scope:""},E=s=>[d.prefix,s,d.suffix].filter(e=>e&&e.length>0).join("-"),z=s=>{for(const e of Object.keys(d))s(e)},b={updateDetails:s=>{z(e=>{typeof s[e]=="string"&&(d[e]=s[e])})},getGoogleAnalyticsName:s=>s||E(d.googleAnalytics),getPrecacheName:s=>s||E(d.precache),getPrefix:()=>d.prefix,getRuntimeName:s=>s||E(d.runtime),getSuffix:()=>d.suffix};function N(s,e){const t=e();return s.waitUntil(t),t}try{self["workbox:precaching:7.3.0"]&&_()}catch{}const J="__WB_REVISION__";function X(s){if(!s)throw new h("add-to-cache-list-unexpected-type",{entry:s});if(typeof s=="string"){const r=new URL(s,location.href);return{cacheKey:r.href,url:r.href}}const{revision:e,url:t}=s;if(!t)throw new h("add-to-cache-list-unexpected-type",{entry:s});if(!e){const r=new URL(t,location.href);return{cacheKey:r.href,url:r.href}}const n=new URL(t,location.href),a=new URL(t,location.href);return n.searchParams.set(J,e),{cacheKey:n.href,url:a.href}}class Y{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:e,state:t})=>{t&&(t.originalRequest=e)},this.cachedResponseWillBeUsed=async({event:e,state:t,cachedResponse:n})=>{if(e.type==="install"&&t&&t.originalRequest&&t.originalRequest instanceof Request){const a=t.originalRequest.url;n?this.notUpdatedURLs.push(a):this.updatedURLs.push(a)}return n}}}class Z{constructor({precacheController:e}){this.cacheKeyWillBeUsed=async({request:t,params:n})=>{const a=(n==null?void 0:n.cacheKey)||this._precacheController.getCacheKeyForURL(t.url);return a?new Request(a,{headers:t.headers}):t},this._precacheController=e}}let m;function ee(){if(m===void 0){const s=new Response("");if("body"in s)try{new Response(s.body),m=!0}catch{m=!1}m=!1}return m}async function te(s,e){let t=null;if(s.url&&(t=new URL(s.url).origin),t!==self.location.origin)throw new h("cross-origin-copy-response",{origin:t});const n=s.clone(),r={headers:new Headers(n.headers),status:n.status,statusText:n.statusText},i=ee()?n.body:await n.blob();return new Response(i,r)}const se=s=>new URL(String(s),location.href).href.replace(new RegExp(`^${location.origin}`),"");function M(s,e){const t=new URL(s);for(const n of e)t.searchParams.delete(n);return t.href}async function ne(s,e,t,n){const a=M(e.url,t);if(e.url===a)return s.match(e,n);const r=Object.assign(Object.assign({},n),{ignoreSearch:!0}),i=await s.keys(e,r);for(const c of i){const o=M(c.url,t);if(a===o)return s.match(c,n)}}class ae{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}const B=new Set;async function re(){for(const s of B)await s()}function ie(s){return new Promise(e=>setTimeout(e,s))}try{self["workbox:strategies:7.3.0"]&&_()}catch{}function C(s){return typeof s=="string"?new Request(s):s}class ce{constructor(e,t){this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new ae,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map;for(const n of this._plugins)this._pluginStateMap.set(n,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){const{event:t}=this;let n=C(e);if(n.mode==="navigate"&&t instanceof FetchEvent&&t.preloadResponse){const i=await t.preloadResponse;if(i)return i}const a=this.hasCallback("fetchDidFail")?n.clone():null;try{for(const i of this.iterateCallbacks("requestWillFetch"))n=await i({request:n.clone(),event:t})}catch(i){if(i instanceof Error)throw new h("plugin-error-request-will-fetch",{thrownErrorMessage:i.message})}const r=n.clone();try{let i;i=await fetch(n,n.mode==="navigate"?void 0:this._strategy.fetchOptions);for(const c of this.iterateCallbacks("fetchDidSucceed"))i=await c({event:t,request:r,response:i});return i}catch(i){throw a&&await this.runCallbacks("fetchDidFail",{error:i,event:t,originalRequest:a.clone(),request:r.clone()}),i}}async fetchAndCachePut(e){const t=await this.fetch(e),n=t.clone();return this.waitUntil(this.cachePut(e,n)),t}async cacheMatch(e){const t=C(e);let n;const{cacheName:a,matchOptions:r}=this._strategy,i=await this.getCacheKey(t,"read"),c=Object.assign(Object.assign({},r),{cacheName:a});n=await caches.match(i,c);for(const o of this.iterateCallbacks("cachedResponseWillBeUsed"))n=await o({cacheName:a,matchOptions:r,cachedResponse:n,request:i,event:this.event})||void 0;return n}async cachePut(e,t){const n=C(e);await ie(0);const a=await this.getCacheKey(n,"write");if(!t)throw new h("cache-put-with-no-response",{url:se(a.url)});const r=await this._ensureResponseSafeToCache(t);if(!r)return!1;const{cacheName:i,matchOptions:c}=this._strategy,o=await self.caches.open(i),l=this.hasCallback("cacheDidUpdate"),g=l?await ne(o,a.clone(),["__WB_REVISION__"],c):null;try{await o.put(a,l?r.clone():r)}catch(u){if(u instanceof Error)throw u.name==="QuotaExceededError"&&await re(),u}for(const u of this.iterateCallbacks("cacheDidUpdate"))await u({cacheName:i,oldResponse:g,newResponse:r.clone(),request:a,event:this.event});return!0}async getCacheKey(e,t){const n=`${e.url} | ${t}`;if(!this._cacheKeys[n]){let a=e;for(const r of this.iterateCallbacks("cacheKeyWillBeUsed"))a=C(await r({mode:t,request:a,event:this.event,params:this.params}));this._cacheKeys[n]=a}return this._cacheKeys[n]}hasCallback(e){for(const t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(const n of this.iterateCallbacks(e))await n(t)}*iterateCallbacks(e){for(const t of this._strategy.plugins)if(typeof t[e]=="function"){const n=this._pluginStateMap.get(t);yield r=>{const i=Object.assign(Object.assign({},r),{state:n});return t[e](i)}}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){for(;this._extendLifetimePromises.length;){const e=this._extendLifetimePromises.splice(0),n=(await Promise.allSettled(e)).find(a=>a.status==="rejected");if(n)throw n.reason}}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,n=!1;for(const a of this.iterateCallbacks("cacheWillUpdate"))if(t=await a({request:this.request,response:t,event:this.event})||void 0,n=!0,!t)break;return n||t&&t.status!==200&&(t=void 0),t}}class W{constructor(e={}){this.cacheName=b.getRuntimeName(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){const[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});const t=e.event,n=typeof e.request=="string"?new Request(e.request):e.request,a="params"in e?e.params:void 0,r=new ce(this,{event:t,request:n,params:a}),i=this._getResponse(r,n,t),c=this._awaitComplete(i,r,n,t);return[i,c]}async _getResponse(e,t,n){await e.runCallbacks("handlerWillStart",{event:n,request:t});let a;try{if(a=await this._handle(t,e),!a||a.type==="error")throw new h("no-response",{url:t.url})}catch(r){if(r instanceof Error){for(const i of e.iterateCallbacks("handlerDidError"))if(a=await i({error:r,event:n,request:t}),a)break}if(!a)throw r}for(const r of e.iterateCallbacks("handlerWillRespond"))a=await r({event:n,request:t,response:a});return a}async _awaitComplete(e,t,n,a){let r,i;try{r=await e}catch{}try{await t.runCallbacks("handlerDidRespond",{event:a,request:n,response:r}),await t.doneWaiting()}catch(c){c instanceof Error&&(i=c)}if(await t.runCallbacks("handlerDidComplete",{event:a,request:n,response:r,error:i}),t.destroy(),i)throw i}}class p extends W{constructor(e={}){e.cacheName=b.getPrecacheName(e.cacheName),super(e),this._fallbackToNetwork=e.fallbackToNetwork!==!1,this.plugins.push(p.copyRedirectedCacheableResponsesPlugin)}async _handle(e,t){const n=await t.cacheMatch(e);return n||(t.event&&t.event.type==="install"?await this._handleInstall(e,t):await this._handleFetch(e,t))}async _handleFetch(e,t){let n;const a=t.params||{};if(this._fallbackToNetwork){const r=a.integrity,i=e.integrity,c=!i||i===r;n=await t.fetch(new Request(e,{integrity:e.mode!=="no-cors"?i||r:void 0})),r&&c&&e.mode!=="no-cors"&&(this._useDefaultCacheabilityPluginIfNeeded(),await t.cachePut(e,n.clone()))}else throw new h("missing-precache-entry",{cacheName:this.cacheName,url:e.url});return n}async _handleInstall(e,t){this._useDefaultCacheabilityPluginIfNeeded();const n=await t.fetch(e);if(!await t.cachePut(e,n.clone()))throw new h("bad-precaching-response",{url:e.url,status:n.status});return n}_useDefaultCacheabilityPluginIfNeeded(){let e=null,t=0;for(const[n,a]of this.plugins.entries())a!==p.copyRedirectedCacheableResponsesPlugin&&(a===p.defaultPrecacheCacheabilityPlugin&&(e=n),a.cacheWillUpdate&&t++);t===0?this.plugins.push(p.defaultPrecacheCacheabilityPlugin):t>1&&e!==null&&this.plugins.splice(e,1)}}p.defaultPrecacheCacheabilityPlugin={async cacheWillUpdate({response:s}){return!s||s.status>=400?null:s}};p.copyRedirectedCacheableResponsesPlugin={async cacheWillUpdate({response:s}){return s.redirected?await te(s):s}};class oe{constructor({cacheName:e,plugins:t=[],fallbackToNetwork:n=!0}={}){this._urlsToCacheKeys=new Map,this._urlsToCacheModes=new Map,this._cacheKeysToIntegrities=new Map,this._strategy=new p({cacheName:b.getPrecacheName(e),plugins:[...t,new Z({precacheController:this})],fallbackToNetwork:n}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this._strategy}precache(e){this.addToCacheList(e),this._installAndActiveListenersAdded||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this._installAndActiveListenersAdded=!0)}addToCacheList(e){const t=[];for(const n of e){typeof n=="string"?t.push(n):n&&n.revision===void 0&&t.push(n.url);const{cacheKey:a,url:r}=X(n),i=typeof n!="string"&&n.revision?"reload":"default";if(this._urlsToCacheKeys.has(r)&&this._urlsToCacheKeys.get(r)!==a)throw new h("add-to-cache-list-conflicting-entries",{firstEntry:this._urlsToCacheKeys.get(r),secondEntry:a});if(typeof n!="string"&&n.integrity){if(this._cacheKeysToIntegrities.has(a)&&this._cacheKeysToIntegrities.get(a)!==n.integrity)throw new h("add-to-cache-list-conflicting-integrities",{url:r});this._cacheKeysToIntegrities.set(a,n.integrity)}if(this._urlsToCacheKeys.set(r,a),this._urlsToCacheModes.set(r,i),t.length>0){const c=`Workbox is precaching URLs without revision info: ${t.join(", ")}
2
- This is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(c)}}}install(e){return N(e,async()=>{const t=new Y;this.strategy.plugins.push(t);for(const[r,i]of this._urlsToCacheKeys){const c=this._cacheKeysToIntegrities.get(i),o=this._urlsToCacheModes.get(r),l=new Request(r,{integrity:c,cache:o,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:i},request:l,event:e}))}const{updatedURLs:n,notUpdatedURLs:a}=t;return{updatedURLs:n,notUpdatedURLs:a}})}activate(e){return N(e,async()=>{const t=await self.caches.open(this.strategy.cacheName),n=await t.keys(),a=new Set(this._urlsToCacheKeys.values()),r=[];for(const i of n)a.has(i.url)||(await t.delete(i),r.push(i.url));return{deletedURLs:r}})}getURLsToCacheKeys(){return this._urlsToCacheKeys}getCachedURLs(){return[...this._urlsToCacheKeys.keys()]}getCacheKeyForURL(e){const t=new URL(e,location.href);return this._urlsToCacheKeys.get(t.href)}getIntegrityForCacheKey(e){return this._cacheKeysToIntegrities.get(e)}async matchPrecache(e){const t=e instanceof Request?e.url:e,n=this.getCacheKeyForURL(t);if(n)return(await self.caches.open(this.strategy.cacheName)).match(n)}createHandlerBoundToURL(e){const t=this.getCacheKeyForURL(e);if(!t)throw new h("non-precached-url",{url:e});return n=>(n.request=new Request(e),n.params=Object.assign({cacheKey:t},n.params),this.strategy.handle(n))}}let L;const j=()=>(L||(L=new oe),L);try{self["workbox:routing:7.3.0"]&&_()}catch{}const F="GET",x=s=>s&&typeof s=="object"?s:{handle:s};class R{constructor(e,t,n=F){this.handler=x(t),this.match=e,this.method=n}setCatchHandler(e){this.catchHandler=x(e)}}class le extends R{constructor(e,t,n){const a=({url:r})=>{const i=e.exec(r.href);if(i&&!(r.origin!==location.origin&&i.index!==0))return i.slice(1)};super(a,t,n)}}class he{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",(e=>{const{request:t}=e,n=this.handleRequest({request:t,event:e});n&&e.respondWith(n)}))}addCacheListener(){self.addEventListener("message",(e=>{if(e.data&&e.data.type==="CACHE_URLS"){const{payload:t}=e.data,n=Promise.all(t.urlsToCache.map(a=>{typeof a=="string"&&(a=[a]);const r=new Request(...a);return this.handleRequest({request:r,event:e})}));e.waitUntil(n),e.ports&&e.ports[0]&&n.then(()=>e.ports[0].postMessage(!0))}}))}handleRequest({request:e,event:t}){const n=new URL(e.url,location.href);if(!n.protocol.startsWith("http"))return;const a=n.origin===location.origin,{params:r,route:i}=this.findMatchingRoute({event:t,request:e,sameOrigin:a,url:n});let c=i&&i.handler;const o=e.method;if(!c&&this._defaultHandlerMap.has(o)&&(c=this._defaultHandlerMap.get(o)),!c)return;let l;try{l=c.handle({url:n,request:e,event:t,params:r})}catch(u){l=Promise.reject(u)}const g=i&&i.catchHandler;return l instanceof Promise&&(this._catchHandler||g)&&(l=l.catch(async u=>{if(g)try{return await g.handle({url:n,request:e,event:t,params:r})}catch(I){I instanceof Error&&(u=I)}if(this._catchHandler)return this._catchHandler.handle({url:n,request:e,event:t});throw u})),l}findMatchingRoute({url:e,sameOrigin:t,request:n,event:a}){const r=this._routes.get(n.method)||[];for(const i of r){let c;const o=i.match({url:e,sameOrigin:t,request:n,event:a});if(o)return c=o,(Array.isArray(c)&&c.length===0||o.constructor===Object&&Object.keys(o).length===0||typeof o=="boolean")&&(c=void 0),{route:i,params:c}}return{}}setDefaultHandler(e,t=F){this._defaultHandlerMap.set(t,x(e))}setCatchHandler(e){this._catchHandler=x(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new h("unregister-route-but-not-found-with-method",{method:e.method});const t=this._routes.get(e.method).indexOf(e);if(t>-1)this._routes.get(e.method).splice(t,1);else throw new h("unregister-route-route-not-registered")}}let w;const ue=()=>(w||(w=new he,w.addFetchListener(),w.addCacheListener()),w);function q(s,e,t){let n;if(typeof s=="string"){const r=new URL(s,location.href),i=({url:c})=>c.href===r.href;n=new R(i,e,t)}else if(s instanceof RegExp)n=new le(s,e,t);else if(typeof s=="function")n=new R(s,e,t);else if(s instanceof R)n=s;else throw new h("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});return ue().registerRoute(n),n}function de(s,e=[]){for(const t of[...s.searchParams.keys()])e.some(n=>n.test(t))&&s.searchParams.delete(t);return s}function*fe(s,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:t="index.html",cleanURLs:n=!0,urlManipulation:a}={}){const r=new URL(s,location.href);r.hash="",yield r.href;const i=de(r,e);if(yield i.href,t&&i.pathname.endsWith("/")){const c=new URL(i.href);c.pathname+=t,yield c.href}if(n){const c=new URL(i.href);c.pathname+=".html",yield c.href}if(a){const c=a({url:r});for(const o of c)yield o.href}}class pe extends R{constructor(e,t){const n=({request:a})=>{const r=e.getURLsToCacheKeys();for(const i of fe(a.url,t)){const c=r.get(i);if(c){const o=e.getIntegrityForCacheKey(c);return{cacheKey:c,integrity:o}}}};super(n,e.strategy)}}function ge(s){const e=j(),t=new pe(e,s);q(t)}const me="-precache-",we=async(s,e=me)=>{const n=(await self.caches.keys()).filter(a=>a.includes(e)&&a.includes(self.registration.scope)&&a!==s);return await Promise.all(n.map(a=>self.caches.delete(a))),n};function ye(){self.addEventListener("activate",(s=>{const e=b.getPrecacheName();s.waitUntil(we(e).then(t=>{}))}))}function _e(s){j().precache(s)}function Re(s,e){_e(s),ge(e)}class be extends W{async _handle(e,t){let n=await t.cacheMatch(e),a;if(!n)try{n=await t.fetchAndCachePut(e)}catch(r){r instanceof Error&&(a=r)}if(!n)throw new h("no-response",{url:e.url,error:a});return n}}function H(s){s.then(()=>{})}const Ce=(s,e)=>e.some(t=>s instanceof t);let A,K;function xe(){return A||(A=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Ee(){return K||(K=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const V=new WeakMap,k=new WeakMap,$=new WeakMap,D=new WeakMap,v=new WeakMap;function Le(s){const e=new Promise((t,n)=>{const a=()=>{s.removeEventListener("success",r),s.removeEventListener("error",i)},r=()=>{t(f(s.result)),a()},i=()=>{n(s.error),a()};s.addEventListener("success",r),s.addEventListener("error",i)});return e.then(t=>{t instanceof IDBCursor&&V.set(t,s)}).catch(()=>{}),v.set(e,s),e}function De(s){if(k.has(s))return;const e=new Promise((t,n)=>{const a=()=>{s.removeEventListener("complete",r),s.removeEventListener("error",i),s.removeEventListener("abort",i)},r=()=>{t(),a()},i=()=>{n(s.error||new DOMException("AbortError","AbortError")),a()};s.addEventListener("complete",r),s.addEventListener("error",i),s.addEventListener("abort",i)});k.set(s,e)}let P={get(s,e,t){if(s instanceof IDBTransaction){if(e==="done")return k.get(s);if(e==="objectStoreNames")return s.objectStoreNames||$.get(s);if(e==="store")return t.objectStoreNames[1]?void 0:t.objectStore(t.objectStoreNames[0])}return f(s[e])},set(s,e,t){return s[e]=t,!0},has(s,e){return s instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in s}};function Ue(s){P=s(P)}function Te(s){return s===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(e,...t){const n=s.call(U(this),e,...t);return $.set(n,e.sort?e.sort():[e]),f(n)}:Ee().includes(s)?function(...e){return s.apply(U(this),e),f(V.get(this))}:function(...e){return f(s.apply(U(this),e))}}function ke(s){return typeof s=="function"?Te(s):(s instanceof IDBTransaction&&De(s),Ce(s,xe())?new Proxy(s,P):s)}function f(s){if(s instanceof IDBRequest)return Le(s);if(D.has(s))return D.get(s);const e=ke(s);return e!==s&&(D.set(s,e),v.set(e,s)),e}const U=s=>v.get(s);function Pe(s,e,{blocked:t,upgrade:n,blocking:a,terminated:r}={}){const i=indexedDB.open(s,e),c=f(i);return n&&i.addEventListener("upgradeneeded",o=>{n(f(i.result),o.oldVersion,o.newVersion,f(i.transaction),o)}),t&&i.addEventListener("blocked",o=>t(o.oldVersion,o.newVersion,o)),c.then(o=>{r&&o.addEventListener("close",()=>r()),a&&o.addEventListener("versionchange",l=>a(l.oldVersion,l.newVersion,l))}).catch(()=>{}),c}function ve(s,{blocked:e}={}){const t=indexedDB.deleteDatabase(s);return e&&t.addEventListener("blocked",n=>e(n.oldVersion,n)),f(t).then(()=>{})}const Ie=["get","getKey","getAll","getAllKeys","count"],Ne=["put","add","delete","clear"],T=new Map;function S(s,e){if(!(s instanceof IDBDatabase&&!(e in s)&&typeof e=="string"))return;if(T.get(e))return T.get(e);const t=e.replace(/FromIndex$/,""),n=e!==t,a=Ne.includes(t);if(!(t in(n?IDBIndex:IDBObjectStore).prototype)||!(a||Ie.includes(t)))return;const r=async function(i,...c){const o=this.transaction(i,a?"readwrite":"readonly");let l=o.store;return n&&(l=l.index(c.shift())),(await Promise.all([l[t](...c),a&&o.done]))[0]};return T.set(e,r),r}Ue(s=>({...s,get:(e,t,n)=>S(e,t)||s.get(e,t,n),has:(e,t)=>!!S(e,t)||s.has(e,t)}));try{self["workbox:expiration:7.3.0"]&&_()}catch{}const Me="workbox-expiration",y="cache-entries",O=s=>{const e=new URL(s,location.href);return e.hash="",e.href};class Ae{constructor(e){this._db=null,this._cacheName=e}_upgradeDb(e){const t=e.createObjectStore(y,{keyPath:"id"});t.createIndex("cacheName","cacheName",{unique:!1}),t.createIndex("timestamp","timestamp",{unique:!1})}_upgradeDbAndDeleteOldDbs(e){this._upgradeDb(e),this._cacheName&&ve(this._cacheName)}async setTimestamp(e,t){e=O(e);const n={url:e,timestamp:t,cacheName:this._cacheName,id:this._getId(e)},r=(await this.getDb()).transaction(y,"readwrite",{durability:"relaxed"});await r.store.put(n),await r.done}async getTimestamp(e){const n=await(await this.getDb()).get(y,this._getId(e));return n==null?void 0:n.timestamp}async expireEntries(e,t){const n=await this.getDb();let a=await n.transaction(y).store.index("timestamp").openCursor(null,"prev");const r=[];let i=0;for(;a;){const o=a.value;o.cacheName===this._cacheName&&(e&&o.timestamp<e||t&&i>=t?r.push(a.value):i++),a=await a.continue()}const c=[];for(const o of r)await n.delete(y,o.id),c.push(o.url);return c}_getId(e){return this._cacheName+"|"+O(e)}async getDb(){return this._db||(this._db=await Pe(Me,1,{upgrade:this._upgradeDbAndDeleteOldDbs.bind(this)})),this._db}}class Ke{constructor(e,t={}){this._isRunning=!1,this._rerunRequested=!1,this._maxEntries=t.maxEntries,this._maxAgeSeconds=t.maxAgeSeconds,this._matchOptions=t.matchOptions,this._cacheName=e,this._timestampModel=new Ae(e)}async expireEntries(){if(this._isRunning){this._rerunRequested=!0;return}this._isRunning=!0;const e=this._maxAgeSeconds?Date.now()-this._maxAgeSeconds*1e3:0,t=await this._timestampModel.expireEntries(e,this._maxEntries),n=await self.caches.open(this._cacheName);for(const a of t)await n.delete(a,this._matchOptions);this._isRunning=!1,this._rerunRequested&&(this._rerunRequested=!1,H(this.expireEntries()))}async updateTimestamp(e){await this._timestampModel.setTimestamp(e,Date.now())}async isURLExpired(e){if(this._maxAgeSeconds){const t=await this._timestampModel.getTimestamp(e),n=Date.now()-this._maxAgeSeconds*1e3;return t!==void 0?t<n:!0}else return!1}async delete(){this._rerunRequested=!1,await this._timestampModel.expireEntries(1/0)}}function Se(s){B.add(s)}class Oe{constructor(e={}){this.cachedResponseWillBeUsed=async({event:t,request:n,cacheName:a,cachedResponse:r})=>{if(!r)return null;const i=this._isResponseDateFresh(r),c=this._getCacheExpiration(a);H(c.expireEntries());const o=c.updateTimestamp(n.url);if(t)try{t.waitUntil(o)}catch{}return i?r:null},this.cacheDidUpdate=async({cacheName:t,request:n})=>{const a=this._getCacheExpiration(t);await a.updateTimestamp(n.url),await a.expireEntries()},this._config=e,this._maxAgeSeconds=e.maxAgeSeconds,this._cacheExpirations=new Map,e.purgeOnQuotaError&&Se(()=>this.deleteCacheAndMetadata())}_getCacheExpiration(e){if(e===b.getRuntimeName())throw new h("expire-custom-caches-only");let t=this._cacheExpirations.get(e);return t||(t=new Ke(e,this._config),this._cacheExpirations.set(e,t)),t}_isResponseDateFresh(e){if(!this._maxAgeSeconds)return!0;const t=this._getDateHeaderTimestamp(e);if(t===null)return!0;const n=Date.now();return t>=n-this._maxAgeSeconds*1e3}_getDateHeaderTimestamp(e){if(!e.headers.has("date"))return null;const t=e.headers.get("date"),a=new Date(t).getTime();return isNaN(a)?null:a}async deleteCacheAndMetadata(){for(const[e,t]of this._cacheExpirations)await self.caches.delete(e),await t.delete();this._cacheExpirations=new Map}}Re([{"revision":"1872c500de691dce40960bb85481de07","url":"registerSW.js"},{"revision":"0f93805414c783a30b72e0ce88f2c7c4","url":"icons/icon.svg"},{"revision":"5dee5ddcd8e8533edb348118334d9756","url":"icons/icon-512.png"},{"revision":"75734e6b38a556148f51b9e10eeb01c8","url":"icons/icon-192.png"},{"revision":"0362e0eb00358646fd4c97674945adba","url":"icons/icon-180.png"},{"revision":null,"url":"assets/xychartDiagram-JWTSCODW-DEN428FH.js"},{"revision":null,"url":"assets/vennDiagram-LZ73GAT5-C5vHpUCv.js"},{"revision":null,"url":"assets/treemap-KZPCXAKY-BreHb2Q6.js"},{"revision":null,"url":"assets/timeline-definition-YZTLITO2-Bu0j_UbL.js"},{"revision":null,"url":"assets/stateDiagram-v2-FVOUBMTO-D2d2wuS-.js"},{"revision":null,"url":"assets/stateDiagram-RAJIS63D-Bi5e4H5H.js"},{"revision":null,"url":"assets/sequenceDiagram-2WXFIKYE-DaQifS2p.js"},{"revision":null,"url":"assets/sankeyDiagram-WA2Y5GQK-CV2OX87k.js"},{"revision":null,"url":"assets/requirementDiagram-Z7DCOOCP-CLqLwKcJ.js"},{"revision":null,"url":"assets/quadrantDiagram-337W2JSQ-0yTHkNo0.js"},{"revision":null,"url":"assets/pieDiagram-SKSYHLDU-wxt-R3l5.js"},{"revision":null,"url":"assets/ordinal-Cboi1Yqb.js"},{"revision":null,"url":"assets/mindmap-definition-YRQLILUH-Bz_sgl78.js"},{"revision":null,"url":"assets/linear-BGGATdCH.js"},{"revision":null,"url":"assets/layout-BuQ9md8V.js"},{"revision":null,"url":"assets/katex-B1X10hvy.js"},{"revision":null,"url":"assets/kanban-definition-K7BYSVSG-BCmUNdAK.js"},{"revision":null,"url":"assets/journeyDiagram-4ABVD52K-T_3LhARU.js"},{"revision":null,"url":"assets/ishikawaDiagram-PHBUUO56-olWTIvNJ.js"},{"revision":null,"url":"assets/init-Gi6I4Gst.js"},{"revision":null,"url":"assets/infoDiagram-LFFYTUFH-D2bxFvYS.js"},{"revision":null,"url":"assets/index-Cvxh0Fjh.js"},{"revision":null,"url":"assets/index-Bpz9aDGB.css"},{"revision":null,"url":"assets/graph-2Z05uqaC.js"},{"revision":null,"url":"assets/gitGraphDiagram-K3NZZRJ6-CfqReYYJ.js"},{"revision":null,"url":"assets/ganttDiagram-A5KZAMGK-kRLcbnHy.js"},{"revision":null,"url":"assets/flowDiagram-PKNHOUZH-cKD9roCC.js"},{"revision":null,"url":"assets/erDiagram-INFDFZHY-p_XdulXc.js"},{"revision":null,"url":"assets/diagram-P4PSJMXO-w4ta5qzj.js"},{"revision":null,"url":"assets/diagram-IFDJBPK2-BhT13Y--.js"},{"revision":null,"url":"assets/diagram-E7M64L7V-B3RnL1-2.js"},{"revision":null,"url":"assets/defaultLocale-DX6XiGOO.js"},{"revision":null,"url":"assets/dagre-KLK3FWXG-CGtdO-e6.js"},{"revision":null,"url":"assets/cytoscape.esm-BQaXIfA_.js"},{"revision":null,"url":"assets/cose-bilkent-S5V4N54A-C73dVsDU.js"},{"revision":null,"url":"assets/clone-BiOpyrvc.js"},{"revision":null,"url":"assets/classDiagram-v2-RAHNMMFH-Uh272C_T.js"},{"revision":null,"url":"assets/classDiagram-VBA2DB6C-Uh272C_T.js"},{"revision":null,"url":"assets/chunk-WL4C6EOR-CKtSBmtm.js"},{"revision":null,"url":"assets/chunk-QZHKN3VN-D8pHtVTR.js"},{"revision":null,"url":"assets/chunk-NQ4KR5QH-UNIo7K3P.js"},{"revision":null,"url":"assets/chunk-KX2RTZJC-mSzu7V0i.js"},{"revision":null,"url":"assets/chunk-JSJVCQXG-Cr7LmD49.js"},{"revision":null,"url":"assets/chunk-FMBD7UC4-D7ZUE2Qt.js"},{"revision":null,"url":"assets/chunk-55IACEB6-DaOODotQ.js"},{"revision":null,"url":"assets/chunk-4BX2VUAB-BZhBHL2q.js"},{"revision":null,"url":"assets/channel-DlFJ0YtH.js"},{"revision":null,"url":"assets/c4Diagram-IC4MRINW-CQtNNlqT.js"},{"revision":null,"url":"assets/blockDiagram-WCTKOSBZ-CADYyoNx.js"},{"revision":null,"url":"assets/architectureDiagram-2XIMDMQ5-C2PAl3D6.js"},{"revision":null,"url":"assets/arc-BI4RNUD8.js"},{"revision":null,"url":"assets/_baseUniq-h6HY8nD4.js"},{"revision":null,"url":"assets/_basePickBy-Crmlna7W.js"},{"revision":"0362e0eb00358646fd4c97674945adba","url":"icons/icon-180.png"},{"revision":"75734e6b38a556148f51b9e10eeb01c8","url":"icons/icon-192.png"},{"revision":"5dee5ddcd8e8533edb348118334d9756","url":"icons/icon-512.png"},{"revision":"b0747e8d6cde0d45e05be8e5c731729e","url":"manifest.webmanifest"}]);ye();q(({url:s})=>s.hostname==="cdn.jsdelivr.net"&&s.pathname.endsWith(".ttf"),new be({cacheName:"termbeam-fonts",plugins:[new Oe({maxEntries:5,maxAgeSeconds:365*24*60*60})]}));self.addEventListener("message",s=>{var e;((e=s.data)==null?void 0:e.type)==="CLEAR_CACHES"&&caches.keys().then(t=>{for(const n of t)n!=="workbox-precache-v2"&&caches.delete(n)})});self.addEventListener("install",()=>{self.skipWaiting()});self.addEventListener("activate",s=>{s.waitUntil(caches.delete("termbeam-navigation").then(()=>self.clients.claim()))});self.addEventListener("push",s=>{let e={title:"Command finished",body:"TermBeam"};if(s.data)try{e=s.data.json()}catch{}s.waitUntil(self.clients.matchAll({type:"window",includeUncontrolled:!0}).then(async t=>{if(t.some(r=>r.url.includes(self.location.origin)&&r.focused))return;const a={body:e.body||"A command has completed",icon:"/icons/icon-192.png",badge:"/icons/icon-192.png",tag:"termbeam-cmd",renotify:!0,data:{url:"/"},vibrate:[200,100,200]};try{await self.navigator.setAppBadge(1)}catch{}return self.registration.showNotification(e.title||"Command finished",a)}))});self.addEventListener("notificationclick",s=>{var t;s.notification.close();try{self.navigator.clearAppBadge()}catch{}const e=((t=s.notification.data)==null?void 0:t.url)||"/";s.waitUntil(self.clients.matchAll({type:"window",includeUncontrolled:!0}).then(n=>{for(const a of n)if(a.url.includes(self.location.origin)&&"focus"in a)return a.focus();return self.clients.openWindow(e)}))});
2
+ This is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(c)}}}install(e){return N(e,async()=>{const t=new Y;this.strategy.plugins.push(t);for(const[r,i]of this._urlsToCacheKeys){const c=this._cacheKeysToIntegrities.get(i),o=this._urlsToCacheModes.get(r),l=new Request(r,{integrity:c,cache:o,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:i},request:l,event:e}))}const{updatedURLs:n,notUpdatedURLs:a}=t;return{updatedURLs:n,notUpdatedURLs:a}})}activate(e){return N(e,async()=>{const t=await self.caches.open(this.strategy.cacheName),n=await t.keys(),a=new Set(this._urlsToCacheKeys.values()),r=[];for(const i of n)a.has(i.url)||(await t.delete(i),r.push(i.url));return{deletedURLs:r}})}getURLsToCacheKeys(){return this._urlsToCacheKeys}getCachedURLs(){return[...this._urlsToCacheKeys.keys()]}getCacheKeyForURL(e){const t=new URL(e,location.href);return this._urlsToCacheKeys.get(t.href)}getIntegrityForCacheKey(e){return this._cacheKeysToIntegrities.get(e)}async matchPrecache(e){const t=e instanceof Request?e.url:e,n=this.getCacheKeyForURL(t);if(n)return(await self.caches.open(this.strategy.cacheName)).match(n)}createHandlerBoundToURL(e){const t=this.getCacheKeyForURL(e);if(!t)throw new h("non-precached-url",{url:e});return n=>(n.request=new Request(e),n.params=Object.assign({cacheKey:t},n.params),this.strategy.handle(n))}}let L;const j=()=>(L||(L=new oe),L);try{self["workbox:routing:7.3.0"]&&_()}catch{}const F="GET",x=s=>s&&typeof s=="object"?s:{handle:s};class R{constructor(e,t,n=F){this.handler=x(t),this.match=e,this.method=n}setCatchHandler(e){this.catchHandler=x(e)}}class le extends R{constructor(e,t,n){const a=({url:r})=>{const i=e.exec(r.href);if(i&&!(r.origin!==location.origin&&i.index!==0))return i.slice(1)};super(a,t,n)}}class he{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",(e=>{const{request:t}=e,n=this.handleRequest({request:t,event:e});n&&e.respondWith(n)}))}addCacheListener(){self.addEventListener("message",(e=>{if(e.data&&e.data.type==="CACHE_URLS"){const{payload:t}=e.data,n=Promise.all(t.urlsToCache.map(a=>{typeof a=="string"&&(a=[a]);const r=new Request(...a);return this.handleRequest({request:r,event:e})}));e.waitUntil(n),e.ports&&e.ports[0]&&n.then(()=>e.ports[0].postMessage(!0))}}))}handleRequest({request:e,event:t}){const n=new URL(e.url,location.href);if(!n.protocol.startsWith("http"))return;const a=n.origin===location.origin,{params:r,route:i}=this.findMatchingRoute({event:t,request:e,sameOrigin:a,url:n});let c=i&&i.handler;const o=e.method;if(!c&&this._defaultHandlerMap.has(o)&&(c=this._defaultHandlerMap.get(o)),!c)return;let l;try{l=c.handle({url:n,request:e,event:t,params:r})}catch(u){l=Promise.reject(u)}const g=i&&i.catchHandler;return l instanceof Promise&&(this._catchHandler||g)&&(l=l.catch(async u=>{if(g)try{return await g.handle({url:n,request:e,event:t,params:r})}catch(I){I instanceof Error&&(u=I)}if(this._catchHandler)return this._catchHandler.handle({url:n,request:e,event:t});throw u})),l}findMatchingRoute({url:e,sameOrigin:t,request:n,event:a}){const r=this._routes.get(n.method)||[];for(const i of r){let c;const o=i.match({url:e,sameOrigin:t,request:n,event:a});if(o)return c=o,(Array.isArray(c)&&c.length===0||o.constructor===Object&&Object.keys(o).length===0||typeof o=="boolean")&&(c=void 0),{route:i,params:c}}return{}}setDefaultHandler(e,t=F){this._defaultHandlerMap.set(t,x(e))}setCatchHandler(e){this._catchHandler=x(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new h("unregister-route-but-not-found-with-method",{method:e.method});const t=this._routes.get(e.method).indexOf(e);if(t>-1)this._routes.get(e.method).splice(t,1);else throw new h("unregister-route-route-not-registered")}}let w;const ue=()=>(w||(w=new he,w.addFetchListener(),w.addCacheListener()),w);function q(s,e,t){let n;if(typeof s=="string"){const r=new URL(s,location.href),i=({url:c})=>c.href===r.href;n=new R(i,e,t)}else if(s instanceof RegExp)n=new le(s,e,t);else if(typeof s=="function")n=new R(s,e,t);else if(s instanceof R)n=s;else throw new h("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});return ue().registerRoute(n),n}function de(s,e=[]){for(const t of[...s.searchParams.keys()])e.some(n=>n.test(t))&&s.searchParams.delete(t);return s}function*fe(s,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:t="index.html",cleanURLs:n=!0,urlManipulation:a}={}){const r=new URL(s,location.href);r.hash="",yield r.href;const i=de(r,e);if(yield i.href,t&&i.pathname.endsWith("/")){const c=new URL(i.href);c.pathname+=t,yield c.href}if(n){const c=new URL(i.href);c.pathname+=".html",yield c.href}if(a){const c=a({url:r});for(const o of c)yield o.href}}class pe extends R{constructor(e,t){const n=({request:a})=>{const r=e.getURLsToCacheKeys();for(const i of fe(a.url,t)){const c=r.get(i);if(c){const o=e.getIntegrityForCacheKey(c);return{cacheKey:c,integrity:o}}}};super(n,e.strategy)}}function ge(s){const e=j(),t=new pe(e,s);q(t)}const me="-precache-",we=async(s,e=me)=>{const n=(await self.caches.keys()).filter(a=>a.includes(e)&&a.includes(self.registration.scope)&&a!==s);return await Promise.all(n.map(a=>self.caches.delete(a))),n};function ye(){self.addEventListener("activate",(s=>{const e=b.getPrecacheName();s.waitUntil(we(e).then(t=>{}))}))}function _e(s){j().precache(s)}function Re(s,e){_e(s),ge(e)}class be extends W{async _handle(e,t){let n=await t.cacheMatch(e),a;if(!n)try{n=await t.fetchAndCachePut(e)}catch(r){r instanceof Error&&(a=r)}if(!n)throw new h("no-response",{url:e.url,error:a});return n}}function H(s){s.then(()=>{})}const Ce=(s,e)=>e.some(t=>s instanceof t);let A,K;function xe(){return A||(A=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Ee(){return K||(K=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const V=new WeakMap,k=new WeakMap,$=new WeakMap,D=new WeakMap,v=new WeakMap;function Le(s){const e=new Promise((t,n)=>{const a=()=>{s.removeEventListener("success",r),s.removeEventListener("error",i)},r=()=>{t(f(s.result)),a()},i=()=>{n(s.error),a()};s.addEventListener("success",r),s.addEventListener("error",i)});return e.then(t=>{t instanceof IDBCursor&&V.set(t,s)}).catch(()=>{}),v.set(e,s),e}function De(s){if(k.has(s))return;const e=new Promise((t,n)=>{const a=()=>{s.removeEventListener("complete",r),s.removeEventListener("error",i),s.removeEventListener("abort",i)},r=()=>{t(),a()},i=()=>{n(s.error||new DOMException("AbortError","AbortError")),a()};s.addEventListener("complete",r),s.addEventListener("error",i),s.addEventListener("abort",i)});k.set(s,e)}let P={get(s,e,t){if(s instanceof IDBTransaction){if(e==="done")return k.get(s);if(e==="objectStoreNames")return s.objectStoreNames||$.get(s);if(e==="store")return t.objectStoreNames[1]?void 0:t.objectStore(t.objectStoreNames[0])}return f(s[e])},set(s,e,t){return s[e]=t,!0},has(s,e){return s instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in s}};function Ue(s){P=s(P)}function Te(s){return s===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(e,...t){const n=s.call(U(this),e,...t);return $.set(n,e.sort?e.sort():[e]),f(n)}:Ee().includes(s)?function(...e){return s.apply(U(this),e),f(V.get(this))}:function(...e){return f(s.apply(U(this),e))}}function ke(s){return typeof s=="function"?Te(s):(s instanceof IDBTransaction&&De(s),Ce(s,xe())?new Proxy(s,P):s)}function f(s){if(s instanceof IDBRequest)return Le(s);if(D.has(s))return D.get(s);const e=ke(s);return e!==s&&(D.set(s,e),v.set(e,s)),e}const U=s=>v.get(s);function Pe(s,e,{blocked:t,upgrade:n,blocking:a,terminated:r}={}){const i=indexedDB.open(s,e),c=f(i);return n&&i.addEventListener("upgradeneeded",o=>{n(f(i.result),o.oldVersion,o.newVersion,f(i.transaction),o)}),t&&i.addEventListener("blocked",o=>t(o.oldVersion,o.newVersion,o)),c.then(o=>{r&&o.addEventListener("close",()=>r()),a&&o.addEventListener("versionchange",l=>a(l.oldVersion,l.newVersion,l))}).catch(()=>{}),c}function ve(s,{blocked:e}={}){const t=indexedDB.deleteDatabase(s);return e&&t.addEventListener("blocked",n=>e(n.oldVersion,n)),f(t).then(()=>{})}const Ie=["get","getKey","getAll","getAllKeys","count"],Ne=["put","add","delete","clear"],T=new Map;function S(s,e){if(!(s instanceof IDBDatabase&&!(e in s)&&typeof e=="string"))return;if(T.get(e))return T.get(e);const t=e.replace(/FromIndex$/,""),n=e!==t,a=Ne.includes(t);if(!(t in(n?IDBIndex:IDBObjectStore).prototype)||!(a||Ie.includes(t)))return;const r=async function(i,...c){const o=this.transaction(i,a?"readwrite":"readonly");let l=o.store;return n&&(l=l.index(c.shift())),(await Promise.all([l[t](...c),a&&o.done]))[0]};return T.set(e,r),r}Ue(s=>({...s,get:(e,t,n)=>S(e,t)||s.get(e,t,n),has:(e,t)=>!!S(e,t)||s.has(e,t)}));try{self["workbox:expiration:7.3.0"]&&_()}catch{}const Me="workbox-expiration",y="cache-entries",O=s=>{const e=new URL(s,location.href);return e.hash="",e.href};class Ae{constructor(e){this._db=null,this._cacheName=e}_upgradeDb(e){const t=e.createObjectStore(y,{keyPath:"id"});t.createIndex("cacheName","cacheName",{unique:!1}),t.createIndex("timestamp","timestamp",{unique:!1})}_upgradeDbAndDeleteOldDbs(e){this._upgradeDb(e),this._cacheName&&ve(this._cacheName)}async setTimestamp(e,t){e=O(e);const n={url:e,timestamp:t,cacheName:this._cacheName,id:this._getId(e)},r=(await this.getDb()).transaction(y,"readwrite",{durability:"relaxed"});await r.store.put(n),await r.done}async getTimestamp(e){const n=await(await this.getDb()).get(y,this._getId(e));return n==null?void 0:n.timestamp}async expireEntries(e,t){const n=await this.getDb();let a=await n.transaction(y).store.index("timestamp").openCursor(null,"prev");const r=[];let i=0;for(;a;){const o=a.value;o.cacheName===this._cacheName&&(e&&o.timestamp<e||t&&i>=t?r.push(a.value):i++),a=await a.continue()}const c=[];for(const o of r)await n.delete(y,o.id),c.push(o.url);return c}_getId(e){return this._cacheName+"|"+O(e)}async getDb(){return this._db||(this._db=await Pe(Me,1,{upgrade:this._upgradeDbAndDeleteOldDbs.bind(this)})),this._db}}class Ke{constructor(e,t={}){this._isRunning=!1,this._rerunRequested=!1,this._maxEntries=t.maxEntries,this._maxAgeSeconds=t.maxAgeSeconds,this._matchOptions=t.matchOptions,this._cacheName=e,this._timestampModel=new Ae(e)}async expireEntries(){if(this._isRunning){this._rerunRequested=!0;return}this._isRunning=!0;const e=this._maxAgeSeconds?Date.now()-this._maxAgeSeconds*1e3:0,t=await this._timestampModel.expireEntries(e,this._maxEntries),n=await self.caches.open(this._cacheName);for(const a of t)await n.delete(a,this._matchOptions);this._isRunning=!1,this._rerunRequested&&(this._rerunRequested=!1,H(this.expireEntries()))}async updateTimestamp(e){await this._timestampModel.setTimestamp(e,Date.now())}async isURLExpired(e){if(this._maxAgeSeconds){const t=await this._timestampModel.getTimestamp(e),n=Date.now()-this._maxAgeSeconds*1e3;return t!==void 0?t<n:!0}else return!1}async delete(){this._rerunRequested=!1,await this._timestampModel.expireEntries(1/0)}}function Se(s){B.add(s)}class Oe{constructor(e={}){this.cachedResponseWillBeUsed=async({event:t,request:n,cacheName:a,cachedResponse:r})=>{if(!r)return null;const i=this._isResponseDateFresh(r),c=this._getCacheExpiration(a);H(c.expireEntries());const o=c.updateTimestamp(n.url);if(t)try{t.waitUntil(o)}catch{}return i?r:null},this.cacheDidUpdate=async({cacheName:t,request:n})=>{const a=this._getCacheExpiration(t);await a.updateTimestamp(n.url),await a.expireEntries()},this._config=e,this._maxAgeSeconds=e.maxAgeSeconds,this._cacheExpirations=new Map,e.purgeOnQuotaError&&Se(()=>this.deleteCacheAndMetadata())}_getCacheExpiration(e){if(e===b.getRuntimeName())throw new h("expire-custom-caches-only");let t=this._cacheExpirations.get(e);return t||(t=new Ke(e,this._config),this._cacheExpirations.set(e,t)),t}_isResponseDateFresh(e){if(!this._maxAgeSeconds)return!0;const t=this._getDateHeaderTimestamp(e);if(t===null)return!0;const n=Date.now();return t>=n-this._maxAgeSeconds*1e3}_getDateHeaderTimestamp(e){if(!e.headers.has("date"))return null;const t=e.headers.get("date"),a=new Date(t).getTime();return isNaN(a)?null:a}async deleteCacheAndMetadata(){for(const[e,t]of this._cacheExpirations)await self.caches.delete(e),await t.delete();this._cacheExpirations=new Map}}Re([{"revision":"1872c500de691dce40960bb85481de07","url":"registerSW.js"},{"revision":"0f93805414c783a30b72e0ce88f2c7c4","url":"icons/icon.svg"},{"revision":"5dee5ddcd8e8533edb348118334d9756","url":"icons/icon-512.png"},{"revision":"75734e6b38a556148f51b9e10eeb01c8","url":"icons/icon-192.png"},{"revision":"0362e0eb00358646fd4c97674945adba","url":"icons/icon-180.png"},{"revision":null,"url":"assets/xychartDiagram-JWTSCODW-D1U0PBps.js"},{"revision":null,"url":"assets/vennDiagram-LZ73GAT5-CQy8NUxW.js"},{"revision":null,"url":"assets/treemap-KZPCXAKY-BwGtQefY.js"},{"revision":null,"url":"assets/timeline-definition-YZTLITO2-AB47RPpS.js"},{"revision":null,"url":"assets/stateDiagram-v2-FVOUBMTO-Dr2a5PWq.js"},{"revision":null,"url":"assets/stateDiagram-RAJIS63D-DBbQtnkh.js"},{"revision":null,"url":"assets/sequenceDiagram-2WXFIKYE-CCATgMDC.js"},{"revision":null,"url":"assets/sankeyDiagram-WA2Y5GQK-DqRGFuVJ.js"},{"revision":null,"url":"assets/requirementDiagram-Z7DCOOCP-DzYp2J9t.js"},{"revision":null,"url":"assets/quadrantDiagram-337W2JSQ-DBgEkZee.js"},{"revision":null,"url":"assets/pieDiagram-SKSYHLDU-Db_hnpTO.js"},{"revision":null,"url":"assets/ordinal-Cboi1Yqb.js"},{"revision":null,"url":"assets/mindmap-definition-YRQLILUH-KXwvxrd9.js"},{"revision":null,"url":"assets/linear-pPVtYfoA.js"},{"revision":null,"url":"assets/layout-C4hgRWBc.js"},{"revision":null,"url":"assets/katex-B1X10hvy.js"},{"revision":null,"url":"assets/kanban-definition-K7BYSVSG-DlsqM5ac.js"},{"revision":null,"url":"assets/journeyDiagram-4ABVD52K-DOKjshE4.js"},{"revision":null,"url":"assets/ishikawaDiagram-PHBUUO56-BTx9nUR_.js"},{"revision":null,"url":"assets/init-Gi6I4Gst.js"},{"revision":null,"url":"assets/infoDiagram-LFFYTUFH-B50sX0Jk.js"},{"revision":null,"url":"assets/index-pqtccC7s.js"},{"revision":null,"url":"assets/index-7DPrKRHX.css"},{"revision":null,"url":"assets/graph-CaPDDY3I.js"},{"revision":null,"url":"assets/gitGraphDiagram-K3NZZRJ6-CZ0c5437.js"},{"revision":null,"url":"assets/ganttDiagram-A5KZAMGK-BRH4oYpz.js"},{"revision":null,"url":"assets/flowDiagram-PKNHOUZH-7__LLCFp.js"},{"revision":null,"url":"assets/erDiagram-INFDFZHY-xb7jd7iV.js"},{"revision":null,"url":"assets/diagram-P4PSJMXO-Cl1dGq__.js"},{"revision":null,"url":"assets/diagram-IFDJBPK2-B7r-HJa0.js"},{"revision":null,"url":"assets/diagram-E7M64L7V-yhW3nXxA.js"},{"revision":null,"url":"assets/defaultLocale-DX6XiGOO.js"},{"revision":null,"url":"assets/dagre-KLK3FWXG-BOfJIpm3.js"},{"revision":null,"url":"assets/cytoscape.esm-BQaXIfA_.js"},{"revision":null,"url":"assets/cose-bilkent-S5V4N54A-CTeXZoSq.js"},{"revision":null,"url":"assets/clone-BQhUsBH5.js"},{"revision":null,"url":"assets/classDiagram-v2-RAHNMMFH-CwKQYDdP.js"},{"revision":null,"url":"assets/classDiagram-VBA2DB6C-CwKQYDdP.js"},{"revision":null,"url":"assets/chunk-WL4C6EOR-DY15q7Tk.js"},{"revision":null,"url":"assets/chunk-QZHKN3VN-DDY6gqIZ.js"},{"revision":null,"url":"assets/chunk-NQ4KR5QH-BP6XJFdX.js"},{"revision":null,"url":"assets/chunk-KX2RTZJC-BZlXzthI.js"},{"revision":null,"url":"assets/chunk-JSJVCQXG-CudZY5_F.js"},{"revision":null,"url":"assets/chunk-FMBD7UC4-cK52FAx0.js"},{"revision":null,"url":"assets/chunk-55IACEB6-CRSrEoDB.js"},{"revision":null,"url":"assets/chunk-4BX2VUAB-eU5lnLp-.js"},{"revision":null,"url":"assets/channel-spGqRIlf.js"},{"revision":null,"url":"assets/c4Diagram-IC4MRINW-CPV76ZUM.js"},{"revision":null,"url":"assets/blockDiagram-WCTKOSBZ-Dh31wJRm.js"},{"revision":null,"url":"assets/architectureDiagram-2XIMDMQ5-BFCoYW28.js"},{"revision":null,"url":"assets/arc-BBjpe_hN.js"},{"revision":null,"url":"assets/_baseUniq-CmudMx6k.js"},{"revision":null,"url":"assets/_basePickBy-BpcK6jhC.js"},{"revision":"0362e0eb00358646fd4c97674945adba","url":"icons/icon-180.png"},{"revision":"75734e6b38a556148f51b9e10eeb01c8","url":"icons/icon-192.png"},{"revision":"5dee5ddcd8e8533edb348118334d9756","url":"icons/icon-512.png"},{"revision":"b0747e8d6cde0d45e05be8e5c731729e","url":"manifest.webmanifest"}]);ye();q(({url:s})=>s.hostname==="cdn.jsdelivr.net"&&s.pathname.endsWith(".ttf"),new be({cacheName:"termbeam-fonts",plugins:[new Oe({maxEntries:5,maxAgeSeconds:365*24*60*60})]}));self.addEventListener("message",s=>{var e;((e=s.data)==null?void 0:e.type)==="CLEAR_CACHES"&&caches.keys().then(t=>{for(const n of t)n!=="workbox-precache-v2"&&caches.delete(n)})});self.addEventListener("install",()=>{self.skipWaiting()});self.addEventListener("activate",s=>{s.waitUntil(caches.delete("termbeam-navigation").then(()=>self.clients.claim()))});self.addEventListener("push",s=>{let e={title:"Command finished",body:"TermBeam"};if(s.data)try{e=s.data.json()}catch{}s.waitUntil(self.clients.matchAll({type:"window",includeUncontrolled:!0}).then(async t=>{if(t.some(r=>r.url.includes(self.location.origin)&&r.focused))return;const a={body:e.body||"A command has completed",icon:"/icons/icon-192.png",badge:"/icons/icon-192.png",tag:"termbeam-cmd",renotify:!0,data:{url:"/"},vibrate:[200,100,200]};try{await self.navigator.setAppBadge(1)}catch{}return self.registration.showNotification(e.title||"Command finished",a)}))});self.addEventListener("notificationclick",s=>{var t;s.notification.close();try{self.navigator.clearAppBadge()}catch{}const e=((t=s.notification.data)==null?void 0:t.url)||"/";s.waitUntil(self.clients.matchAll({type:"window",includeUncontrolled:!0}).then(n=>{for(const a of n)if(a.url.includes(self.location.origin)&&"focus"in a)return a.focus();return self.clients.openWindow(e)}))});
@@ -101,12 +101,12 @@ function setupRoutes(app, { auth, sessions, config, state, pushManager }) {
101
101
 
102
102
  try {
103
103
  const info = await checkForUpdate({ currentVersion: config.version, force });
104
- const { installCmd, installArgs, ...publicInstallInfo } = detectInstallMethod();
104
+ const { installCmd, installArgs, cwd, ...publicInstallInfo } = detectInstallMethod();
105
105
  state.updateInfo = { ...info, ...publicInstallInfo };
106
106
  res.json(state.updateInfo);
107
107
  } catch (err) {
108
108
  log.warn(`Update check failed: ${err.message}`);
109
- const { installCmd, installArgs, ...publicInstallInfo } = detectInstallMethod();
109
+ const { installCmd, installArgs, cwd, ...publicInstallInfo } = detectInstallMethod();
110
110
  const fallback = {
111
111
  current: config.version,
112
112
  latest: null,
@@ -226,6 +226,7 @@ function setupRoutes(app, { auth, sessions, config, state, pushManager }) {
226
226
  restartStrategy: installInfo.restartStrategy,
227
227
  onProgress: broadcastProgress,
228
228
  performRestart,
229
+ cwd: installInfo.cwd,
229
230
  }).catch((err) => {
230
231
  log.error(`Update execution error: ${err.message}`);
231
232
  });
@@ -292,14 +292,31 @@ function detectInstallMethod() {
292
292
  // Check before Docker: a git checkout running inside a container (CI/devcontainers)
293
293
  // should be treated as source, not Docker
294
294
  if (isRunningFromSource()) {
295
+ const sourceRoot = getSourceRoot();
296
+ const baseCmd = 'git pull && npm install && npm run build:frontend';
297
+
298
+ if (isPm2) {
299
+ log.debug('Install method: source (PM2)');
300
+ return {
301
+ method: 'source',
302
+ command: `${baseCmd} && pm2 restart termbeam`,
303
+ installCmd: process.platform === 'win32' ? process.env.COMSPEC || 'cmd.exe' : 'sh',
304
+ installArgs: process.platform === 'win32' ? ['/c', baseCmd] : ['-c', baseCmd],
305
+ canAutoUpdate: true,
306
+ restartStrategy: 'pm2',
307
+ cwd: sourceRoot,
308
+ };
309
+ }
310
+
295
311
  log.debug('Install method: source');
296
312
  return {
297
313
  method: 'source',
298
- command: 'git pull && npm install && npm run build:frontend',
314
+ command: baseCmd,
299
315
  installCmd: null,
300
316
  installArgs: null,
301
317
  canAutoUpdate: false,
302
318
  restartStrategy: 'none',
319
+ cwd: sourceRoot,
303
320
  };
304
321
  }
305
322
 
@@ -346,6 +363,26 @@ function isRunningInDocker() {
346
363
  return false;
347
364
  }
348
365
 
366
+ /**
367
+ * Find the root of the source checkout by walking up from __dirname.
368
+ * Returns the absolute path to the repo root, or null if not found.
369
+ */
370
+ function getSourceRoot() {
371
+ if (__dirname.includes('node_modules')) return null;
372
+ try {
373
+ let currentDir = __dirname;
374
+ for (let i = 0; i < 10; i++) {
375
+ if (fs.existsSync(path.join(currentDir, '.git'))) return currentDir;
376
+ const parentDir = path.dirname(currentDir);
377
+ if (!parentDir || parentDir === currentDir) break;
378
+ currentDir = parentDir;
379
+ }
380
+ } catch {
381
+ // ignore
382
+ }
383
+ return null;
384
+ }
385
+
349
386
  /**
350
387
  * Detect if running from a git source checkout (not installed as a package).
351
388
  * Walks upward from __dirname looking for .git to avoid fragile fixed-depth assumptions.
@@ -387,4 +424,5 @@ module.exports = {
387
424
  isRunningInDocker,
388
425
  isRunningFromSource,
389
426
  isRunningUnderPm2,
427
+ getSourceRoot,
390
428
  };
@@ -71,6 +71,16 @@ function resetState() {
71
71
  * Returns { canUpdate, reason } — if canUpdate is false, reason explains why.
72
72
  */
73
73
  async function checkPermissions(method) {
74
+ // Source installs use git, not a package manager
75
+ if (method === 'source') {
76
+ try {
77
+ await execFilePromise('git', ['--version'], { timeout: VERIFY_TIMEOUT_MS });
78
+ } catch {
79
+ return { canUpdate: false, reason: 'git not found on PATH' };
80
+ }
81
+ return { canUpdate: true, reason: null };
82
+ }
83
+
74
84
  const cmd = method === 'yarn' ? 'yarn' : method === 'pnpm' ? 'pnpm' : 'npm';
75
85
 
76
86
  // Check if the package manager is available by running it directly
@@ -124,6 +134,7 @@ async function executeUpdate({
124
134
  restartStrategy,
125
135
  onProgress,
126
136
  performRestart,
137
+ cwd,
127
138
  }) {
128
139
  if (updateState.status !== 'idle' && updateState.status !== 'failed') {
129
140
  return { ...updateState, error: 'Update already in progress' };
@@ -169,6 +180,7 @@ async function executeUpdate({
169
180
  timeout: INSTALL_TIMEOUT_MS,
170
181
  maxBuffer: 10 * 1024 * 1024, // 10 MB — package manager installs can be verbose
171
182
  env: { ...process.env, NO_UPDATE_NOTIFIER: '1' },
183
+ cwd: cwd || undefined,
172
184
  });
173
185
 
174
186
  const output = (stdout + '\n' + stderr).trim();
@@ -178,7 +190,7 @@ async function executeUpdate({
178
190
  // Step 3: Verify
179
191
  notify({ status: 'verifying', phase: 'Verifying update...' });
180
192
 
181
- const newVersion = await verifyInstalledVersion(method);
193
+ const newVersion = await verifyInstalledVersion(method, cwd);
182
194
  if (!newVersion) {
183
195
  notify({
184
196
  status: 'failed',
@@ -230,7 +242,22 @@ async function executeUpdate({
230
242
 
231
243
  // ── Version Verification ─────────────────────────────────────────────────────
232
244
 
233
- async function verifyInstalledVersion(method) {
245
+ async function verifyInstalledVersion(method, cwd) {
246
+ // Source installs: read version from the repo's package.json after git pull
247
+ if (method === 'source') {
248
+ try {
249
+ const pkgPath = cwd
250
+ ? path.join(cwd, 'package.json')
251
+ : path.resolve(__dirname, '../../package.json');
252
+ const content = await fs.promises.readFile(pkgPath, 'utf8');
253
+ const pkg = JSON.parse(content);
254
+ return pkg.version || null;
255
+ } catch (err) {
256
+ log.debug(`Version verification via package.json failed: ${err.message}`);
257
+ }
258
+ return null;
259
+ }
260
+
234
261
  const cmd = method === 'yarn' ? 'yarn' : method === 'pnpm' ? 'pnpm' : 'npm';
235
262
  try {
236
263
  // Use npm/yarn/pnpm to read the installed version
@@ -1 +0,0 @@
1
- import{aq as o,ar as n}from"./index-Cvxh0Fjh.js";const t=(r,a)=>o.lang.round(n.parse(r)[a]);export{t as c};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-WL4C6EOR-CKtSBmtm.js";import{_ as i}from"./index-Cvxh0Fjh.js";import"./chunk-FMBD7UC4-D7ZUE2Qt.js";import"./chunk-JSJVCQXG-Cr7LmD49.js";import"./chunk-55IACEB6-DaOODotQ.js";import"./chunk-KX2RTZJC-mSzu7V0i.js";var u={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{u as diagram};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-WL4C6EOR-CKtSBmtm.js";import{_ as i}from"./index-Cvxh0Fjh.js";import"./chunk-FMBD7UC4-D7ZUE2Qt.js";import"./chunk-JSJVCQXG-Cr7LmD49.js";import"./chunk-55IACEB6-DaOODotQ.js";import"./chunk-KX2RTZJC-mSzu7V0i.js";var u={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{u as diagram};
@@ -1 +0,0 @@
1
- import{b as r}from"./_baseUniq-h6HY8nD4.js";var e=4;function a(o){return r(o,e)}export{a as c};
@@ -1 +0,0 @@
1
- import{s as t,b as r,a,S as s}from"./chunk-NQ4KR5QH-UNIo7K3P.js";import{_ as i}from"./index-Cvxh0Fjh.js";import"./chunk-55IACEB6-DaOODotQ.js";import"./chunk-KX2RTZJC-mSzu7V0i.js";var l={parser:a,get db(){return new s(2)},renderer:r,styles:t,init:i(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")};export{l as diagram};