@karmaniverous/jeeves-server 3.3.1 → 3.4.1

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/CHANGELOG.md CHANGED
@@ -2,11 +2,32 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. Dates are displayed in UTC.
4
4
 
5
- #### [3.3.1](https://github.com/karmaniverous/jeeves-server/compare/service/3.3.0...3.3.1)
5
+ #### [3.4.1](https://github.com/karmaniverous/jeeves-server/compare/service/3.4.0...3.4.1)
6
+
7
+ - Remove /health proxy, rename /stats to /status, align client types [`#122`](https://github.com/karmaniverous/jeeves-server/pull/122)
8
+ - Fix runner proxy routes calling wrong endpoints [`#121`](https://github.com/karmaniverous/jeeves-server/pull/121)
9
+ - chore: release @karmaniverous/jeeves-server-openclaw v0.5.0 [`5f29c12`](https://github.com/karmaniverous/jeeves-server/commit/5f29c12a227209676c37fe2cafac498b8b845876)
10
+ - [120] fix: runner proxy routes call /status instead of /stats and /health (#120) [`6a9aa21`](https://github.com/karmaniverous/jeeves-server/commit/6a9aa212819c9ab3cf8ce9fee9052697e7a2da9d)
11
+ - [120] fix: runner proxy routes call /status instead of /stats and /health (#120) [`8310b32`](https://github.com/karmaniverous/jeeves-server/commit/8310b32f2e3e0a0ca02f4c41230f663ef610f8cd)
12
+
13
+ #### [service/3.4.0](https://github.com/karmaniverous/jeeves-server/compare/service/3.3.1...service/3.4.0)
14
+
15
+ > 23 March 2026
16
+
17
+ - Bump core to v0.3.0 and consolidate status endpoint [`#119`](https://github.com/karmaniverous/jeeves-server/pull/119)
18
+ - [117] feat: bump core to v0.3.0 and consolidate status endpoint (#117) [`c80be62`](https://github.com/karmaniverous/jeeves-server/commit/c80be62a3f512f7524c917b153ca6ecb053a6ce4)
19
+ - chore: release @karmaniverous/jeeves-server-openclaw v0.4.1 [`01a64b8`](https://github.com/karmaniverous/jeeves-server/commit/01a64b8693ffedb307022ed6d48ebd515aef10ab)
20
+ - chore: release @karmaniverous/jeeves-server v3.4.0 [`ed98759`](https://github.com/karmaniverous/jeeves-server/commit/ed98759eea126bb02666117ae8426c265c679736)
21
+ - [117] refactor(openclaw): use resolveOptionalPluginSetting for getPluginKey (#112) [`6b36937`](https://github.com/karmaniverous/jeeves-server/commit/6b3693725b3e6211fab250cdd935aa9e4a0091cc)
22
+
23
+ #### [service/3.3.1](https://github.com/karmaniverous/jeeves-server/compare/service/3.3.0...service/3.3.1)
24
+
25
+ > 22 March 2026
6
26
 
7
27
  - Add configurable host bind + metaUrl service probe [`#114`](https://github.com/karmaniverous/jeeves-server/pull/114)
8
28
  - chore: release @karmaniverous/jeeves-server-openclaw v0.4.0 [`566e438`](https://github.com/karmaniverous/jeeves-server/commit/566e438a5262e5f2e80db4690c9907b6658e5519)
9
29
  - [113] feat: add host bind and metaUrl config options [`798d133`](https://github.com/karmaniverous/jeeves-server/commit/798d133825f99f5a5fc19bb0ba9093b757f62f0f)
30
+ - chore: release @karmaniverous/jeeves-server v3.3.1 [`bf01414`](https://github.com/karmaniverous/jeeves-server/commit/bf01414184cc7b1b64a46f955f3bb850ab8d6e92)
10
31
  - npm audit fix [`a07adac`](https://github.com/karmaniverous/jeeves-server/commit/a07adac906ca032bedeef25b16b9e0c05231b4b0)
11
32
 
12
33
  #### [service/3.3.0](https://github.com/karmaniverous/jeeves-server/compare/service/3.2.1...service/3.3.0)
@@ -54,8 +54,12 @@ interface RawRun {
54
54
  }
55
55
 
56
56
  interface RawStats {
57
+ status: string;
58
+ version: string;
59
+ uptime: number;
57
60
  totalJobs: number;
58
61
  running: number;
62
+ failedRegistrations: number;
59
63
  okLastHour: number;
60
64
  errorsLastHour: number;
61
65
  }
@@ -63,8 +67,12 @@ interface RawStats {
63
67
  // --- Public types (camelCase) ---
64
68
 
65
69
  export interface RunnerStats {
70
+ status: string;
71
+ version: string;
72
+ uptime: number;
66
73
  totalJobs: number;
67
74
  running: number;
75
+ failedRegistrations: number;
68
76
  okLastHour: number;
69
77
  errorsLastHour: number;
70
78
  }
@@ -124,7 +132,7 @@ function mapRun(raw: RawRun): RunEntry {
124
132
  }
125
133
 
126
134
  export async function getRunnerStats(): Promise<RunnerStats> {
127
- const raw = await runnerFetch<RawStats>('/stats');
135
+ const raw = await runnerFetch<RawStats>('/status');
128
136
  return raw;
129
137
  }
130
138
 
@@ -1 +1 @@
1
- import{r as t,u as L,l as M,g as B,j as e}from"./index-Bk4tUE4j.js";function J({content:i,fileName:h,onSave:c,onCancel:b}){const n=t.useRef(null),r=t.useRef(null),[d,l]=t.useState(!1),[u,f]=t.useState(!1),[y,v]=t.useState(!0),[C]=L(),x=t.useRef(i),m=t.useCallback(async()=>{if(!r.current)return;const s=r.current.state.doc.toString();f(!0);try{await c(s),x.current=s,l(!1)}finally{f(!1)}},[c]);return t.useEffect(()=>{if(!n.current)return;let s=!1;return(async()=>{const{EditorView:o,EditorState:j,basicSetup:w,keymap:S,oneDark:N}=await M();if(s)return;const E=h.split(".").pop()??"",p=await B(E);if(s)return;const a=[w,S.of([{key:"Mod-s",run:()=>(m(),!0)}]),o.updateListener.of(g=>{if(g.docChanged){const F=g.state.doc.toString();l(F!==x.current)}}),o.theme({"&":{fontSize:"14px",height:"100%"},".cm-scroller":{overflow:"auto"},".cm-content":{fontFamily:"'JetBrains Mono', 'Fira Code', 'Consolas', monospace"},".cm-gutters":{fontFamily:"'JetBrains Mono', 'Fira Code', 'Consolas', monospace"}})];C==="dark"&&a.push(N),p&&a.push(p);const k=j.create({doc:i,extensions:a}),R=new o({state:k,parent:n.current});r.current=R,v(!1)})(),()=>{s=!0,r.current&&(r.current.destroy(),r.current=null)}},[]),e.jsxs("div",{className:"flex flex-col h-full",children:[e.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 border-b border-border bg-muted/50",children:[e.jsx("span",{className:"text-sm font-medium text-foreground",children:"Editing"}),d&&e.jsx("span",{className:"text-xs px-1.5 py-0.5 bg-amber-500/20 text-amber-600 dark:text-amber-400 rounded",children:"unsaved"}),e.jsx("div",{className:"flex-1"}),e.jsx("button",{onClick:b,className:"px-3 py-1 text-sm rounded border border-border text-muted-foreground hover:bg-accent transition-colors",children:"Cancel"}),e.jsx("button",{onClick:m,disabled:u||!d,className:"px-3 py-1 text-sm rounded bg-blue-600 text-white hover:bg-blue-700 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:u?"Saving…":"Save"}),e.jsx("span",{className:"text-xs text-muted-foreground hidden sm:inline",children:"Ctrl+S"})]}),e.jsx("div",{ref:n,className:"flex-1 overflow-hidden",children:y&&e.jsx("div",{className:"flex items-center justify-center h-32 text-muted-foreground",children:"Loading editor…"})})]})}export{J as CodeEditor};
1
+ import{r as t,u as L,l as M,g as B,j as e}from"./index-jSGuHSeS.js";function J({content:i,fileName:h,onSave:c,onCancel:b}){const n=t.useRef(null),r=t.useRef(null),[d,l]=t.useState(!1),[u,f]=t.useState(!1),[y,v]=t.useState(!0),[C]=L(),x=t.useRef(i),m=t.useCallback(async()=>{if(!r.current)return;const s=r.current.state.doc.toString();f(!0);try{await c(s),x.current=s,l(!1)}finally{f(!1)}},[c]);return t.useEffect(()=>{if(!n.current)return;let s=!1;return(async()=>{const{EditorView:o,EditorState:j,basicSetup:w,keymap:S,oneDark:N}=await M();if(s)return;const E=h.split(".").pop()??"",p=await B(E);if(s)return;const a=[w,S.of([{key:"Mod-s",run:()=>(m(),!0)}]),o.updateListener.of(g=>{if(g.docChanged){const F=g.state.doc.toString();l(F!==x.current)}}),o.theme({"&":{fontSize:"14px",height:"100%"},".cm-scroller":{overflow:"auto"},".cm-content":{fontFamily:"'JetBrains Mono', 'Fira Code', 'Consolas', monospace"},".cm-gutters":{fontFamily:"'JetBrains Mono', 'Fira Code', 'Consolas', monospace"}})];C==="dark"&&a.push(N),p&&a.push(p);const k=j.create({doc:i,extensions:a}),R=new o({state:k,parent:n.current});r.current=R,v(!1)})(),()=>{s=!0,r.current&&(r.current.destroy(),r.current=null)}},[]),e.jsxs("div",{className:"flex flex-col h-full",children:[e.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 border-b border-border bg-muted/50",children:[e.jsx("span",{className:"text-sm font-medium text-foreground",children:"Editing"}),d&&e.jsx("span",{className:"text-xs px-1.5 py-0.5 bg-amber-500/20 text-amber-600 dark:text-amber-400 rounded",children:"unsaved"}),e.jsx("div",{className:"flex-1"}),e.jsx("button",{onClick:b,className:"px-3 py-1 text-sm rounded border border-border text-muted-foreground hover:bg-accent transition-colors",children:"Cancel"}),e.jsx("button",{onClick:m,disabled:u||!d,className:"px-3 py-1 text-sm rounded bg-blue-600 text-white hover:bg-blue-700 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:u?"Saving…":"Save"}),e.jsx("span",{className:"text-xs text-muted-foreground hidden sm:inline",children:"Ctrl+S"})]}),e.jsx("div",{ref:n,className:"flex-1 overflow-hidden",children:y&&e.jsx("div",{className:"flex items-center justify-center h-32 text-muted-foreground",children:"Loading editor…"})})]})}export{J as CodeEditor};
@@ -1 +1 @@
1
- import{c as b,r as t,u as j,l as E,g as k,j as e,C as N}from"./index-Bk4tUE4j.js";const R=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],S=b("copy",R);function M({content:o,fileName:i}){const s=t.useRef(null),r=t.useRef(null),[f,x]=t.useState(!0),[h,d]=t.useState(!1),[l]=j(),m=async()=>{await navigator.clipboard.writeText(o),d(!0),setTimeout(()=>d(!1),1500)};return t.useEffect(()=>{if(!s.current)return;let n=!1;return(async()=>{const{EditorView:a,EditorState:u,basicSetup:g,oneDark:y}=await E();if(n)return;const w=i.split(".").pop()??"",p=await k(w);if(n)return;const c=[g,u.readOnly.of(!0),a.editable.of(!1),a.theme({"&":{fontSize:"14px"},".cm-scroller":{overflow:"auto"},".cm-content":{fontFamily:"'JetBrains Mono', 'Fira Code', 'Consolas', monospace"},".cm-gutters":{fontFamily:"'JetBrains Mono', 'Fira Code', 'Consolas', monospace"},".cm-cursor":{display:"none"}})];l==="dark"&&c.push(y),p&&c.push(p);const v=u.create({doc:o,extensions:c}),C=new a({state:v,parent:s.current});r.current=C,x(!1)})(),()=>{n=!0,r.current&&(r.current.destroy(),r.current=null)}},[o,i,l]),e.jsxs("div",{className:"relative group rounded-lg border border-border overflow-hidden",children:[e.jsx("div",{className:"absolute top-2 right-2 z-10",children:e.jsx("button",{onClick:()=>{m()},className:"p-1.5 rounded bg-accent hover:bg-accent/80 text-muted-foreground hover:text-foreground opacity-0 group-hover:opacity-100 transition-all",title:"Copy to clipboard",children:h?e.jsx(N,{className:"h-3.5 w-3.5 text-green-400"}):e.jsx(S,{className:"h-3.5 w-3.5"})})}),e.jsx("div",{ref:s,children:f&&e.jsx("pre",{className:"p-4 text-sm text-muted-foreground bg-muted",children:e.jsxs("code",{children:[o.slice(0,200),"…"]})})})]})}export{M as CodeViewer};
1
+ import{c as b,r as t,u as j,l as E,g as k,j as e,C as N}from"./index-jSGuHSeS.js";const R=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],S=b("copy",R);function M({content:o,fileName:i}){const s=t.useRef(null),r=t.useRef(null),[f,x]=t.useState(!0),[h,d]=t.useState(!1),[l]=j(),m=async()=>{await navigator.clipboard.writeText(o),d(!0),setTimeout(()=>d(!1),1500)};return t.useEffect(()=>{if(!s.current)return;let n=!1;return(async()=>{const{EditorView:a,EditorState:u,basicSetup:g,oneDark:y}=await E();if(n)return;const w=i.split(".").pop()??"",p=await k(w);if(n)return;const c=[g,u.readOnly.of(!0),a.editable.of(!1),a.theme({"&":{fontSize:"14px"},".cm-scroller":{overflow:"auto"},".cm-content":{fontFamily:"'JetBrains Mono', 'Fira Code', 'Consolas', monospace"},".cm-gutters":{fontFamily:"'JetBrains Mono', 'Fira Code', 'Consolas', monospace"},".cm-cursor":{display:"none"}})];l==="dark"&&c.push(y),p&&c.push(p);const v=u.create({doc:o,extensions:c}),C=new a({state:v,parent:s.current});r.current=C,x(!1)})(),()=>{n=!0,r.current&&(r.current.destroy(),r.current=null)}},[o,i,l]),e.jsxs("div",{className:"relative group rounded-lg border border-border overflow-hidden",children:[e.jsx("div",{className:"absolute top-2 right-2 z-10",children:e.jsx("button",{onClick:()=>{m()},className:"p-1.5 rounded bg-accent hover:bg-accent/80 text-muted-foreground hover:text-foreground opacity-0 group-hover:opacity-100 transition-all",title:"Copy to clipboard",children:h?e.jsx(N,{className:"h-3.5 w-3.5 text-green-400"}):e.jsx(S,{className:"h-3.5 w-3.5"})})}),e.jsx("div",{ref:s,children:f&&e.jsx("pre",{className:"p-4 text-sm text-muted-foreground bg-muted",children:e.jsxs("code",{children:[o.slice(0,200),"…"]})})})]})}export{M as CodeViewer};