@godmode-team/godmode 1.8.1 → 1.8.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.
- package/README.md +5 -0
- package/dist/godmode-ui/assets/{brain-tab-Z-Uwg6EX.js → brain-tab-B1CYwAJ7.js} +1 -1
- package/dist/godmode-ui/assets/{connections-tab-DhJWQQBw.js → connections-tab-Cuv4eW0d.js} +1 -1
- package/dist/godmode-ui/assets/{ctrl-settings-niym-WgY.js → ctrl-settings-COfcdhha.js} +2 -2
- package/dist/godmode-ui/assets/{dashboards-tab-D22kRTMW.js → dashboards-tab-7hHXzWPp.js} +1 -1
- package/dist/godmode-ui/assets/{index-Covj4w7X.js → index-DcYipcbm.js} +13 -13
- package/dist/godmode-ui/assets/{second-brain-tab-BINrzjjx.js → second-brain-tab-DkFatLwl.js} +1 -1
- package/dist/godmode-ui/assets/{team-tab-DE4DvNCS.js → team-tab-Q3icI_Q-.js} +1 -1
- package/dist/godmode-ui/assets/{today-tab-BExVN_cu.js → today-tab-C6lIMzgY.js} +1 -1
- package/dist/godmode-ui/assets/{views-settings-nvLQdpIB.js → views-settings-B2UFEtoi.js} +1 -1
- package/dist/godmode-ui/assets/{work-tab-DOrlU-Ge.js → work-tab-DwU559Bx.js} +1 -1
- package/dist/godmode-ui/assets/{workspaces-C8dKMKC1.js → workspaces-vzpIVgdl.js} +1 -1
- package/dist/godmode-ui/index.html +3 -3
- package/openclaw.plugin.json +2 -2
- package/package.json +4 -4
package/dist/godmode-ui/assets/{second-brain-tab-BINrzjjx.js → second-brain-tab-DkFatLwl.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{d as y,b as e,A as i,o as f,g as $,r as o,t as g}from"./lit-core-CTInmNPB.js";import{a as h,w as S}from"./index-
|
|
1
|
+
import{d as y,b as e,A as i,o as f,g as $,r as o,t as g}from"./lit-core-CTInmNPB.js";import{a as h,w as S}from"./index-DcYipcbm.js";import{a as _}from"./views-settings-B2UFEtoi.js";import{f as x}from"./ctrl-settings-COfcdhha.js";import"./markdown-i_gIkIP3.js";var w=Object.defineProperty,k=Object.getOwnPropertyDescriptor,l=(s,t,n,r)=>{for(var a=r>1?void 0:r?k(t,n):t,d=s.length-1,p;d>=0;d--)(p=s[d])&&(a=(r?p(t,n,a):p(a))||a);return r&&a&&w(t,n,a),a};function u(s){if(!s)return"";try{return x(new Date(s).getTime())}catch{return""}}function F(s){return e`<div class="sb-md-body">${f(_(s))}</div>`}const b={ready:"sb-dot--ready",degraded:"sb-dot--degraded",offline:"sb-dot--offline"},B={"vault-capture":"📝","identity-update":"👤","calendar-enrichment":"📅","thought-captured":"💭",search:"🔍","file-modified":"📄"},C={honcho:"🟣",vault:"📓",session:"💬",screenpipe:"📺"};function v(s){return!s||s==="personal"?e`<span class="sb-scope-badge sb-scope-badge--personal" title="Personal memory">\u{1F512} personal</span>`:e`<span class="sb-scope-badge sb-scope-badge--shared" title="Shared to ${s}">\u{2197}\u{FE0F} ${s}</span>`}let c=class extends y{constructor(){super(...arguments),this.loading=!1,this.error=null,this.pulse=null,this.activity=null,this.identity=null,this.memoryBank=null,this.fileTree=null,this.screenpipeStatus=null,this.ingestionStatus=null,this.searchQuery="",this.searchResults=null,this.searching=!1,this.browsingFolder=null,this.folderEntries=null,this.folderName=null,this.expandedPulseSystem=null,this._unsubs=[],this._searchTimer=null}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this._unsubs.push(h.on("refresh-requested",s=>{s.target==="second-brain"&&this._loadAll()})),this._loadAll()}disconnectedCallback(){for(const s of this._unsubs)s();this._unsubs=[],this._searchTimer&&clearTimeout(this._searchTimer),super.disconnectedCallback()}async _loadAll(){if(!(!this.ctx.gateway||!this.ctx.connected)){this.loading=!0,this.error=null;try{const s=this.ctx.gateway,[t,n,r,a,d]=await Promise.all([s.request("secondBrain.memoryPulse",{}),s.request("secondBrain.activity",{limit:20}),s.request("secondBrain.identity",{}),s.request("secondBrain.memoryBank",{}),s.request("secondBrain.fileTree",{depth:3})]);this.pulse=t,this.activity=n,this.identity=r,this.memoryBank=a,this.fileTree=d.tree??[],Promise.all([s.request("ingestion.screenpipeStatus",{}).catch(()=>null),s.request("ingestion.status",{}).catch(()=>null)]).then(([p,m])=>{this.screenpipeStatus=p,this.ingestionStatus=m})}catch(s){console.error("[SecondBrain] Load failed:",s),this.error=s instanceof Error?s.message:"Failed to load"}finally{this.loading=!1}}}async _doSearch(s){if(!this.ctx.gateway||!this.ctx.connected||!s.trim()){this.searchResults=null,this.searching=!1;return}this.searching=!0;try{const t=await this.ctx.gateway.request("secondBrain.search",{query:s,limit:30});this.searchQuery===s&&(this.searchResults=t.results??[])}catch(t){console.error("[SecondBrain] Search failed:",t)}finally{this.searching=!1}}_onSearchInput(s){const t=s.target.value;if(this.searchQuery=t,this._searchTimer&&clearTimeout(this._searchTimer),!t.trim()){this.searchResults=null;return}this._searchTimer=setTimeout(()=>{this._doSearch(t)},300)}async _openFile(s){if(!(!this.ctx.gateway||!this.ctx.connected))try{const t=await this.ctx.gateway.request("secondBrain.memoryBankEntry",{path:s});if(t?.content){const n=s.endsWith(".html")||s.endsWith(".htm");this.ctx.openSidebar({content:t.content,mimeType:n?"text/html":"text/markdown",filePath:s,title:t.name||s.split("/").pop()||"File"})}}catch(t){console.error("[SecondBrain] Open file failed:",t),this.ctx.addToast("Failed to open file","error")}}async _browseFolder(s){if(!(!this.ctx.gateway||!this.ctx.connected))try{const t=await this.ctx.gateway.request("secondBrain.memoryBank",{folder:s});this.browsingFolder=t.folder,this.folderName=t.folderName,this.folderEntries=t.entries}catch(t){console.error("[SecondBrain] Browse folder failed:",t)}}_exitFolder(){this.browsingFolder=null,this.folderEntries=null,this.folderName=null}_chatNavigate(s){h.emit("chat-navigate",{sessionKey:"new",tab:"chat",message:s})}render(){return this.loading&&!this.pulse?e`<div class="sb-loading"><div class="sb-spinner"></div>Loading Second Brain...</div>`:this.error&&!this.pulse?e`<div class="sb-error">${this.error}</div>`:this.browsingFolder&&this.folderEntries?e`
|
|
2
2
|
<section class="sb-dashboard">
|
|
3
3
|
<button class="sb-back-btn" @click=${()=>this._exitFolder()}>
|
|
4
4
|
\u{2190} Back
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{d as h,A as d,b as s,g as u,a as g,r as o,t as v}from"./lit-core-CTInmNPB.js";import{w as x}from"./index-
|
|
1
|
+
import{d as h,A as d,b as s,g as u,a as g,r as o,t as v}from"./lit-core-CTInmNPB.js";import{w as x}from"./index-DcYipcbm.js";import"./ctrl-settings-COfcdhha.js";import"./views-settings-B2UFEtoi.js";import"./markdown-i_gIkIP3.js";var f=Object.defineProperty,y=Object.getOwnPropertyDescriptor,a=(e,t,r,n)=>{for(var p=n>1?void 0:n?y(t,r):t,c=e.length-1,l;c>=0;c--)(l=e[c])&&(p=(n?l(t,r,p):l(p))||p);return n&&p&&f(t,r,p),p};const _="http://localhost:3100";let i=class extends h{constructor(){super(...arguments),this._phase="loading",this._url="",this._serverUp=!1,this._configured=!1,this._steps=[],this._error=null,this._iframeError=!1,this._customUrl="",this._showAdvanced=!1,this._agentCount=0,this._wasConnected=!1}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this._checkStatus()}willUpdate(e){super.willUpdate(e);const t=this.ctx?.connected??!1;t&&!this._wasConnected&&this._checkStatus(),this._wasConnected=t}get _client(){return this.host?.client??this.ctx?.client}async _checkStatus(){this._phase="loading",this._error=null,this._steps=[];const e=this._client;if(!e){this._phase="error",this._error="Not connected to gateway.";return}try{const t=await e.request("paperclip.dashboardUrl",{});if(t?.ready){this._url=t.url??"",this._agentCount=t.agents?.length??0,this._phase="ready";return}const r=await e.request("paperclip.setup",{action:"check"});this._serverUp=r?.serverUp??!1,this._configured=r?.configured??!1,this._steps=r?.steps??[],this._phase="not-configured"}catch{this._phase="not-configured",this._serverUp=!1,this._configured=!1}}async _quickSetup(){const e=this._client;if(e){this._phase="installing",this._steps=[],this._error=null;try{const t=await e.request("paperclip.setup",{action:"install"});if(this._steps=[...t?.steps??[]],!t?.success){this._phase="error",this._error="Could not start Paperclip server. See details below.";return}this._url=t.url??_,this._phase="seeding";const r=await e.request("paperclip.setup",{action:"seed"});if(this._steps=[...this._steps,...r?.steps??[]],this._agentCount=r?.totalAgents??0,!r?.success){this._phase="error",this._error="Server is running but agent seeding failed.";return}this._phase="ready"}catch(t){this._phase="error",this._error=t instanceof Error?t.message:String(t)}}}async _connectExisting(){const e=this._client;if(!e)return;const t=this._customUrl.trim();if(t){this._phase="installing",this._steps=[],this._error=null;try{const r=await e.request("paperclip.setup",{action:"connect",url:t});if(this._steps=[...r?.steps??[]],!r?.success){this._phase="error",this._error="Could not connect to that server.";return}this._phase="seeding";const n=await e.request("paperclip.setup",{action:"seed"});this._steps=[...this._steps,...n?.steps??[]],this._agentCount=n?.totalAgents??0,this._phase=n?.success?"ready":"error",n?.success||(this._error="Connected but agent seeding failed.")}catch(r){this._phase="error",this._error=r instanceof Error?r.message:String(r)}}}async _seedOnly(){const e=this._client;if(e){this._phase="seeding",this._steps=[],this._error=null;try{const t=await e.request("paperclip.setup",{action:"seed"});this._steps=t?.steps??[],this._agentCount=t?.totalAgents??0,t?.success?this._phase="ready":(this._phase="error",this._error="Agent seeding failed.")}catch(t){this._phase="error",this._error=t instanceof Error?t.message:String(t)}}}_dashboardUrl(){let e="3100";if(this._url)try{const n=new URL(this._url);n.port&&(e=n.port)}catch{}const t=window.location.protocol,r=window.location.hostname;return`${t}//${r}:${e}`}_renderSteps(){return this._steps.length===0?d:s`
|
|
2
2
|
<div style="margin-top: 16px; font-size: 13px;">
|
|
3
3
|
${this._steps.map(e=>s`
|
|
4
4
|
<div style="
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{b as r,A as u,d as S,g as D,r as c,t as _}from"./lit-core-CTInmNPB.js";import{a as b,w as I}from"./index-
|
|
1
|
+
import{b as r,A as u,d as S,g as D,r as c,t as _}from"./lit-core-CTInmNPB.js";import{a as b,w as I}from"./index-DcYipcbm.js";import{ab as h}from"./ctrl-settings-COfcdhha.js";import{G as C}from"./views-settings-B2UFEtoi.js";import{s as L,a as m}from"./workspaces-vzpIVgdl.js";import"./markdown-i_gIkIP3.js";function x(t){const e=Date.now()-new Date(t).getTime(),a=Math.floor(e/6e4);if(a<1)return"just now";if(a<60)return`${a}m ago`;const o=Math.floor(a/60);return o<24?`${o}h ago`:`${Math.floor(o/24)}d ago`}function $(t){return t.source.persona?t.source.persona.replace(/-/g," ").replace(/\b\w/g,e=>e.toUpperCase()):t.source.skill?t.source.skill:t.type==="agent-execution"?"Agent":"Skill"}function B(t){return t<=2?"Poor":t<=4?"Below expectations":t<=6?"Okay":t<=8?"Good":"Excellent"}function v(t,e){if(t.scoringId!==e.id)return u;const a=t.scoringValue??7,o=t.feedbackText??"",i=a<=4,n=a<=4||a>=9;return r`
|
|
2
2
|
<div class="inbox-scoring">
|
|
3
3
|
<div class="inbox-score-label">
|
|
4
4
|
Rate this output
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{A as u,b as n,o as _n}from"./lit-core-CTInmNPB.js";import{t as Sn,f as L,a as He,b as Ya,c as Dt,d as je}from"./ctrl-settings-
|
|
1
|
+
import{A as u,b as n,o as _n}from"./lit-core-CTInmNPB.js";import{t as Sn,f as L,a as He,b as Ya,c as Dt,d as je}from"./ctrl-settings-COfcdhha.js";import{g as We}from"./markdown-i_gIkIP3.js";function Cn(e){const{values:t,original:a}=e;return t.name!==a.name||t.displayName!==a.displayName||t.about!==a.about||t.picture!==a.picture||t.banner!==a.banner||t.website!==a.website||t.nip05!==a.nip05||t.lud16!==a.lud16}function Tn(e){const{state:t,callbacks:a,accountId:s}=e,i=Cn(t),l=(r,d,v={})=>{const{type:p="text",placeholder:g,maxLength:h,help:$}=v,b=t.values[r]??"",y=t.fieldErrors[r],f=`nostr-profile-${r}`;return p==="textarea"?n`
|
|
2
2
|
<div class="form-field" style="margin-bottom: 12px;">
|
|
3
3
|
<label for="${f}" style="display: block; margin-bottom: 4px; font-weight: 500;">
|
|
4
4
|
${d}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as u,g as w,r as i,t as T}from"./lit-core-CTInmNPB.js";import{a as l,l as f,b as h,s as k,r as g,t as m,c as y,d as W,e as _,f as S,g as C,h as p,i as B,u as x,j as F,k as b,m as P,n as v,p as q,o as E,q as I,v as U,w as Q}from"./index-Covj4w7X.js";import{r as L}from"./workspaces-C8dKMKC1.js";import"./ctrl-settings-niym-WgY.js";import"./views-settings-nvLQdpIB.js";import"./markdown-i_gIkIP3.js";var R=Object.defineProperty,D=Object.getOwnPropertyDescriptor,r=(e,s,t,o)=>{for(var c=o>1?void 0:o?D(s,t):s,n=e.length-1,d;n>=0;n--)(d=e[n])&&(c=(o?d(s,t,c):d(c))||c);return o&&c&&R(s,t,c),c};let a=class extends u{constructor(){super(...arguments),this.selectedWorkspace=null,this.workspacesSearchQuery="",this.workspaceItemSearchQuery="",this.workspacesLoading=!1,this.workspacesCreateLoading=!1,this.workspacesError=null,this.workspaceExpandedFolders=new Set,this.taskFilter="outstanding",this.taskSort="due",this.taskSearch="",this.showCompletedTasks=!1,this.editingTaskId=null,this.workspaceBrowsePath=null,this.workspaceBrowseEntries=null,this.workspaceBreadcrumbs=null,this.workspaceBrowseSearchQuery="",this.workspaceBrowseSearchResults=null,this._unsubs=[],this._lastConnected=!1,this._refreshInFlight=!1}createRenderRoot(){return this}get client(){return this.ctx.gateway}get connected(){return this.ctx.connected}connectedCallback(){super.connectedCallback(),this._unsubs.push(l.on("refresh-requested",e=>{(e.target==="workspaces"||e.target==="work")&&this._refresh()})),this._refresh()}disconnectedCallback(){for(const e of this._unsubs)e();this._unsubs=[],super.disconnectedCallback()}updated(e){super.updated?.(e);const s=this.ctx?.connected??!1;s&&!this._lastConnected&&(!this.workspaces?.length||this.workspacesError)&&this._refresh(),this._lastConnected=s}render(){return L({connected:this.ctx.connected,workspaces:this.workspaces??[],selectedWorkspace:this.selectedWorkspace??null,searchQuery:this.workspacesSearchQuery,itemSearchQuery:this.workspaceItemSearchQuery,expandedFolders:this.workspaceExpandedFolders,loading:this.workspacesLoading,createLoading:this.workspacesCreateLoading,error:this.workspacesError,allTasks:this.allTasks??[],taskFilter:this.taskFilter,taskSort:this.taskSort,taskSearch:this.taskSearch,showCompletedTasks:this.showCompletedTasks,editingTaskId:this.editingTaskId,workspaceNames:(this.workspaces??[]).map(e=>e.name),browsePath:this.workspaceBrowsePath,browseEntries:this.workspaceBrowseEntries,breadcrumbs:this.workspaceBreadcrumbs,browseSearchQuery:this.workspaceBrowseSearchQuery,browseSearchResults:this.workspaceBrowseSearchResults,onSearch:e=>{this.workspacesSearchQuery=e},onItemSearch:e=>{this.workspaceItemSearchQuery=e},onSelectWorkspace:e=>this._onSelectWorkspace(e),onBack:()=>this._onBack(),onItemClick:e=>this._onItemClick(e),onSessionClick:e=>this._onSessionClick(e),onPinToggle:(e,s,t)=>this._onPinToggle(e,s,t),onPinSessionToggle:(e,s,t)=>this._onPinSessionToggle(e,s,t),onCreateWorkspace:e=>this._onCreateWorkspace(e),onDeleteWorkspace:e=>this._onDeleteWorkspace(e),onToggleFolder:e=>this._onToggleFolder(e),onTeamSetup:()=>this._onTeamSetup(),onToggleTaskComplete:(e,s)=>this._onToggleTaskComplete(e,s),onCreateTask:(e,s)=>this._onCreateTask(e,s),onSetTaskFilter:e=>{this.taskFilter=e},onSetTaskSort:e=>{this.taskSort=e},onSetTaskSearch:e=>{this.taskSearch=e},onToggleCompletedTasks:()=>{this.showCompletedTasks=!this.showCompletedTasks},onStartTask:e=>this._onStartTask(e),onViewTaskOutput:e=>this._onViewTaskOutput(e),onEditTask:e=>{this.editingTaskId=e},onUpdateTask:(e,s)=>this._onUpdateTask(e,s),onBrowseFolder:e=>this._onBrowseFolder(e),onBrowseSearch:e=>this._onBrowseSearch(e),onBrowseBack:()=>this._onBrowseBack(),onCreateFolder:e=>this._onCreateFolder(e),onBatchPushToDrive:e=>this._onBatchPushToDrive(e),onPostToFeed:(e,s)=>this._onPostToFeed(e,s),onTestConnection:e=>this._onTestConnection(e),onRemoveConnection:e=>this._onRemoveConnection(e)})}async _refresh(){if(this._refreshInFlight)return;this._refreshInFlight=!0;const e=setTimeout(()=>{this.workspacesLoading&&(console.warn("[GmWork] safety timeout — forcing loading off"),this.workspacesLoading=!1,this.workspacesError??="Loading timed out — tap to retry",this.requestUpdate())},12e3);try{await f(this),this.allTasks=await h(this)}catch(s){console.error("[GmWork] refresh failed:",s)}finally{clearTimeout(e),this._refreshInFlight=!1}this.requestUpdate()}async _onSelectWorkspace(e){this.workspaceItemSearchQuery="",this.workspacesLoading=!0,this.requestUpdate();try{const s=new Promise((t,o)=>setTimeout(()=>o(new Error("Workspace load timed out")),1e4));await Promise.race([k(this,e),s])}catch(s){console.error("[GmWork] workspace select failed:",s),this.selectedWorkspace||(this.selectedWorkspace={...e,pinned:[],pinnedSessions:[],outputs:[],sessions:[],tasks:[]}),this.ctx.addToast(s instanceof Error?s.message:"Failed to open "+e.name,"error")}finally{this.workspacesLoading=!1,this.requestUpdate()}}_onBack(){this.selectedWorkspace=null,this.workspaceItemSearchQuery="",this._onBrowseBack()}async _onItemClick(e){const s=this.selectedWorkspace?.id,t=await g(this,e.path,s);if(!t){this.ctx.addToast("Failed to open "+e.name,"error");return}this.ctx.openSidebar({content:t.content,mimeType:t.mime,filePath:e.path,title:e.name})}_onSessionClick(e){e.key&&l.emit("chat-navigate",{sessionKey:e.key,tab:"chat"})}async _onPinToggle(e,s,t){await m(this,e,s,t)||this.ctx.addToast("Failed to update pin","error"),this.requestUpdate()}async _onPinSessionToggle(e,s,t){await y(this,e,s,t)||this.ctx.addToast("Failed to update session pin","error"),this.requestUpdate()}async _onCreateWorkspace(e){this.workspacesCreateLoading=!0;try{const s=await W(this,e);return s?(this.workspaceItemSearchQuery="",await k(this,s),this.ctx.addToast("Created workspace: "+s.name,"success"),this.requestUpdate(),!0):(this.ctx.addToast("Failed to create workspace","error"),!1)}finally{this.workspacesCreateLoading=!1}}async _onDeleteWorkspace(e){if(!await _(this,e.id)){this.ctx.addToast("Failed to delete "+e.name,"error");return}this.ctx.addToast("Deleted workspace: "+e.name,"success"),this.allTasks=await h(this),this.requestUpdate()}_onToggleFolder(e){this.workspaceExpandedFolders=S(this.workspaceExpandedFolders,e),this.requestUpdate()}_onTeamSetup(){l.emit("chat-navigate",{sessionKey:"new",tab:"chat",message:"I want to set up a Team Workspace so my team can collaborate. Please walk me through it step by step, keeping it simple."})}async _onToggleTaskComplete(e,s){if(!await C(this,e,s)){this.ctx.addToast("Failed to update task","error");return}if(this.allTasks=await h(this),this.selectedWorkspace){const o=await p(this,this.selectedWorkspace.id);o&&(this.selectedWorkspace=o)}this.requestUpdate()}async _onCreateTask(e,s){const t=await B(this,e,s);if(!t){this.ctx.addToast("Failed to create task","error");return}if(this.ctx.addToast("Task created: "+t.title,"success"),this.allTasks=await h(this),this.selectedWorkspace){const o=await p(this,this.selectedWorkspace.id);o&&(this.selectedWorkspace=o)}this.requestUpdate()}async _onUpdateTask(e,s){if(!await x(this,e,s)){this.ctx.addToast("Failed to update task","error");return}if(this.editingTaskId=null,this.allTasks=await h(this),this.selectedWorkspace){const o=await p(this,this.selectedWorkspace.id);o&&(this.selectedWorkspace=o)}this.requestUpdate()}async _onStartTask(e){const s=await F(this,e);if(!s?.sessionId){this.ctx.addToast("Failed to open session for task","error");return}let t="";if(s.created&&!s.queueOutput){const o=[...this.allTasks??[],...this.selectedWorkspace?.tasks??[]].find(n=>n.id===e),c=o?.project?` (project: ${o.project})`:"";t="Let's work on: "+(o?.title??"this task")+c}this.allTasks=await h(this),this.requestUpdate(),l.emit("chat-navigate",{sessionKey:s.sessionId,tab:"chat",message:t})}async _onViewTaskOutput(e){const s=this.ctx?.gateway;if(!(!s||!this.ctx?.connected))try{const o=(await s.request("queue.list",{limit:100}))?.items?.find(d=>d.sourceTaskId===e);if(!o?.result?.outputPath){this.ctx?.addToast?.("No output available for this task","info");return}const c=await s.request("queue.readOutput",{path:o.result.outputPath}),n=o.result.outputPath.split("/").pop()??"Agent Output";this.ctx?.openSidebar?.({content:c.content,mimeType:"text/markdown",filePath:o.result.outputPath,title:n})}catch(t){console.error("[GmWork] View task output failed:",t),this.ctx?.addToast?.("Failed to load agent output","error")}}async _onBrowseFolder(e){if(!this.selectedWorkspace)return;const s=await b(this,this.selectedWorkspace.id,e);s&&(this.workspaceBrowsePath=e,this.workspaceBrowseEntries=s.entries,this.workspaceBreadcrumbs=s.breadcrumbs)}async _onBrowseSearch(e){if(this.workspaceBrowseSearchQuery=e,!e.trim()||!this.selectedWorkspace){this.workspaceBrowseSearchResults=null;return}this.workspaceBrowseSearchResults=await P(this,this.selectedWorkspace.id,e)}_onBrowseBack(){this.workspaceBrowsePath=null,this.workspaceBrowseEntries=null,this.workspaceBreadcrumbs=null,this.workspaceBrowseSearchQuery="",this.workspaceBrowseSearchResults=null}async _onCreateFolder(e){if(!this.selectedWorkspace)return;const s=await v(this,this.selectedWorkspace.id,e);s&&this.workspaceBrowsePath&&await this._onBrowseFolder(this.workspaceBrowsePath),s&&this.ctx.addToast("Folder created","success")}async _onPostToFeed(e,s){if(!this.selectedWorkspace)return;const t=await q(this,this.selectedWorkspace.id,e,s);if(!t){this.ctx.addToast("Failed to post to feed","error");return}this.selectedWorkspace.feedEntries&&(this.selectedWorkspace={...this.selectedWorkspace,feedEntries:[t,...this.selectedWorkspace.feedEntries]}),this.requestUpdate()}async _onTestConnection(e){if(!this.selectedWorkspace)return;this.ctx.addToast("Testing connection...","info");const s=await E(this,this.selectedWorkspace.id,e);if(s.ok){this.ctx.addToast("Connection OK","success");const t=await I(this,this.selectedWorkspace.id);this.selectedWorkspace={...this.selectedWorkspace,connections:t}}else this.ctx.addToast("Connection failed: "+(s.error??"unknown"),"error");this.requestUpdate()}async _onRemoveConnection(e){if(!this.selectedWorkspace)return;if(!await U(this,this.selectedWorkspace.id,e)){this.ctx.addToast("Failed to remove connection","error");return}this.ctx.addToast("Connection removed","success"),this.selectedWorkspace={...this.selectedWorkspace,connections:(this.selectedWorkspace.connections??[]).filter(t=>t.id!==e)},this.requestUpdate()}async _onBatchPushToDrive(e){if(!(e.length===0||!this.ctx.gateway||!this.ctx.connected)){this.ctx.addToast("Uploading "+e.length+" files to Drive...","info");try{const s=await this.ctx.gateway.request("files.batchPushToDrive",{filePaths:e}),t=s?.results?.filter(c=>c.success).length??0,o=s?.results?.length??e.length;t===o?this.ctx.addToast("Uploaded "+t+" files to Google Drive","success"):this.ctx.addToast("Uploaded "+t+"/"+o+" files ("+(o-t)+" failed)","warning")}catch(s){const t=s instanceof Error?s.message:"Unknown error";this.ctx.addToast("Batch Drive upload failed: "+t,"error")}}}};r([w({context:Q,subscribe:!0})],a.prototype,"ctx",2);r([i()],a.prototype,"workspaces",2);r([i()],a.prototype,"selectedWorkspace",2);r([i()],a.prototype,"workspacesSearchQuery",2);r([i()],a.prototype,"workspaceItemSearchQuery",2);r([i()],a.prototype,"workspacesLoading",2);r([i()],a.prototype,"workspacesCreateLoading",2);r([i()],a.prototype,"workspacesError",2);r([i()],a.prototype,"workspaceExpandedFolders",2);r([i()],a.prototype,"allTasks",2);r([i()],a.prototype,"taskFilter",2);r([i()],a.prototype,"taskSort",2);r([i()],a.prototype,"taskSearch",2);r([i()],a.prototype,"showCompletedTasks",2);r([i()],a.prototype,"editingTaskId",2);r([i()],a.prototype,"workspaceBrowsePath",2);r([i()],a.prototype,"workspaceBrowseEntries",2);r([i()],a.prototype,"workspaceBreadcrumbs",2);r([i()],a.prototype,"workspaceBrowseSearchQuery",2);r([i()],a.prototype,"workspaceBrowseSearchResults",2);a=r([T("gm-work")],a);export{a as GmWork};
|
|
1
|
+
import{d as u,g as w,r as i,t as T}from"./lit-core-CTInmNPB.js";import{a as l,l as f,b as h,s as k,r as g,t as m,c as y,d as W,e as _,f as S,g as C,h as p,i as B,u as x,j as F,k as b,m as P,n as v,p as q,o as E,q as I,v as U,w as Q}from"./index-DcYipcbm.js";import{r as L}from"./workspaces-vzpIVgdl.js";import"./ctrl-settings-COfcdhha.js";import"./views-settings-B2UFEtoi.js";import"./markdown-i_gIkIP3.js";var R=Object.defineProperty,D=Object.getOwnPropertyDescriptor,r=(e,s,t,o)=>{for(var c=o>1?void 0:o?D(s,t):s,n=e.length-1,d;n>=0;n--)(d=e[n])&&(c=(o?d(s,t,c):d(c))||c);return o&&c&&R(s,t,c),c};let a=class extends u{constructor(){super(...arguments),this.selectedWorkspace=null,this.workspacesSearchQuery="",this.workspaceItemSearchQuery="",this.workspacesLoading=!1,this.workspacesCreateLoading=!1,this.workspacesError=null,this.workspaceExpandedFolders=new Set,this.taskFilter="outstanding",this.taskSort="due",this.taskSearch="",this.showCompletedTasks=!1,this.editingTaskId=null,this.workspaceBrowsePath=null,this.workspaceBrowseEntries=null,this.workspaceBreadcrumbs=null,this.workspaceBrowseSearchQuery="",this.workspaceBrowseSearchResults=null,this._unsubs=[],this._lastConnected=!1,this._refreshInFlight=!1}createRenderRoot(){return this}get client(){return this.ctx.gateway}get connected(){return this.ctx.connected}connectedCallback(){super.connectedCallback(),this._unsubs.push(l.on("refresh-requested",e=>{(e.target==="workspaces"||e.target==="work")&&this._refresh()})),this._refresh()}disconnectedCallback(){for(const e of this._unsubs)e();this._unsubs=[],super.disconnectedCallback()}updated(e){super.updated?.(e);const s=this.ctx?.connected??!1;s&&!this._lastConnected&&(!this.workspaces?.length||this.workspacesError)&&this._refresh(),this._lastConnected=s}render(){return L({connected:this.ctx.connected,workspaces:this.workspaces??[],selectedWorkspace:this.selectedWorkspace??null,searchQuery:this.workspacesSearchQuery,itemSearchQuery:this.workspaceItemSearchQuery,expandedFolders:this.workspaceExpandedFolders,loading:this.workspacesLoading,createLoading:this.workspacesCreateLoading,error:this.workspacesError,allTasks:this.allTasks??[],taskFilter:this.taskFilter,taskSort:this.taskSort,taskSearch:this.taskSearch,showCompletedTasks:this.showCompletedTasks,editingTaskId:this.editingTaskId,workspaceNames:(this.workspaces??[]).map(e=>e.name),browsePath:this.workspaceBrowsePath,browseEntries:this.workspaceBrowseEntries,breadcrumbs:this.workspaceBreadcrumbs,browseSearchQuery:this.workspaceBrowseSearchQuery,browseSearchResults:this.workspaceBrowseSearchResults,onSearch:e=>{this.workspacesSearchQuery=e},onItemSearch:e=>{this.workspaceItemSearchQuery=e},onSelectWorkspace:e=>this._onSelectWorkspace(e),onBack:()=>this._onBack(),onItemClick:e=>this._onItemClick(e),onSessionClick:e=>this._onSessionClick(e),onPinToggle:(e,s,t)=>this._onPinToggle(e,s,t),onPinSessionToggle:(e,s,t)=>this._onPinSessionToggle(e,s,t),onCreateWorkspace:e=>this._onCreateWorkspace(e),onDeleteWorkspace:e=>this._onDeleteWorkspace(e),onToggleFolder:e=>this._onToggleFolder(e),onTeamSetup:()=>this._onTeamSetup(),onToggleTaskComplete:(e,s)=>this._onToggleTaskComplete(e,s),onCreateTask:(e,s)=>this._onCreateTask(e,s),onSetTaskFilter:e=>{this.taskFilter=e},onSetTaskSort:e=>{this.taskSort=e},onSetTaskSearch:e=>{this.taskSearch=e},onToggleCompletedTasks:()=>{this.showCompletedTasks=!this.showCompletedTasks},onStartTask:e=>this._onStartTask(e),onViewTaskOutput:e=>this._onViewTaskOutput(e),onEditTask:e=>{this.editingTaskId=e},onUpdateTask:(e,s)=>this._onUpdateTask(e,s),onBrowseFolder:e=>this._onBrowseFolder(e),onBrowseSearch:e=>this._onBrowseSearch(e),onBrowseBack:()=>this._onBrowseBack(),onCreateFolder:e=>this._onCreateFolder(e),onBatchPushToDrive:e=>this._onBatchPushToDrive(e),onPostToFeed:(e,s)=>this._onPostToFeed(e,s),onTestConnection:e=>this._onTestConnection(e),onRemoveConnection:e=>this._onRemoveConnection(e)})}async _refresh(){if(this._refreshInFlight)return;this._refreshInFlight=!0;const e=setTimeout(()=>{this.workspacesLoading&&(console.warn("[GmWork] safety timeout — forcing loading off"),this.workspacesLoading=!1,this.workspacesError??="Loading timed out — tap to retry",this.requestUpdate())},12e3);try{await f(this),this.allTasks=await h(this)}catch(s){console.error("[GmWork] refresh failed:",s)}finally{clearTimeout(e),this._refreshInFlight=!1}this.requestUpdate()}async _onSelectWorkspace(e){this.workspaceItemSearchQuery="",this.workspacesLoading=!0,this.requestUpdate();try{const s=new Promise((t,o)=>setTimeout(()=>o(new Error("Workspace load timed out")),1e4));await Promise.race([k(this,e),s])}catch(s){console.error("[GmWork] workspace select failed:",s),this.selectedWorkspace||(this.selectedWorkspace={...e,pinned:[],pinnedSessions:[],outputs:[],sessions:[],tasks:[]}),this.ctx.addToast(s instanceof Error?s.message:"Failed to open "+e.name,"error")}finally{this.workspacesLoading=!1,this.requestUpdate()}}_onBack(){this.selectedWorkspace=null,this.workspaceItemSearchQuery="",this._onBrowseBack()}async _onItemClick(e){const s=this.selectedWorkspace?.id,t=await g(this,e.path,s);if(!t){this.ctx.addToast("Failed to open "+e.name,"error");return}this.ctx.openSidebar({content:t.content,mimeType:t.mime,filePath:e.path,title:e.name})}_onSessionClick(e){e.key&&l.emit("chat-navigate",{sessionKey:e.key,tab:"chat"})}async _onPinToggle(e,s,t){await m(this,e,s,t)||this.ctx.addToast("Failed to update pin","error"),this.requestUpdate()}async _onPinSessionToggle(e,s,t){await y(this,e,s,t)||this.ctx.addToast("Failed to update session pin","error"),this.requestUpdate()}async _onCreateWorkspace(e){this.workspacesCreateLoading=!0;try{const s=await W(this,e);return s?(this.workspaceItemSearchQuery="",await k(this,s),this.ctx.addToast("Created workspace: "+s.name,"success"),this.requestUpdate(),!0):(this.ctx.addToast("Failed to create workspace","error"),!1)}finally{this.workspacesCreateLoading=!1}}async _onDeleteWorkspace(e){if(!await _(this,e.id)){this.ctx.addToast("Failed to delete "+e.name,"error");return}this.ctx.addToast("Deleted workspace: "+e.name,"success"),this.allTasks=await h(this),this.requestUpdate()}_onToggleFolder(e){this.workspaceExpandedFolders=S(this.workspaceExpandedFolders,e),this.requestUpdate()}_onTeamSetup(){l.emit("chat-navigate",{sessionKey:"new",tab:"chat",message:"I want to set up a Team Workspace so my team can collaborate. Please walk me through it step by step, keeping it simple."})}async _onToggleTaskComplete(e,s){if(!await C(this,e,s)){this.ctx.addToast("Failed to update task","error");return}if(this.allTasks=await h(this),this.selectedWorkspace){const o=await p(this,this.selectedWorkspace.id);o&&(this.selectedWorkspace=o)}this.requestUpdate()}async _onCreateTask(e,s){const t=await B(this,e,s);if(!t){this.ctx.addToast("Failed to create task","error");return}if(this.ctx.addToast("Task created: "+t.title,"success"),this.allTasks=await h(this),this.selectedWorkspace){const o=await p(this,this.selectedWorkspace.id);o&&(this.selectedWorkspace=o)}this.requestUpdate()}async _onUpdateTask(e,s){if(!await x(this,e,s)){this.ctx.addToast("Failed to update task","error");return}if(this.editingTaskId=null,this.allTasks=await h(this),this.selectedWorkspace){const o=await p(this,this.selectedWorkspace.id);o&&(this.selectedWorkspace=o)}this.requestUpdate()}async _onStartTask(e){const s=await F(this,e);if(!s?.sessionId){this.ctx.addToast("Failed to open session for task","error");return}let t="";if(s.created&&!s.queueOutput){const o=[...this.allTasks??[],...this.selectedWorkspace?.tasks??[]].find(n=>n.id===e),c=o?.project?` (project: ${o.project})`:"";t="Let's work on: "+(o?.title??"this task")+c}this.allTasks=await h(this),this.requestUpdate(),l.emit("chat-navigate",{sessionKey:s.sessionId,tab:"chat",message:t})}async _onViewTaskOutput(e){const s=this.ctx?.gateway;if(!(!s||!this.ctx?.connected))try{const o=(await s.request("queue.list",{limit:100}))?.items?.find(d=>d.sourceTaskId===e);if(!o?.result?.outputPath){this.ctx?.addToast?.("No output available for this task","info");return}const c=await s.request("queue.readOutput",{path:o.result.outputPath}),n=o.result.outputPath.split("/").pop()??"Agent Output";this.ctx?.openSidebar?.({content:c.content,mimeType:"text/markdown",filePath:o.result.outputPath,title:n})}catch(t){console.error("[GmWork] View task output failed:",t),this.ctx?.addToast?.("Failed to load agent output","error")}}async _onBrowseFolder(e){if(!this.selectedWorkspace)return;const s=await b(this,this.selectedWorkspace.id,e);s&&(this.workspaceBrowsePath=e,this.workspaceBrowseEntries=s.entries,this.workspaceBreadcrumbs=s.breadcrumbs)}async _onBrowseSearch(e){if(this.workspaceBrowseSearchQuery=e,!e.trim()||!this.selectedWorkspace){this.workspaceBrowseSearchResults=null;return}this.workspaceBrowseSearchResults=await P(this,this.selectedWorkspace.id,e)}_onBrowseBack(){this.workspaceBrowsePath=null,this.workspaceBrowseEntries=null,this.workspaceBreadcrumbs=null,this.workspaceBrowseSearchQuery="",this.workspaceBrowseSearchResults=null}async _onCreateFolder(e){if(!this.selectedWorkspace)return;const s=await v(this,this.selectedWorkspace.id,e);s&&this.workspaceBrowsePath&&await this._onBrowseFolder(this.workspaceBrowsePath),s&&this.ctx.addToast("Folder created","success")}async _onPostToFeed(e,s){if(!this.selectedWorkspace)return;const t=await q(this,this.selectedWorkspace.id,e,s);if(!t){this.ctx.addToast("Failed to post to feed","error");return}this.selectedWorkspace.feedEntries&&(this.selectedWorkspace={...this.selectedWorkspace,feedEntries:[t,...this.selectedWorkspace.feedEntries]}),this.requestUpdate()}async _onTestConnection(e){if(!this.selectedWorkspace)return;this.ctx.addToast("Testing connection...","info");const s=await E(this,this.selectedWorkspace.id,e);if(s.ok){this.ctx.addToast("Connection OK","success");const t=await I(this,this.selectedWorkspace.id);this.selectedWorkspace={...this.selectedWorkspace,connections:t}}else this.ctx.addToast("Connection failed: "+(s.error??"unknown"),"error");this.requestUpdate()}async _onRemoveConnection(e){if(!this.selectedWorkspace)return;if(!await U(this,this.selectedWorkspace.id,e)){this.ctx.addToast("Failed to remove connection","error");return}this.ctx.addToast("Connection removed","success"),this.selectedWorkspace={...this.selectedWorkspace,connections:(this.selectedWorkspace.connections??[]).filter(t=>t.id!==e)},this.requestUpdate()}async _onBatchPushToDrive(e){if(!(e.length===0||!this.ctx.gateway||!this.ctx.connected)){this.ctx.addToast("Uploading "+e.length+" files to Drive...","info");try{const s=await this.ctx.gateway.request("files.batchPushToDrive",{filePaths:e}),t=s?.results?.filter(c=>c.success).length??0,o=s?.results?.length??e.length;t===o?this.ctx.addToast("Uploaded "+t+" files to Google Drive","success"):this.ctx.addToast("Uploaded "+t+"/"+o+" files ("+(o-t)+" failed)","warning")}catch(s){const t=s instanceof Error?s.message:"Unknown error";this.ctx.addToast("Batch Drive upload failed: "+t,"error")}}}};r([w({context:Q,subscribe:!0})],a.prototype,"ctx",2);r([i()],a.prototype,"workspaces",2);r([i()],a.prototype,"selectedWorkspace",2);r([i()],a.prototype,"workspacesSearchQuery",2);r([i()],a.prototype,"workspaceItemSearchQuery",2);r([i()],a.prototype,"workspacesLoading",2);r([i()],a.prototype,"workspacesCreateLoading",2);r([i()],a.prototype,"workspacesError",2);r([i()],a.prototype,"workspaceExpandedFolders",2);r([i()],a.prototype,"allTasks",2);r([i()],a.prototype,"taskFilter",2);r([i()],a.prototype,"taskSort",2);r([i()],a.prototype,"taskSearch",2);r([i()],a.prototype,"showCompletedTasks",2);r([i()],a.prototype,"editingTaskId",2);r([i()],a.prototype,"workspaceBrowsePath",2);r([i()],a.prototype,"workspaceBrowseEntries",2);r([i()],a.prototype,"workspaceBreadcrumbs",2);r([i()],a.prototype,"workspaceBrowseSearchQuery",2);r([i()],a.prototype,"workspaceBrowseSearchResults",2);a=r([T("gm-work")],a);export{a as GmWork};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{A as c,b as a}from"./lit-core-CTInmNPB.js";import{f as P,ab as Q}from"./ctrl-settings-
|
|
1
|
+
import{A as c,b as a}from"./lit-core-CTInmNPB.js";import{f as P,ab as Q}from"./ctrl-settings-COfcdhha.js";function ie(e){return!Number.isFinite(e)||e<=0?"0 B":e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function z(e){switch(e){case"markdown":return"📄";case"html":return"🌐";case"image":return"🖼️";case"json":return"🧩";case"folder":return"📁";default:return"📄"}}function te(e){return e==="running"?"ws-session-dot ws-session-dot--running":e==="blocked"?"ws-session-dot ws-session-dot--blocked":"ws-session-dot ws-session-dot--complete"}function le(e){return`ws-task-priority ws-task-priority--${e}`}function oe(e){return e==="high"?"High":e==="low"?"Low":"Med"}function re(e){if(!e)return"";const t=Q();return e===t?"Today":e<t?`Overdue (${e})`:e}function ce(e){if(!e)return"ws-task-due";const t=Q();return e<t?"ws-task-due ws-task-due--overdue":e===t?"ws-task-due ws-task-due--today":"ws-task-due"}function V(e,t="due"){const s={high:0,medium:1,low:2};return[...e].sort((n,i)=>{if(t==="priority"){const l=s[n.priority]-s[i.priority];return l!==0?l:n.dueDate&&i.dueDate?n.dueDate.localeCompare(i.dueDate):n.dueDate&&!i.dueDate?-1:!n.dueDate&&i.dueDate?1:0}if(t==="newest")return(i.createdAt||"").localeCompare(n.createdAt||"");if(n.dueDate&&i.dueDate){const l=n.dueDate.localeCompare(i.dueDate);if(l!==0)return l}else{if(n.dueDate&&!i.dueDate)return-1;if(!n.dueDate&&i.dueDate)return 1}return s[n.priority]-s[i.priority]})}function se(e,t,s,n,i,l,r){const p=e.status==="complete";return n===e.id?a`
|
|
2
2
|
<form
|
|
3
3
|
class="ws-list-row ws-task-row ws-task-edit-row"
|
|
4
4
|
aria-label="Edit task: ${e.title}"
|
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
<link rel="icon" href="./favicon.svg?v=2" type="image/svg+xml" />
|
|
9
9
|
<link rel="icon" href="./favicon.ico?v=2" sizes="16x16 32x32 48x48" />
|
|
10
10
|
<link rel="apple-touch-icon" href="./apple-touch-icon.png" sizes="180x180" />
|
|
11
|
-
<script type="module" crossorigin src="./assets/index-
|
|
12
|
-
<link rel="modulepreload" crossorigin href="./assets/ctrl-settings-
|
|
11
|
+
<script type="module" crossorigin src="./assets/index-DcYipcbm.js"></script>
|
|
12
|
+
<link rel="modulepreload" crossorigin href="./assets/ctrl-settings-COfcdhha.js">
|
|
13
13
|
<link rel="modulepreload" crossorigin href="./assets/lit-core-CTInmNPB.js">
|
|
14
14
|
<link rel="modulepreload" crossorigin href="./assets/markdown-i_gIkIP3.js">
|
|
15
|
-
<link rel="modulepreload" crossorigin href="./assets/views-settings-
|
|
15
|
+
<link rel="modulepreload" crossorigin href="./assets/views-settings-B2UFEtoi.js">
|
|
16
16
|
<link rel="stylesheet" crossorigin href="./assets/index-DmEmOd0w.css">
|
|
17
17
|
</head>
|
|
18
18
|
<body>
|
package/openclaw.plugin.json
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
"id": "godmode",
|
|
3
3
|
"name": "GodMode",
|
|
4
4
|
"description": "Personal AI Operating System — your deeply contextual AI ally that manages tasks, memory, integrations, and a swarm of agents",
|
|
5
|
-
"version": "1.8.
|
|
5
|
+
"version": "1.8.2",
|
|
6
6
|
"license": "FSL-1.1-MIT",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "GodMode Team",
|
|
9
9
|
"url": "https://lifeongodmode.com"
|
|
10
10
|
},
|
|
11
|
-
"repository": "https://github.com/GodMode-Team/godmode
|
|
11
|
+
"repository": "https://github.com/GodMode-Team/godmode",
|
|
12
12
|
"homepage": "https://lifeongodmode.com",
|
|
13
13
|
"keywords": ["ai", "personal-ai", "agent", "memory", "productivity", "second-brain", "automation"],
|
|
14
14
|
"categories": ["productivity", "ai-agents", "automation", "memory"],
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@godmode-team/godmode",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.2",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "GodMode - Personal AI Operating System plugin for OpenClaw",
|
|
6
6
|
"license": "FSL-1.1-MIT",
|
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
"homepage": "https://lifeongodmode.com",
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|
|
11
|
-
"url": "git+https://github.com/GodMode-Team/godmode
|
|
11
|
+
"url": "git+https://github.com/GodMode-Team/godmode.git"
|
|
12
12
|
},
|
|
13
13
|
"bugs": {
|
|
14
|
-
"url": "https://github.com/GodMode-Team/godmode
|
|
14
|
+
"url": "https://github.com/GodMode-Team/godmode/issues"
|
|
15
15
|
},
|
|
16
16
|
"keywords": [
|
|
17
17
|
"openclaw",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"@honcho-ai/sdk": "2.0.1",
|
|
75
75
|
"@lit/context": "1.1.6",
|
|
76
76
|
"@noble/ed25519": "3.0.0",
|
|
77
|
-
"better-sqlite3": "
|
|
77
|
+
"better-sqlite3": "^12.8.0",
|
|
78
78
|
"chokidar": "4.0.3",
|
|
79
79
|
"dompurify": "3.3.3",
|
|
80
80
|
"json5": "2.2.3",
|