neoagent 2.0.1 → 2.0.3
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/.env.example +8 -0
- package/docs/configuration.md +3 -0
- package/package.json +1 -1
- package/server/db/database.js +75 -0
- package/server/http/middleware.js +26 -2
- package/server/http/routes.js +1 -0
- package/server/index.js +97 -6
- package/server/public/.last_build_id +1 -1
- package/server/public/assets/NOTICES +24298 -26578
- package/server/public/assets/fonts/MaterialIcons-Regular.otf +0 -0
- package/server/public/assets/shaders/ink_sparkle.frag +1 -0
- package/server/public/assets/shaders/stretch_effect.frag +64 -0
- package/server/public/assets/web/icons/Icon-192.png +0 -0
- package/server/public/canvaskit/canvaskit.js +91 -90
- package/server/public/canvaskit/canvaskit.js.symbols +11577 -11578
- package/server/public/canvaskit/canvaskit.wasm +0 -0
- package/server/public/canvaskit/chromium/canvaskit.js +92 -91
- package/server/public/canvaskit/chromium/canvaskit.js.symbols +10382 -10395
- package/server/public/canvaskit/chromium/canvaskit.wasm +0 -0
- package/server/public/canvaskit/skwasm.js +95 -89
- package/server/public/canvaskit/skwasm.js.symbols +12814 -12146
- package/server/public/canvaskit/skwasm.wasm +0 -0
- package/server/public/canvaskit/skwasm_heavy.js +95 -89
- package/server/public/canvaskit/skwasm_heavy.js.symbols +14435 -13747
- package/server/public/canvaskit/skwasm_heavy.wasm +0 -0
- package/server/public/canvaskit/wimp.js +136 -0
- package/server/public/canvaskit/wimp.js.symbols +11313 -0
- package/server/public/canvaskit/wimp.wasm +0 -0
- package/server/public/favicon.svg +12 -0
- package/server/public/flutter.js +3 -4
- package/server/public/flutter_bootstrap.js +5 -6
- package/server/public/flutter_service_worker.js +22 -199
- package/server/public/index.html +1 -0
- package/server/public/main.dart.js +73857 -65543
- package/server/routes/recordings.js +113 -0
- package/server/services/manager.js +9 -0
- package/server/services/recordings/deepgram.js +53 -0
- package/server/services/recordings/manager.js +715 -0
|
Binary file
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
|
|
4
|
+
<stop offset="0%" stop-color="#6366f1"/>
|
|
5
|
+
<stop offset="100%" stop-color="#8b5cf6"/>
|
|
6
|
+
</linearGradient>
|
|
7
|
+
</defs>
|
|
8
|
+
<rect width="32" height="32" rx="8" ry="8" fill="url(#bg)"/>
|
|
9
|
+
<polygon points="16,5 5,10.5 16,16 27,10.5" fill="white"/>
|
|
10
|
+
<polyline points="5,16 16,21.5 27,16" fill="none" stroke="white" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
11
|
+
<polyline points="5,21.5 16,27 27,21.5" fill="none" stroke="white" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
12
|
+
</svg>
|
package/server/public/flutter.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
(()=>{var
|
|
2
|
-
|
|
3
|
-
Read more: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts`),Promise.reject(new Error(o))}let{serviceWorkerVersion:r,serviceWorkerUrl:t=c(`flutter_service_worker.js?v=${r}`),timeoutMillis:n=4e3}=e,s=t;this._ttPolicy!=null&&(s=this._ttPolicy.createScriptURL(s));let a=navigator.serviceWorker.register(s).then(o=>this._getNewServiceWorker(o,r)).then(this._waitForServiceWorkerActivation);return E(a,n,"prepareServiceWorker")}async _getNewServiceWorker(e,r){if(!e.active&&(e.installing||e.waiting))return console.debug("Installing/Activating first service worker."),e.installing||e.waiting;if(e.active.scriptURL.endsWith(r))return console.debug("Loading from existing service worker."),e.active;{let t=await e.update();return console.debug("Updating service worker."),t.installing||t.waiting||t.active}}async _waitForServiceWorkerActivation(e){if(!e||e.state==="activated")if(e){console.debug("Service worker already active.");return}else throw new Error("Cannot activate a null service worker!");return new Promise((r,t)=>{e.addEventListener("statechange",()=>{e.state==="activated"&&(console.debug("Activated new service worker."),r())})})}};var g=class{constructor(e,r="flutter-js"){let t=e||[/\.js$/,/\.mjs$/];window.trustedTypes&&(this.policy=trustedTypes.createPolicy(r,{createScriptURL:function(n){if(n.startsWith("blob:"))return n;let s=new URL(n,window.location),a=s.pathname.split("/").pop();if(t.some(u=>u.test(a)))return s.toString();console.error("URL rejected by TrustedTypes policy",r,":",n,"(download prevented)")}}))}};var k=i=>{let e=WebAssembly.compileStreaming(fetch(i));return(r,t)=>((async()=>{let n=await e,s=await WebAssembly.instantiate(n,r);t(s,n)})(),{})};var W=(i,e,r,t)=>(window.flutterCanvasKitLoaded=(async()=>{if(window.flutterCanvasKit)return window.flutterCanvasKit;let n=r.hasChromiumBreakIterators&&r.hasImageCodecs;if(!n&&e.canvasKitVariant=="chromium")throw"Chromium CanvasKit variant specifically requested, but unsupported in this browser";let s=n&&e.canvasKitVariant!=="full",a=t;e.canvasKitVariant=="experimentalWebParagraph"?a=c(a,"experimental_webparagraph"):s&&(a=c(a,"chromium"));let o=c(a,"canvaskit.js");i.flutterTT.policy&&(o=i.flutterTT.policy.createScriptURL(o));let u=k(c(a,"canvaskit.wasm")),m=await import(o);return window.flutterCanvasKit=await m.default({instantiateWasm:u}),window.flutterCanvasKit})(),window.flutterCanvasKitLoaded);var P=async(i,e,r,t)=>{let s=!r.hasImageCodecs||!r.hasChromiumBreakIterators?"skwasm_heavy":"skwasm",a=c(t,`${s}.js`),o=a;i.flutterTT.policy&&(o=i.flutterTT.policy.createScriptURL(o));let u=k(c(t,`${s}.wasm`));return await(await import(o)).default({skwasmSingleThreaded:!r.crossOriginIsolated||e.forceSingleThreadedSkwasm,instantiateWasm:u,locateFile:(p,l)=>{if(p.endsWith(".ww.js")){let y=c(t,p);return URL.createObjectURL(new Blob([`
|
|
1
|
+
(()=>{var _={blink:!0,gecko:!1,webkit:!1,unknown:!1},K=()=>navigator.vendor==="Google Inc."||navigator.userAgent.includes("Edg/")?"blink":navigator.vendor==="Apple Computer, Inc."?"webkit":navigator.vendor===""&&navigator.userAgent.includes("Firefox")?"gecko":"unknown",C=K(),R=()=>typeof ImageDecoder>"u"?!1:C==="blink",B=()=>typeof Intl.v8BreakIterator<"u"&&typeof Intl.Segmenter<"u",z=()=>{let i=[0,97,115,109,1,0,0,0,1,5,1,95,1,120,0];return WebAssembly.validate(new Uint8Array(i))},M=()=>{let i=document.createElement("canvas");return i.width=1,i.height=1,i.getContext("webgl2")!=null?2:i.getContext("webgl")!=null?1:-1},D=()=>window.chrome&&chrome.runtime&&chrome.runtime.id,w={browserEngine:C,hasImageCodecs:R(),hasChromiumBreakIterators:B(),supportsWasmGC:z(),crossOriginIsolated:window.crossOriginIsolated,webGLVersion:M(),isChromeExtension:D()};function c(...i){return new URL(I(...i),document.baseURI).toString()}function I(...i){return i.filter(e=>!!e).map((e,n)=>n===0?S(e):F(S(e))).filter(e=>e.length).join("/")}function F(i){let e=0;for(;e<i.length&&i.charAt(e)==="/";)e++;return i.substring(e)}function S(i){let e=i.length;for(;e>0&&i.charAt(e-1)==="/";)e--;return i.substring(0,e)}function E(i,e){return i.canvasKitBaseUrl?i.canvasKitBaseUrl:e.engineRevision&&!e.useLocalCanvasKit?I("https://www.gstatic.com/flutter-canvaskit",e.engineRevision):"canvaskit"}var v=class{constructor(){this._scriptLoaded=!1}setTrustedTypesPolicy(e){this._ttPolicy=e}async loadEntrypoint(e){let{entrypointUrl:n=c("main.dart.js"),onEntrypointLoaded:t,nonce:r}=e||{};return this._loadJSEntrypoint(n,t,r)}async load(e,n,t,r,a){a??=l=>{l.initializeEngine(t).then(u=>u.runApp())};let{entrypointBaseUrl:s}=t,{entryPointBaseUrl:o}=t;if(!s&&o&&(console.warn("[deprecated] `entryPointBaseUrl` is deprecated and will be removed in a future release. Use `entrypointBaseUrl` instead."),s=o),e.compileTarget==="dart2wasm")return this._loadWasmEntrypoint(e,n,s,a);{let l=e.mainJsPath??"main.dart.js",u=c(s,l);return this._loadJSEntrypoint(u,a,r)}}didCreateEngineInitializer(e){typeof this._didCreateEngineInitializerResolve=="function"&&(this._didCreateEngineInitializerResolve(e),this._didCreateEngineInitializerResolve=null,delete _flutter.loader.didCreateEngineInitializer),typeof this._onEntrypointLoaded=="function"&&this._onEntrypointLoaded(e)}_loadJSEntrypoint(e,n,t){let r=typeof n=="function";if(!this._scriptLoaded){this._scriptLoaded=!0;let a=this._createScriptTag(e,t);if(r)console.debug("Injecting <script> tag. Using callback."),this._onEntrypointLoaded=n,document.head.append(a);else return new Promise((s,o)=>{console.debug("Injecting <script> tag. Using Promises. Use the callback approach instead!"),this._didCreateEngineInitializerResolve=s,a.addEventListener("error",o),document.head.append(a)})}}async _loadWasmEntrypoint(e,n,t,r){if(!this._scriptLoaded){this._scriptLoaded=!0,this._onEntrypointLoaded=r;let{mainWasmPath:a,jsSupportRuntimePath:s}=e,o=c(t,a),l=c(t,s);this._ttPolicy!=null&&(l=this._ttPolicy.createScriptURL(l));let d=(await import(l)).compileStreaming(fetch(o)),p;e.renderer==="skwasm"?p=(async()=>{let h=await n.skwasm;return window._flutter_skwasmInstance=h,{skwasm:h.wasmExports,skwasmWrapper:h,ffi:{memory:h.wasmMemory}}})():p=Promise.resolve({}),await(await(await d).instantiate(await p,{loadDynamicModule:async(h,j)=>{let A=fetch(c(t,h)),L=c(t,j);this._ttPolicy!=null&&(L=this._ttPolicy.createScriptURL(L));let x=import(L);return[await A,await x]}})).invokeMain()}}_createScriptTag(e,n){let t=document.createElement("script");t.type="application/javascript",n&&(t.nonce=n);let r=e;return this._ttPolicy!=null&&(r=this._ttPolicy.createScriptURL(e)),t.src=r,t}};async function T(i,e,n){if(e<0)return i;let t,r=new Promise((a,s)=>{t=setTimeout(()=>{s(new Error(`${n} took more than ${e}ms to resolve. Moving on.`,{cause:T}))},e)});return Promise.race([i,r]).finally(()=>{clearTimeout(t)})}var g=class{setTrustedTypesPolicy(e){this._ttPolicy=e}loadServiceWorker(e){if(!e||!("serviceWorker"in navigator))return Promise.resolve();let n=()=>{console.warn(`Loading the service worker using Flutter bootstrap is deprecated and will stop working in a future release.
|
|
2
|
+
For more details, see: https://github.com/flutter/flutter/issues/156910`)},t=()=>{let{serviceWorkerVersion:r,serviceWorkerUrl:a=c(`flutter_service_worker.js?v=${r}`),timeoutMillis:s=4e3}=e,o=a;this._ttPolicy!=null&&(o=this._ttPolicy.createScriptURL(o));let l=navigator.serviceWorker.register(o).then(u=>this._getNewServiceWorker(u,r)).then(this._waitForServiceWorkerActivation);return T(l,s,"prepareServiceWorker")};return e.serviceWorkerUrl!=null?(n(),t()):navigator.serviceWorker.getRegistration().then(r=>r?t():Promise.resolve())}async _getNewServiceWorker(e,n){if(!e.active&&(e.installing||e.waiting))return console.debug("Installing/Activating first service worker."),e.installing||e.waiting;if(e.active.scriptURL.endsWith(n))return console.debug("Loading from existing service worker."),e.active;{let t=await e.update();return console.debug("Updating service worker."),t.installing||t.waiting||t.active}}async _waitForServiceWorkerActivation(e){if(!e||e.state==="activated")if(e){console.debug("Service worker already active.");return}else throw new Error("Cannot activate a null service worker!");return new Promise((n,t)=>{e.addEventListener("statechange",()=>{e.state==="activated"&&(console.debug("Activated new service worker."),n())})})}};var y=class{constructor(e,n="flutter-js"){let t=e||[/\.js$/,/\.mjs$/];window.trustedTypes&&(this.policy=trustedTypes.createPolicy(n,{createScriptURL:function(r){if(r.startsWith("blob:"))return r;let a=new URL(r,window.location),s=a.pathname.split("/").pop();if(t.some(l=>l.test(s)))return a.toString();console.error("URL rejected by TrustedTypes policy",n,":",r,"(download prevented)")}}))}};var k=i=>{let e=WebAssembly.compileStreaming(fetch(i));return(n,t)=>((async()=>{let r=await e,a=await WebAssembly.instantiate(r,n);t(a,r)})(),{})};var U=(i,e,n,t)=>(window.flutterCanvasKitLoaded=(async()=>{if(window.flutterCanvasKit)return window.flutterCanvasKit;let r=n.hasChromiumBreakIterators&&n.hasImageCodecs;if(!r&&e.canvasKitVariant=="chromium")throw"Chromium CanvasKit variant specifically requested, but unsupported in this browser";let a=r&&e.canvasKitVariant!=="full",s=t;e.canvasKitVariant=="experimentalWebParagraph"?s=c(s,"experimental_webparagraph"):a&&(s=c(s,"chromium"));let o=c(s,"canvaskit.js");i.flutterTT.policy&&(o=i.flutterTT.policy.createScriptURL(o));let l=k(c(s,"canvaskit.wasm")),u=await import(o);return window.flutterCanvasKit=await u.default({instantiateWasm:l}),window.flutterCanvasKit})(),window.flutterCanvasKitLoaded);var W=async(i,e,n,t)=>{let a=!n.hasImageCodecs||!n.hasChromiumBreakIterators?"skwasm_heavy":e.enableWimp?"wimp":"skwasm",s=c(t,`${a}.js`),o=s;i.flutterTT.policy&&(o=i.flutterTT.policy.createScriptURL(o));let l=k(c(t,`${a}.wasm`));return await(await import(o)).default({skwasmSingleThreaded:e.enableWimp||!n.crossOriginIsolated||n.isChromeExtension||e.forceSingleThreadedSkwasm,instantiateWasm:l,locateFile:(d,p)=>d.endsWith(".ww.js")?URL.createObjectURL(new Blob([`
|
|
4
3
|
"use strict";
|
|
5
4
|
|
|
6
5
|
let eventListener;
|
|
@@ -28,5 +27,5 @@ eventListener = (message) => {
|
|
|
28
27
|
addEventListener("message", eventListener);
|
|
29
28
|
};
|
|
30
29
|
addEventListener("message", eventListener);
|
|
31
|
-
`],{type:"application/javascript"}))
|
|
30
|
+
`],{type:"application/javascript"})):c(t,d),mainScriptUrlOrBlob:s})};var P=w.supportsWasmGC,G=P&&w.webGLVersion>0,b=class{async loadEntrypoint(e){let{serviceWorker:n,...t}=e||{},r=new y,a=new g;a.setTrustedTypesPolicy(r.policy),await a.loadServiceWorker(n).catch(o=>{console.warn("Exception while loading service worker:",o)});let s=new v;return s.setTrustedTypesPolicy(r.policy),this.didCreateEngineInitializer=s.didCreateEngineInitializer.bind(s),s.loadEntrypoint(t)}async load({serviceWorkerSettings:e,onEntrypointLoaded:n,nonce:t,config:r}={}){r??={};let a=_flutter.buildConfig;if(!a)throw"FlutterLoader.load requires _flutter.buildConfig to be set";let s=r.wasmAllowList?.[w.browserEngine]??_[w.browserEngine],o=m=>{switch(m){case"skwasm":return G&&s;default:return!0}},l=m=>m.compileTarget==="dart2wasm"&&!P||r.renderer&&r.renderer!=m.renderer?!1:o(m.renderer),u=a.builds.find(l);if(!u)throw"FlutterLoader could not find a build compatible with configuration and environment.";let d={};d.flutterTT=new y,e&&(d.serviceWorkerLoader=new g,d.serviceWorkerLoader.setTrustedTypesPolicy(d.flutterTT.policy),await d.serviceWorkerLoader.loadServiceWorker(e).catch(m=>{console.warn("Exception while loading service worker:",m)}));let p=E(r,a);u.renderer==="canvaskit"?d.canvasKit=U(d,r,w,p):u.renderer==="skwasm"&&(d.skwasm=W(d,r,w,p));let f=new v;return f.setTrustedTypesPolicy(d.flutterTT.policy),this.didCreateEngineInitializer=f.didCreateEngineInitializer.bind(f),f.load(u,d,r,t,n)}};window._flutter||(window._flutter={});window._flutter.loader||(window._flutter.loader=new b);})();
|
|
32
31
|
//# sourceMappingURL=flutter.js.map
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
(()=>{var
|
|
2
|
-
|
|
3
|
-
Read more: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts`),Promise.reject(new Error(o))}let{serviceWorkerVersion:r,serviceWorkerUrl:t=c(`flutter_service_worker.js?v=${r}`),timeoutMillis:n=4e3}=e,s=t;this._ttPolicy!=null&&(s=this._ttPolicy.createScriptURL(s));let a=navigator.serviceWorker.register(s).then(o=>this._getNewServiceWorker(o,r)).then(this._waitForServiceWorkerActivation);return E(a,n,"prepareServiceWorker")}async _getNewServiceWorker(e,r){if(!e.active&&(e.installing||e.waiting))return console.debug("Installing/Activating first service worker."),e.installing||e.waiting;if(e.active.scriptURL.endsWith(r))return console.debug("Loading from existing service worker."),e.active;{let t=await e.update();return console.debug("Updating service worker."),t.installing||t.waiting||t.active}}async _waitForServiceWorkerActivation(e){if(!e||e.state==="activated")if(e){console.debug("Service worker already active.");return}else throw new Error("Cannot activate a null service worker!");return new Promise((r,t)=>{e.addEventListener("statechange",()=>{e.state==="activated"&&(console.debug("Activated new service worker."),r())})})}};var g=class{constructor(e,r="flutter-js"){let t=e||[/\.js$/,/\.mjs$/];window.trustedTypes&&(this.policy=trustedTypes.createPolicy(r,{createScriptURL:function(n){if(n.startsWith("blob:"))return n;let s=new URL(n,window.location),a=s.pathname.split("/").pop();if(t.some(u=>u.test(a)))return s.toString();console.error("URL rejected by TrustedTypes policy",r,":",n,"(download prevented)")}}))}};var k=i=>{let e=WebAssembly.compileStreaming(fetch(i));return(r,t)=>((async()=>{let n=await e,s=await WebAssembly.instantiate(n,r);t(s,n)})(),{})};var W=(i,e,r,t)=>(window.flutterCanvasKitLoaded=(async()=>{if(window.flutterCanvasKit)return window.flutterCanvasKit;let n=r.hasChromiumBreakIterators&&r.hasImageCodecs;if(!n&&e.canvasKitVariant=="chromium")throw"Chromium CanvasKit variant specifically requested, but unsupported in this browser";let s=n&&e.canvasKitVariant!=="full",a=t;e.canvasKitVariant=="experimentalWebParagraph"?a=c(a,"experimental_webparagraph"):s&&(a=c(a,"chromium"));let o=c(a,"canvaskit.js");i.flutterTT.policy&&(o=i.flutterTT.policy.createScriptURL(o));let u=k(c(a,"canvaskit.wasm")),m=await import(o);return window.flutterCanvasKit=await m.default({instantiateWasm:u}),window.flutterCanvasKit})(),window.flutterCanvasKitLoaded);var P=async(i,e,r,t)=>{let s=!r.hasImageCodecs||!r.hasChromiumBreakIterators?"skwasm_heavy":"skwasm",a=c(t,`${s}.js`),o=a;i.flutterTT.policy&&(o=i.flutterTT.policy.createScriptURL(o));let u=k(c(t,`${s}.wasm`));return await(await import(o)).default({skwasmSingleThreaded:!r.crossOriginIsolated||e.forceSingleThreadedSkwasm,instantiateWasm:u,locateFile:(p,l)=>{if(p.endsWith(".ww.js")){let y=c(t,p);return URL.createObjectURL(new Blob([`
|
|
1
|
+
(()=>{var _={blink:!0,gecko:!1,webkit:!1,unknown:!1},K=()=>navigator.vendor==="Google Inc."||navigator.userAgent.includes("Edg/")?"blink":navigator.vendor==="Apple Computer, Inc."?"webkit":navigator.vendor===""&&navigator.userAgent.includes("Firefox")?"gecko":"unknown",C=K(),R=()=>typeof ImageDecoder>"u"?!1:C==="blink",B=()=>typeof Intl.v8BreakIterator<"u"&&typeof Intl.Segmenter<"u",z=()=>{let i=[0,97,115,109,1,0,0,0,1,5,1,95,1,120,0];return WebAssembly.validate(new Uint8Array(i))},M=()=>{let i=document.createElement("canvas");return i.width=1,i.height=1,i.getContext("webgl2")!=null?2:i.getContext("webgl")!=null?1:-1},D=()=>window.chrome&&chrome.runtime&&chrome.runtime.id,w={browserEngine:C,hasImageCodecs:R(),hasChromiumBreakIterators:B(),supportsWasmGC:z(),crossOriginIsolated:window.crossOriginIsolated,webGLVersion:M(),isChromeExtension:D()};function c(...i){return new URL(I(...i),document.baseURI).toString()}function I(...i){return i.filter(e=>!!e).map((e,n)=>n===0?S(e):F(S(e))).filter(e=>e.length).join("/")}function F(i){let e=0;for(;e<i.length&&i.charAt(e)==="/";)e++;return i.substring(e)}function S(i){let e=i.length;for(;e>0&&i.charAt(e-1)==="/";)e--;return i.substring(0,e)}function E(i,e){return i.canvasKitBaseUrl?i.canvasKitBaseUrl:e.engineRevision&&!e.useLocalCanvasKit?I("https://www.gstatic.com/flutter-canvaskit",e.engineRevision):"canvaskit"}var v=class{constructor(){this._scriptLoaded=!1}setTrustedTypesPolicy(e){this._ttPolicy=e}async loadEntrypoint(e){let{entrypointUrl:n=c("main.dart.js"),onEntrypointLoaded:t,nonce:r}=e||{};return this._loadJSEntrypoint(n,t,r)}async load(e,n,t,r,a){a??=l=>{l.initializeEngine(t).then(u=>u.runApp())};let{entrypointBaseUrl:s}=t,{entryPointBaseUrl:o}=t;if(!s&&o&&(console.warn("[deprecated] `entryPointBaseUrl` is deprecated and will be removed in a future release. Use `entrypointBaseUrl` instead."),s=o),e.compileTarget==="dart2wasm")return this._loadWasmEntrypoint(e,n,s,a);{let l=e.mainJsPath??"main.dart.js",u=c(s,l);return this._loadJSEntrypoint(u,a,r)}}didCreateEngineInitializer(e){typeof this._didCreateEngineInitializerResolve=="function"&&(this._didCreateEngineInitializerResolve(e),this._didCreateEngineInitializerResolve=null,delete _flutter.loader.didCreateEngineInitializer),typeof this._onEntrypointLoaded=="function"&&this._onEntrypointLoaded(e)}_loadJSEntrypoint(e,n,t){let r=typeof n=="function";if(!this._scriptLoaded){this._scriptLoaded=!0;let a=this._createScriptTag(e,t);if(r)console.debug("Injecting <script> tag. Using callback."),this._onEntrypointLoaded=n,document.head.append(a);else return new Promise((s,o)=>{console.debug("Injecting <script> tag. Using Promises. Use the callback approach instead!"),this._didCreateEngineInitializerResolve=s,a.addEventListener("error",o),document.head.append(a)})}}async _loadWasmEntrypoint(e,n,t,r){if(!this._scriptLoaded){this._scriptLoaded=!0,this._onEntrypointLoaded=r;let{mainWasmPath:a,jsSupportRuntimePath:s}=e,o=c(t,a),l=c(t,s);this._ttPolicy!=null&&(l=this._ttPolicy.createScriptURL(l));let d=(await import(l)).compileStreaming(fetch(o)),p;e.renderer==="skwasm"?p=(async()=>{let h=await n.skwasm;return window._flutter_skwasmInstance=h,{skwasm:h.wasmExports,skwasmWrapper:h,ffi:{memory:h.wasmMemory}}})():p=Promise.resolve({}),await(await(await d).instantiate(await p,{loadDynamicModule:async(h,j)=>{let A=fetch(c(t,h)),L=c(t,j);this._ttPolicy!=null&&(L=this._ttPolicy.createScriptURL(L));let x=import(L);return[await A,await x]}})).invokeMain()}}_createScriptTag(e,n){let t=document.createElement("script");t.type="application/javascript",n&&(t.nonce=n);let r=e;return this._ttPolicy!=null&&(r=this._ttPolicy.createScriptURL(e)),t.src=r,t}};async function T(i,e,n){if(e<0)return i;let t,r=new Promise((a,s)=>{t=setTimeout(()=>{s(new Error(`${n} took more than ${e}ms to resolve. Moving on.`,{cause:T}))},e)});return Promise.race([i,r]).finally(()=>{clearTimeout(t)})}var g=class{setTrustedTypesPolicy(e){this._ttPolicy=e}loadServiceWorker(e){if(!e||!("serviceWorker"in navigator))return Promise.resolve();let n=()=>{console.warn(`Loading the service worker using Flutter bootstrap is deprecated and will stop working in a future release.
|
|
2
|
+
For more details, see: https://github.com/flutter/flutter/issues/156910`)},t=()=>{let{serviceWorkerVersion:r,serviceWorkerUrl:a=c(`flutter_service_worker.js?v=${r}`),timeoutMillis:s=4e3}=e,o=a;this._ttPolicy!=null&&(o=this._ttPolicy.createScriptURL(o));let l=navigator.serviceWorker.register(o).then(u=>this._getNewServiceWorker(u,r)).then(this._waitForServiceWorkerActivation);return T(l,s,"prepareServiceWorker")};return e.serviceWorkerUrl!=null?(n(),t()):navigator.serviceWorker.getRegistration().then(r=>r?t():Promise.resolve())}async _getNewServiceWorker(e,n){if(!e.active&&(e.installing||e.waiting))return console.debug("Installing/Activating first service worker."),e.installing||e.waiting;if(e.active.scriptURL.endsWith(n))return console.debug("Loading from existing service worker."),e.active;{let t=await e.update();return console.debug("Updating service worker."),t.installing||t.waiting||t.active}}async _waitForServiceWorkerActivation(e){if(!e||e.state==="activated")if(e){console.debug("Service worker already active.");return}else throw new Error("Cannot activate a null service worker!");return new Promise((n,t)=>{e.addEventListener("statechange",()=>{e.state==="activated"&&(console.debug("Activated new service worker."),n())})})}};var y=class{constructor(e,n="flutter-js"){let t=e||[/\.js$/,/\.mjs$/];window.trustedTypes&&(this.policy=trustedTypes.createPolicy(n,{createScriptURL:function(r){if(r.startsWith("blob:"))return r;let a=new URL(r,window.location),s=a.pathname.split("/").pop();if(t.some(l=>l.test(s)))return a.toString();console.error("URL rejected by TrustedTypes policy",n,":",r,"(download prevented)")}}))}};var k=i=>{let e=WebAssembly.compileStreaming(fetch(i));return(n,t)=>((async()=>{let r=await e,a=await WebAssembly.instantiate(r,n);t(a,r)})(),{})};var U=(i,e,n,t)=>(window.flutterCanvasKitLoaded=(async()=>{if(window.flutterCanvasKit)return window.flutterCanvasKit;let r=n.hasChromiumBreakIterators&&n.hasImageCodecs;if(!r&&e.canvasKitVariant=="chromium")throw"Chromium CanvasKit variant specifically requested, but unsupported in this browser";let a=r&&e.canvasKitVariant!=="full",s=t;e.canvasKitVariant=="experimentalWebParagraph"?s=c(s,"experimental_webparagraph"):a&&(s=c(s,"chromium"));let o=c(s,"canvaskit.js");i.flutterTT.policy&&(o=i.flutterTT.policy.createScriptURL(o));let l=k(c(s,"canvaskit.wasm")),u=await import(o);return window.flutterCanvasKit=await u.default({instantiateWasm:l}),window.flutterCanvasKit})(),window.flutterCanvasKitLoaded);var W=async(i,e,n,t)=>{let a=!n.hasImageCodecs||!n.hasChromiumBreakIterators?"skwasm_heavy":e.enableWimp?"wimp":"skwasm",s=c(t,`${a}.js`),o=s;i.flutterTT.policy&&(o=i.flutterTT.policy.createScriptURL(o));let l=k(c(t,`${a}.wasm`));return await(await import(o)).default({skwasmSingleThreaded:e.enableWimp||!n.crossOriginIsolated||n.isChromeExtension||e.forceSingleThreadedSkwasm,instantiateWasm:l,locateFile:(d,p)=>d.endsWith(".ww.js")?URL.createObjectURL(new Blob([`
|
|
4
3
|
"use strict";
|
|
5
4
|
|
|
6
5
|
let eventListener;
|
|
@@ -28,16 +27,16 @@ eventListener = (message) => {
|
|
|
28
27
|
addEventListener("message", eventListener);
|
|
29
28
|
};
|
|
30
29
|
addEventListener("message", eventListener);
|
|
31
|
-
`],{type:"application/javascript"}))
|
|
30
|
+
`],{type:"application/javascript"})):c(t,d),mainScriptUrlOrBlob:s})};var P=w.supportsWasmGC,G=P&&w.webGLVersion>0,b=class{async loadEntrypoint(e){let{serviceWorker:n,...t}=e||{},r=new y,a=new g;a.setTrustedTypesPolicy(r.policy),await a.loadServiceWorker(n).catch(o=>{console.warn("Exception while loading service worker:",o)});let s=new v;return s.setTrustedTypesPolicy(r.policy),this.didCreateEngineInitializer=s.didCreateEngineInitializer.bind(s),s.loadEntrypoint(t)}async load({serviceWorkerSettings:e,onEntrypointLoaded:n,nonce:t,config:r}={}){r??={};let a=_flutter.buildConfig;if(!a)throw"FlutterLoader.load requires _flutter.buildConfig to be set";let s=r.wasmAllowList?.[w.browserEngine]??_[w.browserEngine],o=m=>{switch(m){case"skwasm":return G&&s;default:return!0}},l=m=>m.compileTarget==="dart2wasm"&&!P||r.renderer&&r.renderer!=m.renderer?!1:o(m.renderer),u=a.builds.find(l);if(!u)throw"FlutterLoader could not find a build compatible with configuration and environment.";let d={};d.flutterTT=new y,e&&(d.serviceWorkerLoader=new g,d.serviceWorkerLoader.setTrustedTypesPolicy(d.flutterTT.policy),await d.serviceWorkerLoader.loadServiceWorker(e).catch(m=>{console.warn("Exception while loading service worker:",m)}));let p=E(r,a);u.renderer==="canvaskit"?d.canvasKit=U(d,r,w,p):u.renderer==="skwasm"&&(d.skwasm=W(d,r,w,p));let f=new v;return f.setTrustedTypesPolicy(d.flutterTT.policy),this.didCreateEngineInitializer=f.didCreateEngineInitializer.bind(f),f.load(u,d,r,t,n)}};window._flutter||(window._flutter={});window._flutter.loader||(window._flutter.loader=new b);})();
|
|
32
31
|
//# sourceMappingURL=flutter.js.map
|
|
33
32
|
|
|
34
33
|
if (!window._flutter) {
|
|
35
34
|
window._flutter = {};
|
|
36
35
|
}
|
|
37
|
-
_flutter.buildConfig = {"engineRevision":"
|
|
36
|
+
_flutter.buildConfig = {"engineRevision":"052f31d115eceda8cbff1b3481fcde4330c4ae12","builds":[{"compileTarget":"dart2js","renderer":"canvaskit","mainJsPath":"main.dart.js"},{}]};
|
|
38
37
|
|
|
39
38
|
_flutter.loader.load({
|
|
40
39
|
serviceWorkerSettings: {
|
|
41
|
-
serviceWorkerVersion: "
|
|
40
|
+
serviceWorkerVersion: "184766774" /* Flutter's service worker is deprecated and will be removed in a future Flutter release. */
|
|
42
41
|
}
|
|
43
42
|
});
|
|
@@ -1,208 +1,31 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
const MANIFEST = 'flutter-app-manifest';
|
|
3
|
-
const TEMP = 'flutter-temp-cache';
|
|
4
|
-
const CACHE_NAME = 'flutter-app-cache';
|
|
5
2
|
|
|
6
|
-
|
|
7
|
-
"version.json": "5cd50674fd5bd1680182437707286956",
|
|
8
|
-
"index.html": "c6026df92040740dc4b2e49737bd546d",
|
|
9
|
-
"/": "c6026df92040740dc4b2e49737bd546d",
|
|
10
|
-
"main.dart.js": "c6d8a41cd9656ae915d3ae18bb0fd5d2",
|
|
11
|
-
"flutter.js": "888483df48293866f9f41d3d9274a779",
|
|
12
|
-
"favicon.png": "5dcef449791fa27946b3d35ad8803796",
|
|
13
|
-
"icons/Icon-192.png": "ac9a721a12bbc803b44f645561ecb1e1",
|
|
14
|
-
"icons/Icon-maskable-192.png": "c457ef57daa1d16f64b27b786ec2ea3c",
|
|
15
|
-
"icons/Icon-maskable-512.png": "301a7604d45b3e739efc881eb04896ea",
|
|
16
|
-
"icons/Icon-512.png": "96e752610906ba2a93c65f8abe1645f1",
|
|
17
|
-
"manifest.json": "d514f8ffe3832613f318d85210084acc",
|
|
18
|
-
"assets/web/icons/Icon-192.png": "ac9a721a12bbc803b44f645561ecb1e1",
|
|
19
|
-
"assets/AssetManifest.json": "a47d7432a2fc5bf5775dd36f80403e46",
|
|
20
|
-
"assets/NOTICES": "3fd5d0631e7a74af218563dfaee016fc",
|
|
21
|
-
"assets/FontManifest.json": "dc3d03800ccca4601324923c0b1d6d57",
|
|
22
|
-
"assets/AssetManifest.bin.json": "6e5bc4955c98fec56d9af1a3771d6b53",
|
|
23
|
-
"assets/packages/cupertino_icons/assets/CupertinoIcons.ttf": "33b7d9392238c04c131b6ce224e13711",
|
|
24
|
-
"assets/shaders/ink_sparkle.frag": "ecc85a2e95f5e9f53123dcaf8cb9b6ce",
|
|
25
|
-
"assets/AssetManifest.bin": "043ee3255038dd195838ff1c8d2f68c2",
|
|
26
|
-
"assets/fonts/MaterialIcons-Regular.otf": "f6c131e34f46e877bdc127d3a1182c96",
|
|
27
|
-
"canvaskit/skwasm.js": "1ef3ea3a0fec4569e5d531da25f34095",
|
|
28
|
-
"canvaskit/skwasm_heavy.js": "413f5b2b2d9345f37de148e2544f584f",
|
|
29
|
-
"canvaskit/skwasm.js.symbols": "0088242d10d7e7d6d2649d1fe1bda7c1",
|
|
30
|
-
"canvaskit/canvaskit.js.symbols": "58832fbed59e00d2190aa295c4d70360",
|
|
31
|
-
"canvaskit/skwasm_heavy.js.symbols": "3c01ec03b5de6d62c34e17014d1decd3",
|
|
32
|
-
"canvaskit/skwasm.wasm": "264db41426307cfc7fa44b95a7772109",
|
|
33
|
-
"canvaskit/chromium/canvaskit.js.symbols": "193deaca1a1424049326d4a91ad1d88d",
|
|
34
|
-
"canvaskit/chromium/canvaskit.js": "5e27aae346eee469027c80af0751d53d",
|
|
35
|
-
"canvaskit/chromium/canvaskit.wasm": "24c77e750a7fa6d474198905249ff506",
|
|
36
|
-
"canvaskit/canvaskit.js": "140ccb7d34d0a55065fbd422b843add6",
|
|
37
|
-
"canvaskit/canvaskit.wasm": "07b9f5853202304d3b0749d9306573cc",
|
|
38
|
-
"canvaskit/skwasm_heavy.wasm": "8034ad26ba2485dab2fd49bdd786837b"};
|
|
39
|
-
// The application shell files that are downloaded before a service worker can
|
|
40
|
-
// start.
|
|
41
|
-
const CORE = ["main.dart.js",
|
|
42
|
-
"index.html",
|
|
43
|
-
"flutter_bootstrap.js",
|
|
44
|
-
"assets/AssetManifest.bin.json",
|
|
45
|
-
"assets/FontManifest.json"];
|
|
46
|
-
|
|
47
|
-
// During install, the TEMP cache is populated with the application shell files.
|
|
48
|
-
self.addEventListener("install", (event) => {
|
|
3
|
+
self.addEventListener('install', () => {
|
|
49
4
|
self.skipWaiting();
|
|
50
|
-
return event.waitUntil(
|
|
51
|
-
caches.open(TEMP).then((cache) => {
|
|
52
|
-
return cache.addAll(
|
|
53
|
-
CORE.map((value) => new Request(value, {'cache': 'reload'})));
|
|
54
|
-
})
|
|
55
|
-
);
|
|
56
5
|
});
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
var manifestCache = await caches.open(MANIFEST);
|
|
66
|
-
var manifest = await manifestCache.match('manifest');
|
|
67
|
-
// When there is no prior manifest, clear the entire cache.
|
|
68
|
-
if (!manifest) {
|
|
69
|
-
await caches.delete(CACHE_NAME);
|
|
70
|
-
contentCache = await caches.open(CACHE_NAME);
|
|
71
|
-
for (var request of await tempCache.keys()) {
|
|
72
|
-
var response = await tempCache.match(request);
|
|
73
|
-
await contentCache.put(request, response);
|
|
74
|
-
}
|
|
75
|
-
await caches.delete(TEMP);
|
|
76
|
-
// Save the manifest to make future upgrades efficient.
|
|
77
|
-
await manifestCache.put('manifest', new Response(JSON.stringify(RESOURCES)));
|
|
78
|
-
// Claim client to enable caching on first launch
|
|
79
|
-
self.clients.claim();
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
var oldManifest = await manifest.json();
|
|
83
|
-
var origin = self.location.origin;
|
|
84
|
-
for (var request of await contentCache.keys()) {
|
|
85
|
-
var key = request.url.substring(origin.length + 1);
|
|
86
|
-
if (key == "") {
|
|
87
|
-
key = "/";
|
|
88
|
-
}
|
|
89
|
-
// If a resource from the old manifest is not in the new cache, or if
|
|
90
|
-
// the MD5 sum has changed, delete it. Otherwise the resource is left
|
|
91
|
-
// in the cache and can be reused by the new service worker.
|
|
92
|
-
if (!RESOURCES[key] || RESOURCES[key] != oldManifest[key]) {
|
|
93
|
-
await contentCache.delete(request);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
// Populate the cache with the app shell TEMP files, potentially overwriting
|
|
97
|
-
// cache files preserved above.
|
|
98
|
-
for (var request of await tempCache.keys()) {
|
|
99
|
-
var response = await tempCache.match(request);
|
|
100
|
-
await contentCache.put(request, response);
|
|
6
|
+
|
|
7
|
+
self.addEventListener('activate', (event) => {
|
|
8
|
+
event.waitUntil(
|
|
9
|
+
(async () => {
|
|
10
|
+
try {
|
|
11
|
+
await self.registration.unregister();
|
|
12
|
+
} catch (e) {
|
|
13
|
+
console.warn('Failed to unregister the service worker:', e);
|
|
101
14
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
self.clients.claim();
|
|
107
|
-
return;
|
|
108
|
-
} catch (err) {
|
|
109
|
-
// On an unhandled exception the state of the cache cannot be guaranteed.
|
|
110
|
-
console.error('Failed to upgrade service worker: ' + err);
|
|
111
|
-
await caches.delete(CACHE_NAME);
|
|
112
|
-
await caches.delete(TEMP);
|
|
113
|
-
await caches.delete(MANIFEST);
|
|
114
|
-
}
|
|
115
|
-
}());
|
|
116
|
-
});
|
|
117
|
-
// The fetch handler redirects requests for RESOURCE files to the service
|
|
118
|
-
// worker cache.
|
|
119
|
-
self.addEventListener("fetch", (event) => {
|
|
120
|
-
if (event.request.method !== 'GET') {
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
var origin = self.location.origin;
|
|
124
|
-
var key = event.request.url.substring(origin.length + 1);
|
|
125
|
-
// Redirect URLs to the index.html
|
|
126
|
-
if (key.indexOf('?v=') != -1) {
|
|
127
|
-
key = key.split('?v=')[0];
|
|
128
|
-
}
|
|
129
|
-
if (event.request.url == origin || event.request.url.startsWith(origin + '/#') || key == '') {
|
|
130
|
-
key = '/';
|
|
131
|
-
}
|
|
132
|
-
// If the URL is not the RESOURCE list then return to signal that the
|
|
133
|
-
// browser should take over.
|
|
134
|
-
if (!RESOURCES[key]) {
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
// If the URL is the index.html, perform an online-first request.
|
|
138
|
-
if (key == '/') {
|
|
139
|
-
return onlineFirst(event);
|
|
140
|
-
}
|
|
141
|
-
event.respondWith(caches.open(CACHE_NAME)
|
|
142
|
-
.then((cache) => {
|
|
143
|
-
return cache.match(event.request).then((response) => {
|
|
144
|
-
// Either respond with the cached resource, or perform a fetch and
|
|
145
|
-
// lazily populate the cache only if the resource was successfully fetched.
|
|
146
|
-
return response || fetch(event.request).then((response) => {
|
|
147
|
-
if (response && Boolean(response.ok)) {
|
|
148
|
-
cache.put(event.request, response.clone());
|
|
149
|
-
}
|
|
150
|
-
return response;
|
|
15
|
+
|
|
16
|
+
try {
|
|
17
|
+
const clients = await self.clients.matchAll({
|
|
18
|
+
type: 'window',
|
|
151
19
|
});
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
self.addEventListener('message', (event) => {
|
|
157
|
-
// SkipWaiting can be used to immediately activate a waiting service worker.
|
|
158
|
-
// This will also require a page refresh triggered by the main worker.
|
|
159
|
-
if (event.data === 'skipWaiting') {
|
|
160
|
-
self.skipWaiting();
|
|
161
|
-
return;
|
|
162
|
-
}
|
|
163
|
-
if (event.data === 'downloadOffline') {
|
|
164
|
-
downloadOffline();
|
|
165
|
-
return;
|
|
166
|
-
}
|
|
167
|
-
});
|
|
168
|
-
// Download offline will check the RESOURCES for all files not in the cache
|
|
169
|
-
// and populate them.
|
|
170
|
-
async function downloadOffline() {
|
|
171
|
-
var resources = [];
|
|
172
|
-
var contentCache = await caches.open(CACHE_NAME);
|
|
173
|
-
var currentContent = {};
|
|
174
|
-
for (var request of await contentCache.keys()) {
|
|
175
|
-
var key = request.url.substring(origin.length + 1);
|
|
176
|
-
if (key == "") {
|
|
177
|
-
key = "/";
|
|
178
|
-
}
|
|
179
|
-
currentContent[key] = true;
|
|
180
|
-
}
|
|
181
|
-
for (var resourceKey of Object.keys(RESOURCES)) {
|
|
182
|
-
if (!currentContent[resourceKey]) {
|
|
183
|
-
resources.push(resourceKey);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
return contentCache.addAll(resources);
|
|
187
|
-
}
|
|
188
|
-
// Attempt to download the resource online before falling back to
|
|
189
|
-
// the offline cache.
|
|
190
|
-
function onlineFirst(event) {
|
|
191
|
-
return event.respondWith(
|
|
192
|
-
fetch(event.request).then((response) => {
|
|
193
|
-
return caches.open(CACHE_NAME).then((cache) => {
|
|
194
|
-
cache.put(event.request, response.clone());
|
|
195
|
-
return response;
|
|
196
|
-
});
|
|
197
|
-
}).catch((error) => {
|
|
198
|
-
return caches.open(CACHE_NAME).then((cache) => {
|
|
199
|
-
return cache.match(event.request).then((response) => {
|
|
200
|
-
if (response != null) {
|
|
201
|
-
return response;
|
|
20
|
+
// Reload clients to ensure they are not using the old service worker.
|
|
21
|
+
clients.forEach((client) => {
|
|
22
|
+
if (client.url && 'navigate' in client) {
|
|
23
|
+
client.navigate(client.url);
|
|
202
24
|
}
|
|
203
|
-
throw error;
|
|
204
25
|
});
|
|
205
|
-
})
|
|
206
|
-
|
|
26
|
+
} catch (e) {
|
|
27
|
+
console.warn('Failed to navigate some service worker clients:', e);
|
|
28
|
+
}
|
|
29
|
+
})()
|
|
207
30
|
);
|
|
208
|
-
}
|
|
31
|
+
});
|
package/server/public/index.html
CHANGED