nextclaw 0.20.1 → 0.20.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.
Files changed (54) hide show
  1. package/package.json +16 -16
  2. package/ui-dist/assets/app-presenter-provider-DIcnNB9s.js +3 -0
  3. package/ui-dist/assets/{wrench-qVIwShTF.js → boxes-BvA-I63l.js} +1 -1
  4. package/ui-dist/assets/channels-list-page-wK3l7p5R.js +8 -0
  5. package/ui-dist/assets/chat-page-DgehvdJT.js +105 -0
  6. package/ui-dist/assets/{confirm-dialog-B0TP-vPd.js → confirm-dialog-CGrKHbAW.js} +1 -1
  7. package/ui-dist/assets/desktop-update-config-CehWxSSg.js +1 -0
  8. package/ui-dist/assets/doc-browser-BgxmVsTx.js +1 -0
  9. package/ui-dist/assets/doc-browser-CZn5-Qbu.js +1 -0
  10. package/ui-dist/assets/doc-browser-context-B8gk7HMr.js +1 -0
  11. package/ui-dist/assets/index-DORmh0Cy.css +1 -0
  12. package/ui-dist/assets/index-DcFpvnge.js +101 -0
  13. package/ui-dist/assets/key-round-D41Oe35x.js +1 -0
  14. package/ui-dist/assets/mcp-marketplace-page-DBLhJWOJ.js +1 -0
  15. package/ui-dist/assets/{mcp-marketplace-page-DDjeHd1I.js → mcp-marketplace-page-Dvi8mCBd.js} +2 -2
  16. package/ui-dist/assets/model-config-B-EJXGtO.js +1 -0
  17. package/ui-dist/assets/popover-YieElO8c.js +1 -0
  18. package/ui-dist/assets/{provider-scoped-model-input-t1tCP5y5.js → provider-scoped-model-input-BPRNGqYn.js} +1 -1
  19. package/ui-dist/assets/providers-list-CtBpL1ZY.js +1 -0
  20. package/ui-dist/assets/remote-BGHbHoHf.js +1 -0
  21. package/ui-dist/assets/rotate-cw-jueVCNJQ.js +1 -0
  22. package/ui-dist/assets/runtime-config-page-C1Hv7mad.js +1 -0
  23. package/ui-dist/assets/search-config-G2O1fcRb.js +1 -0
  24. package/ui-dist/assets/{secrets-config-D1AUSEXX.js → secrets-config-TenzxYbE.js} +2 -2
  25. package/ui-dist/assets/status-dot-BSMG7ZaC.js +1 -0
  26. package/ui-dist/assets/tabs-D1CjpWNX.js +1 -0
  27. package/ui-dist/assets/trash-2-DSWTsARW.js +1 -0
  28. package/ui-dist/index.html +19 -13
  29. package/ui-dist/assets/channels-list-page-DXH1qYLs.js +0 -8
  30. package/ui-dist/assets/chat-page-Cpo0AFHb.js +0 -105
  31. package/ui-dist/assets/desktop-update-config-Be8x1jNy.js +0 -1
  32. package/ui-dist/assets/doc-browser-BI7HSaMK.js +0 -3
  33. package/ui-dist/assets/doc-browser-context-DB6TTHeE.js +0 -1
  34. package/ui-dist/assets/doc-browser-route-registry.utils-x5ijvk0u.js +0 -1
  35. package/ui-dist/assets/doc-browser-yTfN7UBH.js +0 -1
  36. package/ui-dist/assets/index-GVTiCf1s.js +0 -101
  37. package/ui-dist/assets/index-v0fAGXQW.css +0 -1
  38. package/ui-dist/assets/mcp-marketplace-page-WUkc7n94.js +0 -1
  39. package/ui-dist/assets/model-config-BjXMpU9U.js +0 -1
  40. package/ui-dist/assets/providers-list-C1D5p9kK.js +0 -1
  41. package/ui-dist/assets/remote-BHeENKxL.js +0 -1
  42. package/ui-dist/assets/runtime-config-page--O0Wq01S.js +0 -1
  43. package/ui-dist/assets/search-config-Dzpizo-_.js +0 -1
  44. /package/ui-dist/assets/{book-open-cPX0Za7Z.js → book-open-CRotBOF2.js} +0 -0
  45. /package/ui-dist/assets/{config-hints-CY1lg9IE.js → config-hints-A7G_jMTU.js} +0 -0
  46. /package/ui-dist/assets/{config-split-page-BFh_Qixx.js → config-split-page-BnTO1mAM.js} +0 -0
  47. /package/ui-dist/assets/{external-link-C3usm3se.js → external-link-DHjFdCpy.js} +0 -0
  48. /package/ui-dist/assets/{play-CqNi0u02.js → play-C-0vo7hi.js} +0 -0
  49. /package/ui-dist/assets/{plus-BcIC8dG1.js → plus-Cr_akLp2.js} +0 -0
  50. /package/ui-dist/assets/{save-D10M5vQg.js → save-aYdSdK97.js} +0 -0
  51. /package/ui-dist/assets/{setting-row-8VkukJoH.js → setting-row-BNu0qhOM.js} +0 -0
  52. /package/ui-dist/assets/{tabs-custom-BBXu1OGs.js → tabs-custom-CRSN1ekg.js} +0 -0
  53. /package/ui-dist/assets/{tag-chip-ix15P-r4.js → tag-chip-DEashiw6.js} +0 -0
  54. /package/ui-dist/assets/{x-Chb07O-Y.js → x-D1v_vb54.js} +0 -0
@@ -1 +0,0 @@
1
- import{h as e,m as t,t as n,v as r}from"./react-B2X_ph0a.js";import{c as i,i as a,o,s}from"./doc-browser-route-registry.utils-x5ijvk0u.js";var c=0;function l(){return c+=1,`doc-tab-${Date.now()}-${c}`}function u(e,t,n,r){let a=n?.trim()||i(e,t,t===`docs`?`Docs`:`Detail`);return{id:l(),kind:t,title:a,currentUrl:e,dedupeKey:r,history:[e],historyIndex:0,navVersion:0}}function d(e){return{kind:e.kind,tabId:e.id,url:e.currentUrl}}function f(){let e=u(s(),`docs`,`Docs`);return{isOpen:!1,mode:`docked`,tabs:[e],activeTabId:e.id,activeHistory:[d(e)],activeHistoryIndex:0}}function p(e,t){let n;try{n=e()}catch{return}return{getItem:e=>{let r=e=>e===null?null:JSON.parse(e,t?.reviver),i=n.getItem(e)??null;return i instanceof Promise?i.then(r):r(i)},setItem:(e,r)=>n.setItem(e,JSON.stringify(r,t?.replacer)),removeItem:e=>n.removeItem(e)}}var m=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return m(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return m(t)(e)}}}},h=(e,t)=>(n,r,i)=>{let a={storage:p(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},o=!1,s=0,c=new Set,l=new Set,u=a.storage;if(!u)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${a.name}', the given storage is currently unavailable.`),n(...e)},r,i);let d=()=>{let e=a.partialize({...r()});return u.setItem(a.name,{state:e,version:a.version})},f=i.setState;i.setState=(e,t)=>(f(e,t),d());let h=e((...e)=>(n(...e),d()),r,i);i.getInitialState=()=>h;let g,_=()=>{if(!u)return;let e=++s;o=!1,c.forEach(e=>e(r()??h));let t=a.onRehydrateStorage?.call(a,r()??h)||void 0;return m(u.getItem.bind(u))(a.name).then(e=>{if(e)if(typeof e.version==`number`&&e.version!==a.version){if(a.migrate){let t=a.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error(`State loaded from storage couldn't be migrated since no migrate function was provided`)}else return[!1,e.state];return[!1,void 0]}).then(t=>{if(e!==s)return;let[i,o]=t;if(g=a.merge(o,r()??h),n(g,!0),i)return d()}).then(()=>{e===s&&(t?.(g,void 0),g=r(),o=!0,l.forEach(e=>e(g)))}).catch(n=>{e===s&&t?.(void 0,n)})};return i.persist={setOptions:e=>{a={...a,...e},e.storage&&(u=e.storage)},clearStorage:()=>{u?.removeItem(a.name)},getOptions:()=>a,rehydrate:()=>_(),hasHydrated:()=>o,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(l.add(e),()=>{l.delete(e)})},a.skipHydration||_(),g||h},g=`nextclaw.doc-browser.state`,_=1,v=8;function y(e){return!!e&&typeof e==`object`}function b(e){return e===`floating`||e===`docked`}function x(e,t){if(!Array.isArray(e))return[t];let n=e.filter(e=>typeof e==`string`&&e.trim().length>0);return n.length>0?n:[t]}function S(e,t,n,r){return typeof e==`number`&&Number.isFinite(e)?Math.min(n,Math.max(t,e)):r}function C(e){if(!y(e)||typeof e.id!=`string`||typeof e.kind!=`string`||typeof e.title!=`string`||typeof e.currentUrl!=`string`||e.currentUrl.trim().length===0)return null;let t=x(e.history,e.currentUrl),n=S(e.historyIndex,0,t.length-1,t.length-1),r=S(e.navVersion,0,2**53-1,0),i=typeof e.dedupeKey==`string`&&e.dedupeKey.trim().length>0?e.dedupeKey:void 0;return{id:e.id,kind:e.kind,title:e.title,currentUrl:t[n]??e.currentUrl,dedupeKey:i,history:t,historyIndex:n,navVersion:r}}function w(e){return{kind:e.kind,tabId:e.id,url:e.currentUrl}}function T(e,t){return!y(e)||typeof e.tabId!=`string`||typeof e.kind!=`string`||typeof e.url!=`string`||e.url.trim().length===0||!t.has(e.tabId)?null:{kind:e.kind,tabId:e.tabId,url:e.url}}function E(e){if(!y(e))return null;let t=Array.isArray(e.tabs)?e.tabs.map(C).filter(e=>e!==null).slice(-v):[];if(t.length===0)return null;let n=typeof e.activeTabId==`string`?e.activeTabId:null,r=t.some(e=>e.id===n)?n??t[0].id:t[0].id,i=new Map(t.map(e=>[e.id,e])),a=Array.isArray(e.activeHistory)?e.activeHistory.map(e=>T(e,i)).filter(e=>e!==null):[],o=[w(i.get(r)??t[0])],s=a.length>0?a:o,c=S(e.activeHistoryIndex,0,s.length-1,s.length-1),l=s[c],u=i.has(l.tabId)?l.tabId:r;return{isOpen:e.isOpen===!0,mode:b(e.mode)?e.mode:`docked`,tabs:t,activeTabId:u,activeHistory:s,activeHistoryIndex:c}}function D(e,t){return typeof t==`function`?t(e):t}var O=n()(h(e=>({snapshot:f(),setSnapshot:t=>e(e=>({snapshot:D(e.snapshot,t)}))}),{name:g,version:_,storage:p(()=>window.localStorage),partialize:e=>({snapshot:{isOpen:e.snapshot.isOpen,mode:e.snapshot.mode,tabs:e.snapshot.tabs.slice(-v),activeTabId:e.snapshot.activeTabId,activeHistory:e.snapshot.activeHistory,activeHistoryIndex:e.snapshot.activeHistoryIndex}}),merge:(e,t)=>{let n=E(y(e)?e.snapshot:null);return n?{...t,snapshot:n}:t}}));function k(e,t,n){return{...e,tabs:e.tabs.map(e=>e.id===t?n(e):e)}}function A(e,t){return k(e,e.activeTabId,t)}function j(e,t){let n=[...e.history.slice(0,e.historyIndex+1),t];return{history:n,historyIndex:n.length-1}}function M(e,t){return e.tabId===t.tabId&&e.kind===t.kind&&a.areUrlsEquivalent(e.url,t.url,e.kind,t.kind)}function N(e,t){let n=e.activeHistory[e.activeHistoryIndex];if(n&&M(n,t))return e;let r=[...e.activeHistory.slice(0,e.activeHistoryIndex+1),t];return{...e,activeHistory:r,activeHistoryIndex:r.length-1}}function P(e,t){for(let n=e.history.length-1;n>=0;--n)if(a.areUrlsEquivalent(e.history[n],t,e.kind,e.kind))return n;return-1}function F(e,t){let n=e.tabs.find(e=>e.id===t.tabId);if(!n)return e;let r=a.resolveOpenTarget({activeTab:n,kind:t.kind,url:t.url}),i=P(n,r.url);return k({...e,activeTabId:n.id,isOpen:!0},n.id,e=>({...e,currentUrl:r.url,dedupeKey:r.dedupeKey,historyIndex:i>=0?i:e.historyIndex,kind:r.kind,title:r.title}))}function I(e,t,n,r){let i={...e,title:n?.title||t.title||e.title,kind:t.kind,dedupeKey:r};return a.areUrlsEquivalent(e.currentUrl,t.url,e.kind,t.kind)?i:{...i,currentUrl:t.url,...j(e,t.url),navVersion:e.navVersion+1}}function L(e,t,n){let{activate:r,dedupeKey:i,kind:o,newTab:s,title:c}=n??{},l=e.tabs.find(t=>t.id===e.activeTabId)??e.tabs[0],f=a.resolveOpenTarget({activeTab:l,kind:o,url:t}),p=i?.trim()||f.dedupeKey,m=p?e.tabs.find(e=>e.dedupeKey===p):void 0;if(m){let t=k(e,m.id,e=>I(e,f,n,p)),i=r!==!1,a=i?m.id:e.activeTabId,o={...t,activeTabId:a,isOpen:!0};return i||m.id===e.activeTabId?N(o,{kind:f.kind,tabId:m.id,url:f.url}):o}if(s||p||!l||l.kind!==f.kind){let t=u(f.url,f.kind,c??f.title,p);return N({...e,isOpen:!0,tabs:[...e.tabs,t],activeTabId:t.id},d(t))}return N({...A(e,e=>I(e,f,n,p)),isOpen:!0},{kind:f.kind,tabId:e.activeTabId,url:f.url})}var R=class{constructor(){this.setSnapshot=e=>{O.getState().setSnapshot(e)},this.open=(e,t)=>{this.setSnapshot(n=>L(n,e,t))},this.openNewTab=()=>{this.open(void 0,{kind:o,newTab:!0})},this.close=()=>{this.setSnapshot(e=>({...e,isOpen:!1}))},this.toggleMode=()=>{this.setSnapshot(e=>({...e,mode:e.mode===`floating`?`docked`:`floating`}))},this.navigate=e=>{this.setSnapshot(t=>{if(!t.tabs.length){let e=u(s(),`docs`,`Docs`);return{...t,tabs:[e],activeTabId:e.id,isOpen:!0}}let n=A(t,t=>{if(!a.usesManagedHistory(t))return t;let n=a.resolveOpenTarget({activeTab:t,url:e});return a.areUrlsEquivalent(t.currentUrl,n.url,t.kind,n.kind)?t:{...t,currentUrl:n.url,dedupeKey:n.dedupeKey,...j(t,n.url),kind:n.kind,navVersion:t.navVersion+1,title:n.title}}),r=n.tabs.find(e=>e.id===n.activeTabId);return r?N(n,d(r)):n})},this.syncUrl=e=>{this.setSnapshot(t=>{if(!t.tabs.length){let e=u(s(),`docs`,`Docs`);return{...t,tabs:[e],activeTabId:e.id}}let n=A(t,t=>{if(!a.usesManagedHistory(t))return t;let n=a.resolveOpenTarget({activeTab:t,kind:t.kind,url:e});return a.areUrlsEquivalent(t.currentUrl,n.url,t.kind,n.kind)?t:{...t,currentUrl:n.url,dedupeKey:n.dedupeKey,...j(t,n.url),kind:n.kind,title:n.title}}),r=n.tabs.find(e=>e.id===n.activeTabId);return r?N(n,d(r)):n})},this.goBack=()=>{this.setSnapshot(e=>{if(e.activeHistoryIndex<=0)return e;let t=e.activeHistoryIndex-1,n=e.activeHistory[t];return n?F({...e,activeHistoryIndex:t},n):e})},this.goForward=()=>{this.setSnapshot(e=>{if(e.activeHistoryIndex>=e.activeHistory.length-1)return e;let t=e.activeHistoryIndex+1,n=e.activeHistory[t];return n?F({...e,activeHistoryIndex:t},n):e})},this.closeTab=e=>{this.setSnapshot(t=>{if(t.tabs.length<=1)return{...f(),isOpen:!1};let n=t.tabs.findIndex(t=>t.id===e);if(n<0)return t;let r=t.tabs.filter(t=>t.id!==e),i=t.activeTabId===e?r[Math.max(0,n-1)]?.id??r[0].id:t.activeTabId,a={...t,tabs:r,activeTabId:i},o=a.activeHistory.filter(t=>t.tabId!==e),s=a.activeHistory.slice(0,a.activeHistoryIndex+1).filter(t=>t.tabId!==e),c=r.find(e=>e.id===i)??r[0],l={...a,activeHistory:o.length>0?o:[d(c)],activeHistoryIndex:Math.min(Math.max(0,s.length-1),Math.max(0,o.length-1))};return t.activeTabId===e?N(l,d(c)):l})},this.setActiveTab=e=>{this.setSnapshot(t=>{if(!t.tabs.some(t=>t.id===e))return t;let n=t.tabs.find(t=>t.id===e);return n?N({...t,activeTabId:e,isOpen:!0},d(n)):t})}}},z=r(e(),1),B=t(),V=(0,z.createContext)(null),H=new R;function U(){let e=(0,z.useContext)(V);if(!e)throw Error(`useDocBrowser must be used within DocBrowserProvider`);return e}function W({children:e}){let t=O(e=>e.snapshot),n=(0,z.useMemo)(()=>t.tabs.find(e=>e.id===t.activeTabId)??t.tabs[0],[t.activeTabId,t.tabs]),r=(0,z.useMemo)(()=>({...t,currentTab:n,open:H.open,openNewTab:H.openNewTab,close:H.close,toggleMode:H.toggleMode,navigate:H.navigate,syncUrl:H.syncUrl,goBack:H.goBack,goForward:H.goForward,closeTab:H.closeTab,setActiveTab:H.setActiveTab}),[n,t]);return(0,B.jsx)(V.Provider,{value:r,children:e})}export{h as i,U as n,p as r,W as t};
@@ -1 +0,0 @@
1
- import{i as e,o as t}from"./react-B2X_ph0a.js";var n=`docs.nextclaw.io`,r=`nextclaw-docs.pages.dev`,i=new Set([n,`www.${n}`,r,`www.${r}`]),a=`https://${n}`,o=`home`,s=`nextclaw://new-tab`,c=`/guide/getting-started`;function l(e){return e===`zh`?`zh`:`en`}function u(e,t){let n=e.startsWith(`/`)?e:`/${e}`;return n===`/`||n===``?`/${t}/`:/^\/(en|zh)(\/|$)/.test(n)?n:`/${t}${n}`}function d(e){let n=l(t());try{let t=new URL(e,a);return i.has(t.hostname)&&(t.pathname=u(t.pathname,n)),t.toString()}catch{return new URL(`/${n}${c}`,a).toString()}}function f(){return d(c)}function p(e){try{return new URL(e).pathname.replace(/\.html$/,``).replace(/\/$/,``)}catch{return e}}function m(e,t,n=`Docs`){try{let r=new URL(e,a);if(r.protocol===`data:`)return t===`docs`?n:`Detail`;let i=r.pathname.split(`/`).filter(Boolean),o=i[i.length-1]??n;return decodeURIComponent(o).replace(/[-_]/g,` `).slice(0,40)||n}catch{return n}}function h(e){try{let t=new URL(e,window.location.origin);return i.has(t.hostname)}catch{return!1}}function g(e,t){return t===`docs`?d(e):e}var _=`apps`,v=`nextclaw://apps`,y=`${v}?tab=service-apps`;function b(e,t){return e===t||e.startsWith(`${t}?`)||e.startsWith(`${t}/`)}function x(e){try{return new URL(e).searchParams.get(`tab`)===`service-apps`?y:v}catch{return v}}function S(e){return e&&h(e)?`docs`:`content`}var C=class{constructor(e){this.kind=e,this.historyPolicy=`managed`,this.defaultUrl=()=>this.kind===`docs`?a:`about:blank`,this.getTitle=e=>m(e,this.kind,this.kind===`docs`?`Docs`:`Detail`),this.matchUrl=()=>!1,this.normalizeUrl=e=>g(e,this.kind),this.urlsEquivalent=(e,t)=>e===t,this.id=`fallback:${e}`}},w=[{defaultUrl:()=>s,getTitle:()=>e(`docBrowserHomeTitle`),historyPolicy:`managed`,id:`home`,kind:o,matchUrl:e=>e===s,normalizeUrl:()=>s,urlsEquivalent:(e,t)=>e===t},{defaultUrl:f,getTitle:()=>`Docs`,historyPolicy:`managed`,id:`docs`,kind:`docs`,matchUrl:h,normalizeUrl:e=>g(e,`docs`),urlsEquivalent:(e,t)=>p(e)===p(t)},{defaultUrl:()=>v,getDedupeKey:()=>`apps`,getTitle:t=>x(t)===y?e(`serviceAppsTitle`):e(`appsTitle`),historyPolicy:`managed`,id:`apps`,kind:_,matchUrl:e=>b(e,v),normalizeUrl:x,urlsEquivalent:(e,t)=>x(e)===x(t)}],T=new class{constructor(){this.routeDefinitions=w,this.resolveOpenTarget=e=>{let{activeTab:t,kind:n,url:r}=e,i=this.resolveRouteDefinition(r,n,t),a=r?.trim()||(!n&&t&&t.kind!==`docs`?t.currentUrl:i.defaultUrl()),o=i.normalizeUrl(a);return{dedupeKey:i.getDedupeKey?.(o),historyPolicy:i.historyPolicy,kind:i.kind,title:i.getTitle(o),url:o}},this.areUrlsEquivalent=(e,t,n,r)=>n===r?this.resolveRouteDefinition(e,n).urlsEquivalent?.(e,t)??e===t:!1,this.usesManagedHistory=e=>this.resolveRouteDefinition(e.currentUrl,e.kind).historyPolicy===`managed`,this.getHomeNavigationItems=()=>[{id:`apps`,label:e(`appsTitle`),target:{type:`doc-browser`,url:v}},{id:`service-apps`,label:e(`serviceAppsTitle`),target:{type:`doc-browser`,url:y}},{id:`docs`,label:e(`docBrowserHelp`),target:{options:{newTab:!0},type:`doc-browser`,url:f()}},{id:`skill-marketplace`,label:e(`marketplaceSkillsPageTitle`),target:{path:`/marketplace/skills`,type:`app-route`}},{id:`mcp-marketplace`,label:e(`marketplaceMcpPageTitle`),target:{path:`/marketplace/mcp`,type:`app-route`}}],this.resolveRouteDefinition=(e,t,n)=>{let r=t??(e?void 0:n?.kind);return(r?this.routeDefinitions.find(e=>e.kind===r):void 0)||(e?this.routeDefinitions.find(t=>t.matchUrl(e)):void 0)||new C(t??n?.kind??S(e))}}};export{a,m as c,T as i,h as l,v as n,o,y as r,f as s,_ as t,p as u};
@@ -1 +0,0 @@
1
- import{t as e}from"./doc-browser-BI7HSaMK.js";export{e as DocBrowser};