pisper 0.6.4 → 0.6.5

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 (95) hide show
  1. package/package.json +6 -6
  2. package/web/.vite/manifest.json +315 -377
  3. package/web/assets/{AppDialog-BOGrPFbo.js → AppDialog-DW5knado.js} +1 -1
  4. package/web/assets/{AppOverlays-D1vfPPIC.js → AppOverlays-Bp8RcUF5.js} +1 -1
  5. package/web/assets/AppSelect-D149YYg1.js +1 -0
  6. package/web/assets/{AppShortcuts-Dd4gu7qz.js → AppShortcuts-D1jjdZDS.js} +1 -1
  7. package/web/assets/{AssetsPage-BPhPo5eU.js → AssetsPage-C7AlHS3s.js} +1 -1
  8. package/web/assets/{ChannelsPage-Cu4v-GU2.js → ChannelsPage-BJltcbA8.js} +1 -1
  9. package/web/assets/ChatAppearancePage-BXvAK8yY.js +2 -0
  10. package/web/assets/{ChatHistoryPage-BYqJFbY5.js → ChatHistoryPage-D3fm9Tw9.js} +1 -1
  11. package/web/assets/ChatPage-BFJm1sNL.js +554 -0
  12. package/web/assets/{ConfigPage-Z-BQwP2X.js → ConfigPage-DLgNJdgQ.js} +1 -1
  13. package/web/assets/{DecisionsPage-Db6MIGD2.js → DecisionsPage-57a_ZuRk.js} +1 -1
  14. package/web/assets/{DesktopWindowControls-CBYGv94u.js → DesktopWindowControls-xHry1hUJ.js} +1 -1
  15. package/web/assets/{FloatingWidgets-dzsQIxAO.js → FloatingWidgets-CJQjpX-U.js} +1 -1
  16. package/web/assets/{GitDiffViewer-m5aLB7Li.js → GitDiffViewer-91SrTCWo.js} +1 -1
  17. package/web/assets/{MarkdownMessage-CA9ODRKk.js → MarkdownMessage-DeTzbwid.js} +1 -1
  18. package/web/assets/{McpPage-rerFxjYZ.js → McpPage-CTJ_aKOo.js} +1 -1
  19. package/web/assets/{MemoryPage-cukfU824.js → MemoryPage-DRTc4YT9.js} +1 -1
  20. package/web/assets/MobileContextScreen-CnaR6ssx.js +2 -0
  21. package/web/assets/{MobileNavigation-CEVgs1Ke.js → MobileNavigation-Cw7L9pSg.js} +1 -1
  22. package/web/assets/{PageHeader-DIs9bESb.js → PageHeader-B2qhKXvC.js} +1 -1
  23. package/web/assets/{PluginsPage-09Um3mY4.js → PluginsPage-DVCWLVRB.js} +1 -1
  24. package/web/assets/{QuickPromptIdeas-DGIL0nN7.js → QuickPromptIdeas-xQFMgSGF.js} +1 -1
  25. package/web/assets/{SchedulesPage-C75QUeB5.js → SchedulesPage-B_YjdfoV.js} +1 -1
  26. package/web/assets/SessionContextPanel-BwHEDkJE.js +1 -0
  27. package/web/assets/{SessionFilesPane-DPijesqH.js → SessionFilesPane-CUhqwp87.js} +2 -2
  28. package/web/assets/{SidebarMoreTools-D1nDS3i0.js → SidebarMoreTools-BHJuLoCs.js} +1 -1
  29. package/web/assets/SidebarRecentSessions-CVIFZ66b.js +2 -0
  30. package/web/assets/{SidebarSettingsButton-CRdV0Vft.js → SidebarSettingsButton-5N0RlmoI.js} +1 -1
  31. package/web/assets/{SidebarUpdateStatus-DgNJBwgT.js → SidebarUpdateStatus-CVxo4zaS.js} +1 -1
  32. package/web/assets/{SkillsPage-DLirgTyX.js → SkillsPage-KsP2YFgx.js} +1 -1
  33. package/web/assets/{TerminalPanel-CJPy4Qhs.js → TerminalPanel-PK0ubUYF.js} +1 -1
  34. package/web/assets/{ThemeToggleButton-C5QA5Kf2.js → ThemeToggleButton-BFby07PX.js} +1 -1
  35. package/web/assets/{WebDesktopPet-DgyHLE9y.js → WebDesktopPet-juirMq3L.js} +1 -1
  36. package/web/assets/{WorkbenchSidebarToggle-CcO1Al5A.js → WorkbenchSidebarToggle-B-YDZEZn.js} +1 -1
  37. package/web/assets/WorkflowsPage-Bsw_TnA6.js +1 -0
  38. package/web/assets/WorkspacePicker-CDJPgjpW.js +1 -0
  39. package/web/assets/{api-YI8_cHpR.js → api-DmuPqjXK.js} +1 -1
  40. package/web/assets/{app-primitives-SxfoFmHc.js → app-primitives-BBXY6U2S.js} +1 -1
  41. package/web/assets/catalog-Cs8cjmnr.js +1 -0
  42. package/web/assets/{chat-api-CqF-FICX.js → chat-api-cEcUMaNX.js} +1 -1
  43. package/web/assets/{client-store-BP_3-plw.js → client-store-CV7NgPf7.js} +1 -1
  44. package/web/assets/{component-api-CN9Tcn5p.js → component-api-guxJtKAP.js} +1 -1
  45. package/web/assets/{config-search-DOIJENN1.js → config-search-DzgcCirf.js} +1 -1
  46. package/web/assets/dist-DAs5KRGl.js +1 -0
  47. package/web/assets/dist-swnK7PHk.js +1 -0
  48. package/web/assets/{dropdown-menu-pKRdLJUe.js → dropdown-menu-DmL4pJTo.js} +1 -1
  49. package/web/assets/{events-KqdUtjsm.js → events-DjkpUZEu.js} +1 -1
  50. package/web/assets/{floating-widgets-store-Pjm1AdvO.js → floating-widgets-store-C3frcaki.js} +2 -2
  51. package/web/assets/{http-Be2GB6DH.js → http-C4bTWPzF.js} +1 -1
  52. package/web/assets/i18n-DKgrgj0w.js +1 -0
  53. package/web/assets/index-DJAtBVyc.css +2 -0
  54. package/web/assets/{index-AF29hfx9.js → index-Dm1UDg72.js} +2 -2
  55. package/web/assets/mount-app-Brtj-l-d.js +9 -0
  56. package/web/assets/panels-top-left-K8n2CefH.js +1 -0
  57. package/web/assets/{popover-CQqAaq-c.js → popover-BgmMy1PJ.js} +1 -1
  58. package/web/assets/public-BDXsCmtv.js +1 -0
  59. package/web/assets/{public-components-C4ndcOCF.js → public-components-w2PENGYg.js} +1 -1
  60. package/web/assets/{runtime-capabilities-store-CiL3ZPEo.js → runtime-capabilities-store-1N8axw9r.js} +1 -1
  61. package/web/assets/{session-change-summary-api--7cl4LDn.js → session-change-summary-api-BQILNzT4.js} +1 -1
  62. package/web/assets/{session-context-store-DJnHgWwb.js → session-context-store-DQHmNaRN.js} +1 -1
  63. package/web/assets/{session-list-DkNhT87s.js → session-list-JA31_Ff4.js} +1 -1
  64. package/web/assets/{settings-navigation-CI7Yt4Or.js → settings-navigation-dqR4yOPY.js} +1 -1
  65. package/web/assets/{shortcuts-C_Cph88H.js → shortcuts-CAX2SVZi.js} +1 -1
  66. package/web/assets/{side-chat-context-Dn8w9ut8.js → side-chat-context-B0oP2eS-.js} +2 -2
  67. package/web/assets/{speech-session-CoUr4n9Q.js → speech-session-C-vI4YXQ.js} +1 -1
  68. package/web/assets/{startup-queries-ByepQfGF.js → startup-queries-Ci3kCPI9.js} +1 -1
  69. package/web/assets/tabs-DQYVDdOp.js +1 -0
  70. package/web/assets/{ui-store-BGs-dEVz.js → ui-store-DLloh4Rv.js} +1 -1
  71. package/web/assets/{use-i18n-a84Zp9dV.js → use-i18n-C7st2Mx5.js} +1 -1
  72. package/web/assets/{useCustomUiComponents-BaQ_fwbr.js → useCustomUiComponents-B5fflBrn.js} +1 -1
  73. package/web/index.html +2 -2
  74. package/web/assets/AppSelect-BCexz4Ty.js +0 -1
  75. package/web/assets/ChatAppearancePage-BLRQ7aH6.js +0 -2
  76. package/web/assets/ChatPage-tqAIj2Go.js +0 -554
  77. package/web/assets/MobileContextScreen-W8V4H3Xv.js +0 -2
  78. package/web/assets/SessionContextPanel-oaKXyi7k.js +0 -1
  79. package/web/assets/SidebarRecentSessions-a7z2ZvDv.js +0 -2
  80. package/web/assets/WorkflowsPage-DrKHzJvb.js +0 -1
  81. package/web/assets/WorkspacePicker-B3liZkwe.js +0 -1
  82. package/web/assets/arrow-up-DST6-qVQ.js +0 -1
  83. package/web/assets/catalog-BPCnu3F8.js +0 -1
  84. package/web/assets/dist-B7rNRXig.js +0 -1
  85. package/web/assets/dist-C3P9WH0T.js +0 -1
  86. package/web/assets/dist-CXiO_DNx.js +0 -1
  87. package/web/assets/dist-D8Wfxh48.js +0 -1
  88. package/web/assets/folder-DPM8D8cf.js +0 -1
  89. package/web/assets/house-BNrzTkx9.js +0 -1
  90. package/web/assets/i18n-8nTnthu6.js +0 -1
  91. package/web/assets/index-BAmsg90v.css +0 -2
  92. package/web/assets/mount-app-WW5hteuX.js +0 -9
  93. package/web/assets/panels-top-left-BlZftvhg.js +0 -1
  94. package/web/assets/public-c36e4881.js +0 -1
  95. package/web/assets/tabs-B60r4YwO.js +0 -1
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/component-api-CN9Tcn5p.js","assets/http-Be2GB6DH.js","assets/vendor-router-CZg2bCPV.js","assets/rolldown-runtime-B0Z9INg1.js","assets/vendor-react-DwNgTV1j.js","assets/i18n-8nTnthu6.js","assets/index-AF29hfx9.js","assets/index-BAmsg90v.css","assets/storage-BpAqa-YY.js","assets/abort-signal-f4JsiYKX.js","assets/sprite-engine-catalog-D1HQWa1X.js"])))=>i.map(i=>d[i]);
2
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{p as t}from"./vendor-router-CZg2bCPV.js";import{t as n}from"./index-AF29hfx9.js";import{i as r,r as i}from"./vendor-react-DwNgTV1j.js";import{u as a}from"./i18n-8nTnthu6.js";import{t as o}from"./use-i18n-a84Zp9dV.js";import{a as s,o as c}from"./vendor-state-GkUciC5H.js";import{t as l}from"./utils-C8uzG5AZ.js";import{t as u}from"./api-YI8_cHpR.js";import{t as d}from"./button-CQA36izu.js";import{a as f,n as p,o as m}from"./useCustomUiComponents-BaQ_fwbr.js";var h=e(r(),1),g=`--bg.--panel.--solid.--surface-subtle.--surface-muted.--surface-hover.--stroke.--stroke-soft.--stroke-hover.--text.--text-soft.--text-secondary.--text-muted.--brand-blue.--brand-blue-soft.--brand-blue-border.--accent-soft.--accent-strong.--accent-border.--star-strong.--on-accent.--success.--success-soft.--danger.--danger-soft.--warning-strong.--warning-soft.--focus.--r-sm.--r-md.--r-lg`.split(`.`);function _(){let e=document.documentElement,t=getComputedStyle(e),n={};for(let e of g){let r=t.getPropertyValue(e).trim();r&&(n[e]=r)}return{mode:e.classList.contains(`dark`)?`dark`:`light`,variables:n}}var v={getConfig:`config.read`,listSessions:`sessions.read`,notify:`notify`,"gameAssets.list":`game-assets.read`,"gameAssets.save":`game-assets.write`,"gameAssets.run":`game-assets.run`,"gameAssets.stop":`game-assets.run`,"gameAssets.uploadImage":`game-assets.write`,"gameAssets.image":`game-assets.read`,"gameAssets.process":`game-assets.write`,"gameAssets.engine":`game-assets.write`,"gameAssets.export":`game-assets.read`,"gameAssets.editFrames":`game-assets.write`,"gameAssets.remove":`game-assets.write`},y=4;function b(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function x(e,{component:n,notify:r,preview:i=!1,locale:o=document.documentElement.lang||`zh-CN`}){let s=i?[]:n.permissions,c=new Set(s),l=new AbortController,d=0,f=o===`en-US`?`en-US`:`zh-CN`,p=()=>({..._(),locale:o}),m=()=>{l.signal.aborted||e.contentWindow?.postMessage({pisperBridge:1,type:`theme`,theme:p()},`*`)},h=new MutationObserver(m);h.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`,`data-accent`]});let g=(t,n,r)=>{l.signal.aborted||e.contentWindow?.postMessage(n?{pisperBridge:1,id:t,ok:!0,result:r}:{pisperBridge:1,id:t,ok:!1,error:String(r||`请求失败。`)},`*`)},x=async(e,i)=>{if(e===`ready`)return{component:{id:n.id,name:n.name,version:n.version,permissions:s},locale:o,theme:p()};let m=v[e];if(!m)throw Error(a(`custom-ui:bridge.unknownMethod`,f));if(!c.has(m))throw Error(a(`custom-ui:bridge.permissionDenied`,f,{permission:m}));if(e.startsWith(`gameAssets.`)){if(d>=y)throw Error(a(`custom-ui:bridge.gameAssetBusy`,f));d+=1;try{let{handleGameAssetComponentRequest:n}=await t(async()=>{let{handleGameAssetComponentRequest:e}=await import(`./component-api-CN9Tcn5p.js`);return{handleGameAssetComponentRequest:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10]));return l.signal.throwIfAborted(),await n(e,i,l.signal)}finally{--d}}if(e===`getConfig`)return u(`/api/config`,{signal:l.signal});if(e===`listSessions`){let e=Math.min(Math.max(Number(i.limit)||50,1),200);return u(`/api/sessions?limit=${e}`,{signal:l.signal})}if(e===`notify`){let e=String(i.message||``).trim().slice(0,500);return e&&r(e),null}return null},S=t=>{if(l.signal.aborted||t.source!==e.contentWindow)return;let n=b(t.data)||{};if(n.pisperBridge!==1||typeof n.id!=`number`||!Number.isSafeInteger(n.id)||typeof n.method!=`string`)return;let r=n.id;x(n.method,b(n.params)||{}).then(e=>g(r,!0,e??null),e=>g(r,!1,e instanceof Error?e.message:String(e)))};return window.addEventListener(`message`,S),m(),()=>{l.abort(),window.removeEventListener(`message`,S),h.disconnect()}}function S(e,t,n){let r=new AbortController,i=null,a,o=e=>{f(e.id).catch(()=>void 0)},s=()=>{r.abort(),clearTimeout(a),i&&=(o(i),null)},c=()=>{r.signal.aborted||(n(),s())},l=async()=>{if(!(!i||r.signal.aborted))try{await m(i.id,r.signal),r.signal.aborted||(a=setTimeout(()=>void l(),6e4))}catch{c()}};return p(e,r.signal).then(e=>{if(r.signal.aborted){o(e);return}i=e,t(e),a=setTimeout(()=>void l(),6e4)},c),s}function C(e,t){return e.builtIn&&e.id===`pisper-island`?t(`custom-ui:builtIn.islandName`):e.name}function w(e,t){return e.builtIn&&e.id===`pisper-island`?t(`custom-ui:builtIn.islandDescription`):e.description}var T=i();function E({component:e,notify:t,preview:n=!1}){let{t:r,locale:i}=o(),a=(0,h.useRef)(null),s=(0,h.useRef)(null),c=(0,h.useRef)(t);c.current=t;let[u,f]=(0,h.useState)(!1),[p,m]=(0,h.useState)(0),[g,_]=(0,h.useState)(null);return(0,h.useEffect)(()=>{f(!1),_(null);let t=S(e.id,_,()=>f(!0));return s.current=t,()=>{t(),s.current=null}},[e.id,e.entry,p]),(0,h.useEffect)(()=>{let t=a.current;if(!(!t||u||!g))return x(t,{component:e,preview:n,locale:i,notify:e=>c.current?.(e)})},[e,n,g,u,i]),u?(0,T.jsxs)(`div`,{role:`status`,className:`flex h-full min-h-0 min-w-0 flex-col items-center justify-center gap-2 overflow-auto p-3 text-center text-xs text-[var(--text-muted)]`,children:[(0,T.jsx)(`p`,{children:r(`custom-ui:customUiPage.componentFailedToLoad`)}),(0,T.jsx)(d,{variant:`outline`,size:`sm`,onClick:()=>m(e=>e+1),children:r(`custom-ui:widget.retry`)})]}):g?(0,T.jsx)(`iframe`,{ref:a,title:C(e,r),src:g.entryUrl,referrerPolicy:`no-referrer`,sandbox:`allow-scripts`,inert:n||void 0,tabIndex:n?-1:void 0,className:l(`block h-full min-h-0 w-full min-w-0 border-0 bg-transparent`,n&&`pointer-events-none`),onError:()=>{s.current?.(),f(!0)}}):(0,T.jsx)(`div`,{role:`status`,className:`grid h-full min-h-0 min-w-0 place-items-center p-3 text-xs text-[var(--text-muted)]`,children:r(`custom-ui:customUiPage.loading`)})}var D=128,O=/^[a-z0-9][a-z0-9._-]{0,63}$/;function k(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function A(e){return typeof e==`string`&&O.test(e)}function j(e){let t={};if(!k(e))return t;for(let n of Object.keys(e)){if(Object.keys(t).length>=D)break;let r=Object.getOwnPropertyDescriptor(e,n);A(n)&&r&&`value`in r&&typeof r.value==`boolean`&&(t[n]=r.value)}return t}function M(e){if(!k(e)||Object.keys(e).some(e=>e!==`prefs`))return{prefs:{}};let t=Object.getOwnPropertyDescriptor(e,`prefs`);return{prefs:j(t&&`value`in t?t.value:null)}}function N(e,t){let n=j(t),r=new Set;for(let t of e)A(t)&&(t===`pisper-island`?n[t]===!0:n[t]!==!1)&&r.add(t);for(let[e,t]of Object.entries(n))t&&r.add(e);return[...r]}var P=c()((e,t,r)=>{let i=!1,a=n=>{i=n,t()&&t().storageError!==n&&e({storageError:n})};return s((e,t)=>({prefs:{},storageError:!1,setVisible:(n,r)=>{if(!A(n))throw Object.assign(Error(`Invalid component ID`),{code:`invalid_id`});if(typeof r!=`boolean`)throw Object.assign(Error(`Invalid visibility`),{code:`invalid_visibility`});let i=t().prefs;if(i[n]!==r){if(!Object.hasOwn(i,n)&&Object.keys(i).length>=D)throw Object.assign(Error(`Too many floating preferences`),{code:`preferences_limit`});e({prefs:{...i,[n]:r}})}}}),{name:`pisper-floating-widgets`,version:1,storage:{getItem:e=>{try{let t=n.getItem(e);if(t===null)return a(!1),null;let r=JSON.parse(t);return a(!1),{state:k(r)&&r.version===1?M(r.state):{prefs:{}},version:1}}catch{return a(!0),{state:{prefs:{}},version:1}}},setItem:(e,t)=>{try{n.setItem(e,JSON.stringify(t)),a(!1)}catch{a(!0)}},removeItem:e=>{try{n.removeItem(e),a(!1)}catch{a(!0)}}},partialize:({prefs:e})=>({prefs:e}),merge:(e,t)=>({...t,...M(e),storageError:i})})(e,t,r)});export{C as a,w as i,P as n,E as r,N as t};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/component-api-guxJtKAP.js","assets/http-C4bTWPzF.js","assets/vendor-router-CZg2bCPV.js","assets/rolldown-runtime-B0Z9INg1.js","assets/vendor-react-DwNgTV1j.js","assets/i18n-DKgrgj0w.js","assets/index-Dm1UDg72.js","assets/index-DJAtBVyc.css","assets/storage-BpAqa-YY.js","assets/abort-signal-f4JsiYKX.js","assets/sprite-engine-catalog-D1HQWa1X.js"])))=>i.map(i=>d[i]);
2
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{p as t}from"./vendor-router-CZg2bCPV.js";import{t as n}from"./index-Dm1UDg72.js";import{i as r,r as i}from"./vendor-react-DwNgTV1j.js";import{u as a}from"./i18n-DKgrgj0w.js";import{t as o}from"./use-i18n-C7st2Mx5.js";import{a as s,o as c}from"./vendor-state-GkUciC5H.js";import{t as l}from"./utils-C8uzG5AZ.js";import{t as u}from"./api-DmuPqjXK.js";import{t as d}from"./button-CQA36izu.js";import{a as f,n as p,o as m}from"./useCustomUiComponents-B5fflBrn.js";var h=e(r(),1),g=`--bg.--panel.--solid.--surface-subtle.--surface-muted.--surface-hover.--stroke.--stroke-soft.--stroke-hover.--text.--text-soft.--text-secondary.--text-muted.--brand-blue.--brand-blue-soft.--brand-blue-border.--accent-soft.--accent-strong.--accent-border.--star-strong.--on-accent.--success.--success-soft.--danger.--danger-soft.--warning-strong.--warning-soft.--focus.--r-sm.--r-md.--r-lg`.split(`.`);function _(){let e=document.documentElement,t=getComputedStyle(e),n={};for(let e of g){let r=t.getPropertyValue(e).trim();r&&(n[e]=r)}return{mode:e.classList.contains(`dark`)?`dark`:`light`,variables:n}}var v={getConfig:`config.read`,listSessions:`sessions.read`,notify:`notify`,"gameAssets.list":`game-assets.read`,"gameAssets.save":`game-assets.write`,"gameAssets.run":`game-assets.run`,"gameAssets.stop":`game-assets.run`,"gameAssets.uploadImage":`game-assets.write`,"gameAssets.image":`game-assets.read`,"gameAssets.process":`game-assets.write`,"gameAssets.engine":`game-assets.write`,"gameAssets.export":`game-assets.read`,"gameAssets.editFrames":`game-assets.write`,"gameAssets.remove":`game-assets.write`},y=4;function b(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function x(e,{component:n,notify:r,preview:i=!1,locale:o=document.documentElement.lang||`zh-CN`}){let s=i?[]:n.permissions,c=new Set(s),l=new AbortController,d=0,f=o===`en-US`?`en-US`:`zh-CN`,p=()=>({..._(),locale:o}),m=()=>{l.signal.aborted||e.contentWindow?.postMessage({pisperBridge:1,type:`theme`,theme:p()},`*`)},h=new MutationObserver(m);h.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`,`data-accent`]});let g=(t,n,r)=>{l.signal.aborted||e.contentWindow?.postMessage(n?{pisperBridge:1,id:t,ok:!0,result:r}:{pisperBridge:1,id:t,ok:!1,error:String(r||`请求失败。`)},`*`)},x=async(e,i)=>{if(e===`ready`)return{component:{id:n.id,name:n.name,version:n.version,permissions:s},locale:o,theme:p()};let m=v[e];if(!m)throw Error(a(`custom-ui:bridge.unknownMethod`,f));if(!c.has(m))throw Error(a(`custom-ui:bridge.permissionDenied`,f,{permission:m}));if(e.startsWith(`gameAssets.`)){if(d>=y)throw Error(a(`custom-ui:bridge.gameAssetBusy`,f));d+=1;try{let{handleGameAssetComponentRequest:n}=await t(async()=>{let{handleGameAssetComponentRequest:e}=await import(`./component-api-guxJtKAP.js`);return{handleGameAssetComponentRequest:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10]));return l.signal.throwIfAborted(),await n(e,i,l.signal)}finally{--d}}if(e===`getConfig`)return u(`/api/config`,{signal:l.signal});if(e===`listSessions`){let e=Math.min(Math.max(Number(i.limit)||50,1),200);return u(`/api/sessions?limit=${e}`,{signal:l.signal})}if(e===`notify`){let e=String(i.message||``).trim().slice(0,500);return e&&r(e),null}return null},S=t=>{if(l.signal.aborted||t.source!==e.contentWindow)return;let n=b(t.data)||{};if(n.pisperBridge!==1||typeof n.id!=`number`||!Number.isSafeInteger(n.id)||typeof n.method!=`string`)return;let r=n.id;x(n.method,b(n.params)||{}).then(e=>g(r,!0,e??null),e=>g(r,!1,e instanceof Error?e.message:String(e)))};return window.addEventListener(`message`,S),m(),()=>{l.abort(),window.removeEventListener(`message`,S),h.disconnect()}}function S(e,t,n){let r=new AbortController,i=null,a,o=e=>{f(e.id).catch(()=>void 0)},s=()=>{r.abort(),clearTimeout(a),i&&=(o(i),null)},c=()=>{r.signal.aborted||(n(),s())},l=async()=>{if(!(!i||r.signal.aborted))try{await m(i.id,r.signal),r.signal.aborted||(a=setTimeout(()=>void l(),6e4))}catch{c()}};return p(e,r.signal).then(e=>{if(r.signal.aborted){o(e);return}i=e,t(e),a=setTimeout(()=>void l(),6e4)},c),s}function C(e,t){return e.builtIn&&e.id===`pisper-island`?t(`custom-ui:builtIn.islandName`):e.name}function w(e,t){return e.builtIn&&e.id===`pisper-island`?t(`custom-ui:builtIn.islandDescription`):e.description}var T=i();function E({component:e,notify:t,preview:n=!1}){let{t:r,locale:i}=o(),a=(0,h.useRef)(null),s=(0,h.useRef)(null),c=(0,h.useRef)(t);c.current=t;let[u,f]=(0,h.useState)(!1),[p,m]=(0,h.useState)(0),[g,_]=(0,h.useState)(null);return(0,h.useEffect)(()=>{f(!1),_(null);let t=S(e.id,_,()=>f(!0));return s.current=t,()=>{t(),s.current=null}},[e.id,e.entry,p]),(0,h.useEffect)(()=>{let t=a.current;if(!(!t||u||!g))return x(t,{component:e,preview:n,locale:i,notify:e=>c.current?.(e)})},[e,n,g,u,i]),u?(0,T.jsxs)(`div`,{role:`status`,className:`flex h-full min-h-0 min-w-0 flex-col items-center justify-center gap-2 overflow-auto p-3 text-center text-xs text-[var(--text-muted)]`,children:[(0,T.jsx)(`p`,{children:r(`custom-ui:customUiPage.componentFailedToLoad`)}),(0,T.jsx)(d,{variant:`outline`,size:`sm`,onClick:()=>m(e=>e+1),children:r(`custom-ui:widget.retry`)})]}):g?(0,T.jsx)(`iframe`,{ref:a,title:C(e,r),src:g.entryUrl,referrerPolicy:`no-referrer`,sandbox:`allow-scripts`,inert:n||void 0,tabIndex:n?-1:void 0,className:l(`block h-full min-h-0 w-full min-w-0 border-0 bg-transparent`,n&&`pointer-events-none`),onError:()=>{s.current?.(),f(!0)}}):(0,T.jsx)(`div`,{role:`status`,className:`grid h-full min-h-0 min-w-0 place-items-center p-3 text-xs text-[var(--text-muted)]`,children:r(`custom-ui:customUiPage.loading`)})}var D=128,O=/^[a-z0-9][a-z0-9._-]{0,63}$/;function k(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function A(e){return typeof e==`string`&&O.test(e)}function j(e){let t={};if(!k(e))return t;for(let n of Object.keys(e)){if(Object.keys(t).length>=D)break;let r=Object.getOwnPropertyDescriptor(e,n);A(n)&&r&&`value`in r&&typeof r.value==`boolean`&&(t[n]=r.value)}return t}function M(e){if(!k(e)||Object.keys(e).some(e=>e!==`prefs`))return{prefs:{}};let t=Object.getOwnPropertyDescriptor(e,`prefs`);return{prefs:j(t&&`value`in t?t.value:null)}}function N(e,t){let n=j(t),r=new Set;for(let t of e)A(t)&&(t===`pisper-island`?n[t]===!0:n[t]!==!1)&&r.add(t);for(let[e,t]of Object.entries(n))t&&r.add(e);return[...r]}var P=c()((e,t,r)=>{let i=!1,a=n=>{i=n,t()&&t().storageError!==n&&e({storageError:n})};return s((e,t)=>({prefs:{},storageError:!1,setVisible:(n,r)=>{if(!A(n))throw Object.assign(Error(`Invalid component ID`),{code:`invalid_id`});if(typeof r!=`boolean`)throw Object.assign(Error(`Invalid visibility`),{code:`invalid_visibility`});let i=t().prefs;if(i[n]!==r){if(!Object.hasOwn(i,n)&&Object.keys(i).length>=D)throw Object.assign(Error(`Too many floating preferences`),{code:`preferences_limit`});e({prefs:{...i,[n]:r}})}}}),{name:`pisper-floating-widgets`,version:1,storage:{getItem:e=>{try{let t=n.getItem(e);if(t===null)return a(!1),null;let r=JSON.parse(t);return a(!1),{state:k(r)&&r.version===1?M(r.state):{prefs:{}},version:1}}catch{return a(!0),{state:{prefs:{}},version:1}}},setItem:(e,t)=>{try{n.setItem(e,JSON.stringify(t)),a(!1)}catch{a(!0)}},removeItem:e=>{try{n.removeItem(e),a(!1)}catch{a(!0)}}},partialize:({prefs:e})=>({prefs:e}),merge:(e,t)=>({...t,...M(e),storageError:i})})(e,t,r)});export{C as a,w as i,P as n,E as r,N as t};
@@ -1,2 +1,2 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mobile-runtime-recovery-tbTyacip.js","assets/rolldown-runtime-B0Z9INg1.js"])))=>i.map(i=>d[i]);
2
- import{p as e}from"./vendor-router-CZg2bCPV.js";import{c as t,l as n,s as r,u as i}from"./i18n-8nTnthu6.js";import{i as a,n as o}from"./abort-signal-f4JsiYKX.js";var s=class extends Error{status;data;kind;constructor(e,t={}){super(e),this.name=`ApiError`,this.status=t.status,this.data=t.data,this.kind=t.kind}};function c(e){return new s(i(`common:api.invalidResponse`,t(r.language)?r.language:n()),{status:e,kind:`protocol`,data:{code:`INVALID_RESPONSE`}})}function l(e){if(e)try{let t=JSON.parse(e);return typeof t==`object`&&t&&!Array.isArray(t)?{...t,error:`error`in t&&typeof t.error==`string`?t.error:void 0}:{error:typeof t==`string`?t:e,body:t}}catch{return{error:e}}}async function u(e){let t=l(await e.text());return new s(t?.error||e.statusText||`HTTP ${e.status}`,{status:e.status,data:t,kind:`http`})}async function d(e){if(e.status===204)return;let t=await e.text();if(t)try{return JSON.parse(t)}catch{throw c(e.status)}}async function f(t){if(typeof window>`u`||!window.__PISPER_MOBILE_APP__)return;let n=o(t,p);try{await a(e(()=>import(`./mobile-runtime-recovery-tbTyacip.js`).then(e=>e.t).then(async e=>{e.installMobileRuntimeForegroundRecovery(),await e.waitForMobileRuntimeReady()}),__vite__mapDeps([0,1])),n.signal)}finally{n.dispose()}}var p=3e4;function m(e,t){return e instanceof Error&&e.message?e.message:typeof e==`string`&&e?e:t}async function h(e,t,n){let{body:r,data:i,headers:a,signal:o,timeout:c=p,...l}=t,d=i===void 0?r:i,h=new Headers(a),g;d!==void 0&&(d instanceof Blob?(g=d,h.has(`Content-Type`)||h.set(`Content-Type`,d.type||`application/octet-stream`)):(g=typeof d==`string`?d:JSON.stringify(d),h.has(`Content-Type`)||h.set(`Content-Type`,`application/json`)));let _=new AbortController,v=!1,y=()=>_.abort(o?.reason);o?.aborted?y():o?.addEventListener(`abort`,y,{once:!0});let b=c>0?setTimeout(()=>{v=!0,_.abort(new DOMException(`Request timed out`,`TimeoutError`))},c):void 0;try{if(await f(_.signal),_.signal.aborted)throw _.signal.reason;let t=await fetch(e,{...l,body:g,headers:h,signal:_.signal});if(!t.ok)throw await u(t);return await n(t)}catch(e){throw e instanceof s?e:v?new s(`请求超时 (${c}ms)`,{kind:`timeout`}):o?.aborted?new s(m(o.reason,`请求已取消`),{kind:`cancelled`}):new s(m(e,`请求失败 (network)`),{kind:`network`})}finally{b!==void 0&&clearTimeout(b),o?.removeEventListener(`abort`,y)}}function g(e,t={}){let{parse:n,...r}=t;return h(e,r,async e=>{let t=await d(e);return n?n(t):t})}function _(e,t={}){return h(e,t,e=>e.blob())}export{u as a,c as i,g as n,s as o,f as r,_ as t};
2
+ import{p as e}from"./vendor-router-CZg2bCPV.js";import{c as t,l as n,s as r,u as i}from"./i18n-DKgrgj0w.js";import{i as a,n as o}from"./abort-signal-f4JsiYKX.js";var s=class extends Error{status;data;kind;constructor(e,t={}){super(e),this.name=`ApiError`,this.status=t.status,this.data=t.data,this.kind=t.kind}};function c(e){return new s(i(`common:api.invalidResponse`,t(r.language)?r.language:n()),{status:e,kind:`protocol`,data:{code:`INVALID_RESPONSE`}})}function l(e){if(e)try{let t=JSON.parse(e);return typeof t==`object`&&t&&!Array.isArray(t)?{...t,error:`error`in t&&typeof t.error==`string`?t.error:void 0}:{error:typeof t==`string`?t:e,body:t}}catch{return{error:e}}}async function u(e){let t=l(await e.text());return new s(t?.error||e.statusText||`HTTP ${e.status}`,{status:e.status,data:t,kind:`http`})}async function d(e){if(e.status===204)return;let t=await e.text();if(t)try{return JSON.parse(t)}catch{throw c(e.status)}}async function f(t){if(typeof window>`u`||!window.__PISPER_MOBILE_APP__)return;let n=o(t,p);try{await a(e(()=>import(`./mobile-runtime-recovery-tbTyacip.js`).then(e=>e.t).then(async e=>{e.installMobileRuntimeForegroundRecovery(),await e.waitForMobileRuntimeReady()}),__vite__mapDeps([0,1])),n.signal)}finally{n.dispose()}}var p=3e4;function m(e,t){return e instanceof Error&&e.message?e.message:typeof e==`string`&&e?e:t}async function h(e,t,n){let{body:r,data:i,headers:a,signal:o,timeout:c=p,...l}=t,d=i===void 0?r:i,h=new Headers(a),g;d!==void 0&&(d instanceof Blob?(g=d,h.has(`Content-Type`)||h.set(`Content-Type`,d.type||`application/octet-stream`)):(g=typeof d==`string`?d:JSON.stringify(d),h.has(`Content-Type`)||h.set(`Content-Type`,`application/json`)));let _=new AbortController,v=!1,y=()=>_.abort(o?.reason);o?.aborted?y():o?.addEventListener(`abort`,y,{once:!0});let b=c>0?setTimeout(()=>{v=!0,_.abort(new DOMException(`Request timed out`,`TimeoutError`))},c):void 0;try{if(await f(_.signal),_.signal.aborted)throw _.signal.reason;let t=await fetch(e,{...l,body:g,headers:h,signal:_.signal});if(!t.ok)throw await u(t);return await n(t)}catch(e){throw e instanceof s?e:v?new s(`请求超时 (${c}ms)`,{kind:`timeout`}):o?.aborted?new s(m(o.reason,`请求已取消`),{kind:`cancelled`}):new s(m(e,`请求失败 (network)`),{kind:`network`})}finally{b!==void 0&&clearTimeout(b),o?.removeEventListener(`abort`,y)}}function g(e,t={}){let{parse:n,...r}=t;return h(e,r,async e=>{let t=await d(e);return n?n(t):t})}function _(e,t={}){return h(e,t,e=>e.blob())}export{u as a,c as i,g as n,s as o,f as r,_ as t};