archy/demo/aiui/sw.js
Dorian 825d082003 feat: add Ollama (local AI) integration for AIUI
- Create Ollama provider plugin in AIUI (ollama-provider.ts)
- Register Ollama alongside Claude in plugin system
- Auto-detect installed models via /api/tags endpoint
- Add Ollama proxy in mock backend (forwards to localhost:11434)
- Add nginx proxy rules for /aiui/api/ollama/ (both HTTP and HTTPS)
- Rebuild AIUI dist with Ollama provider included
- Qwen 2.5 Coder 3B installed on dev server via Ollama

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 01:48:23 +00:00

2 lines
7.4 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

if(!self.define){let s,e={};const i=(i,l)=>(i=new URL(i+".js",l).href,e[i]||new Promise(e=>{if("document"in self){const s=document.createElement("script");s.src=i,s.onload=e,document.head.appendChild(s)}else s=i,importScripts(i),e()}).then(()=>{let s=e[i];if(!s)throw new Error(`Module ${i} didnt register its module`);return s}));self.define=(l,n)=>{const r=s||("document"in self?document.currentScript.src:"")||location.href;if(e[r])return;let a={};const u=s=>i(s,r),t={module:{uri:r},exports:a,require:u};e[r]=Promise.all(l.map(s=>t[s]||u(s))).then(s=>(n(...s),a))}}define(["./workbox-3c177d20"],function(s){"use strict";self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"registerSW.js",revision:"c492f944af160ee2e9a237c509dd270a"},{url:"index.html",revision:"e355f3654b53e70c3ac3efd0ca7b9604"},{url:"icon.svg",revision:"dba94027bbb3b869c0ebf9b6beee1953"},{url:"favicon.svg",revision:"72e74ad8f660d9400c34fa69912b94a3"},{url:"images/loading-poster.svg",revision:"97c56238c72450e4953e1d7db2f6e8e6"},{url:"assets/xychartDiagram-PRI3JC2R-BPRLFZFO.js",revision:null},{url:"assets/wikipedia-BNDKhpH7.js",revision:null},{url:"assets/useNostr-BqBiQvAw.js",revision:null},{url:"assets/useContentImages-6RAIPaCD.js",revision:null},{url:"assets/treemap-GDKQZRPO-BONrJn_M.js",revision:null},{url:"assets/timeline-definition-IT6M3QCI-YZ3E6G6Y.js",revision:null},{url:"assets/stateDiagram-v2-4FDKWEC3-DU4WuvUX.js",revision:null},{url:"assets/stateDiagram-FKZM4ZOC-0gnLENSy.js",revision:null},{url:"assets/song-renderer-Dfxndu0u.js",revision:null},{url:"assets/sequenceDiagram-WL72ISMW-vl_Vi7FC.js",revision:null},{url:"assets/seedPrompts-CLWaUv28.js",revision:null},{url:"assets/sankeyDiagram-TZEHDZUN-BvbSnReE.js",revision:null},{url:"assets/requirementDiagram-UZGBJVZJ-rvSNaNad.js",revision:null},{url:"assets/quadrantDiagram-AYHSOK5B-YXz0Sctj.js",revision:null},{url:"assets/pieDiagram-ADFJNKIX-Dpk_NNhH.js",revision:null},{url:"assets/ordinal-Cboi1Yqb.js",revision:null},{url:"assets/openlibrary-B8IPeH2e.js",revision:null},{url:"assets/ollama-provider-Ck1Tq0Ld.js",revision:null},{url:"assets/nodeDemoPrompts-DjnuaxJP.js",revision:null},{url:"assets/mindmap-definition-VGOIOE7T-CiQvifpn.js",revision:null},{url:"assets/mermaid.core-CJYA4M6R.js",revision:null},{url:"assets/linear-C8gXlzKZ.js",revision:null},{url:"assets/layout-B8BsJCKz.js",revision:null},{url:"assets/katex.min-CASE1JAf.css",revision:null},{url:"assets/katex-DGN8GczM.js",revision:null},{url:"assets/kanban-definition-3W4ZIXB7-3dSnDyOU.js",revision:null},{url:"assets/journeyDiagram-XKPGCS4Q-CJKi1fxm.js",revision:null},{url:"assets/init-Gi6I4Gst.js",revision:null},{url:"assets/infoDiagram-HS3SLOUP-D93ErRbW.js",revision:null},{url:"assets/index-BNvE9-tw.css",revision:null},{url:"assets/index-BD9qoze1.js",revision:null},{url:"assets/guideConversation-BYC5cBFP.js",revision:null},{url:"assets/graph-C_AQVES1.js",revision:null},{url:"assets/gitGraphDiagram-V2S2FVAM-C2LeaeGP.js",revision:null},{url:"assets/ganttDiagram-JELNMOA3-q91xyu3J.js",revision:null},{url:"assets/freeFilms-B9DmMKj5.js",revision:null},{url:"assets/flowDiagram-NV44I4VS-BvN4KeD9.js",revision:null},{url:"assets/film-renderer-CYpVwNyR.js",revision:null},{url:"assets/erDiagram-Q2GNP2WA-Br6HCsXp.js",revision:null},{url:"assets/diagram-S2PKOQOG-DfTOlz3T.js",revision:null},{url:"assets/diagram-QEK2KX5R-DWcBhw56.js",revision:null},{url:"assets/diagram-PSM6KHXK-pv0hhM2l.js",revision:null},{url:"assets/defaultLocale-DX6XiGOO.js",revision:null},{url:"assets/dagre-6UL2VRFP-Ci6pJcPb.js",revision:null},{url:"assets/cytoscape.esm-5J0xJHOV.js",revision:null},{url:"assets/cose-bilkent-S5V4N54A-6ucfRUG4.js",revision:null},{url:"assets/clone-DL4hXkhl.js",revision:null},{url:"assets/claude-provider-DbzPoW6j.js",revision:null},{url:"assets/classDiagram-v2-WZHVMYZB-CKu6zgYo.js",revision:null},{url:"assets/classDiagram-2ON5EDUG-CKu6zgYo.js",revision:null},{url:"assets/chunk-TZMSLE5B-C0gW3zRh.js",revision:null},{url:"assets/chunk-QZHKN3VN-DitCa0ck.js",revision:null},{url:"assets/chunk-QN33PNHL-__41nI0P.js",revision:null},{url:"assets/chunk-FMBD7UC4-BW8Xs0oO.js",revision:null},{url:"assets/chunk-DI55MBZ5-BH9hZRf0.js",revision:null},{url:"assets/chunk-B4BG7PRW-BQav9PdJ.js",revision:null},{url:"assets/chunk-55IACEB6-BkuxEf4w.js",revision:null},{url:"assets/chunk-4BX2VUAB-C5nXGAHj.js",revision:null},{url:"assets/chat-Dx-Dx0vd.js",revision:null},{url:"assets/channel-DmBfoHPu.js",revision:null},{url:"assets/c4Diagram-YG6GDRKO-C-brKlkJ.js",revision:null},{url:"assets/blockDiagram-VD42YOAC-Bn0u4W1G.js",revision:null},{url:"assets/architectureDiagram-VXUJARFQ-DmRrQAYq.js",revision:null},{url:"assets/arc-DDmIlb_Y.js",revision:null},{url:"assets/_baseUniq-Bk6YzBdk.js",revision:null},{url:"assets/_basePickBy-DwJ1pklu.js",revision:null},{url:"assets/WidgetDemoPage-Iclrl_KC.js",revision:null},{url:"assets/WidgetDemoPage-BSWX2CxO.css",revision:null},{url:"assets/ThreadNode-DaJ9aByD.js",revision:null},{url:"assets/SongGrid.vue_vue_type_script_setup_true_lang-BOXkLn09.js",revision:null},{url:"assets/SongGrid-BN4Zarxz.js",revision:null},{url:"assets/SongDetail.vue_vue_type_script_setup_true_lang-BGRNHJco.js",revision:null},{url:"assets/SongDetail-YK-Le0Qq.js",revision:null},{url:"assets/GuidePage-BvYaLEzG.css",revision:null},{url:"assets/GuidePage-B_OyAhui.js",revision:null},{url:"assets/FilmGrid.vue_vue_type_script_setup_true_lang-Cv6-zNyf.js",revision:null},{url:"assets/FilmGrid-Bxr1_fiQ.js",revision:null},{url:"assets/FilmDetail.vue_vue_type_script_setup_true_lang-BOBGVwtd.js",revision:null},{url:"assets/FilmDetail-B2H0Z1e1.js",revision:null},{url:"assets/ConversationViewerPage-DWC47yHz.js",revision:null},{url:"assets/ChatWindow.vue_vue_type_script_setup_true_lang-DK0BUVLp.js",revision:null},{url:"assets/ChatWindow-CwFp9jEi.css",revision:null},{url:"assets/ChatPage-DTwFPy-s.js",revision:null},{url:"assets/ChatPage-CA2cZZjS.css",revision:null},{url:"assets/BrowsePage-Au6xU1sq.js",revision:null},{url:"assets/icons/microphone.svg",revision:null},{url:"apple-touch-icon-180x180.png",revision:"7c24333289dd2af70268ed3018b06188"},{url:"favicon.svg",revision:"72e74ad8f660d9400c34fa69912b94a3"},{url:"icon.svg",revision:"dba94027bbb3b869c0ebf9b6beee1953"},{url:"pwa-192x192.png",revision:"b808488f273b70ad731254043774b56f"},{url:"pwa-512x512.png",revision:"93c28a922e11a852a2ff9c277dc60037"},{url:"manifest.webmanifest",revision:"28fc12e11969e378feb1aaa569dafb80"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("index.html"))),s.registerRoute(/^https:\/\/api\.anthropic\.com\/.*/i,new s.NetworkOnly,"GET"),s.registerRoute(/^https:\/\/openrouter\.ai\/.*/i,new s.NetworkOnly,"GET"),s.registerRoute(/\/api\/web-search\?.*/i,new s.NetworkOnly,"GET"),s.registerRoute(/\/api\/rss-articles\?.*/i,new s.NetworkOnly,"GET"),s.registerRoute(/\/api\/tmdb\/.*/i,new s.StaleWhileRevalidate({cacheName:"tmdb-cache",plugins:[new s.ExpirationPlugin({maxEntries:200,maxAgeSeconds:86400})]}),"GET"),s.registerRoute(/^https:\/\/image\.tmdb\.org\/.*/i,new s.CacheFirst({cacheName:"tmdb-images",plugins:[new s.ExpirationPlugin({maxEntries:500,maxAgeSeconds:604800})]}),"GET"),s.registerRoute(/^https:\/\/upload\.wikimedia\.org\/.*/i,new s.CacheFirst({cacheName:"wiki-images",plugins:[new s.ExpirationPlugin({maxEntries:200,maxAgeSeconds:604800})]}),"GET"),s.registerRoute(/^https:\/\/d12wklypp119aj\.cloudfront\.net\/image\/.*/i,new s.CacheFirst({cacheName:"wavlake-images",plugins:[new s.ExpirationPlugin({maxEntries:300,maxAgeSeconds:604800})]}),"GET")});