opencami 1.4.0 → 1.5.0

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 (77) hide show
  1. package/README.md +60 -0
  2. package/dist/client/assets/CSPContext-EgWK8bIJ.js +1 -0
  3. package/dist/client/assets/DirectionContext-DXtY05YF.js +1 -0
  4. package/dist/client/assets/_sessionKey-B89e7G3y.js +100 -0
  5. package/dist/client/assets/agents-screen-1BiEZ9od.js +1 -0
  6. package/dist/client/assets/agents-x54ocA9z.js +2 -0
  7. package/dist/client/assets/bots-screen-BNQciUeJ.js +1 -0
  8. package/dist/client/assets/bots-x86ZHG4b.js +2 -0
  9. package/dist/client/assets/button-nDcsaNPl.js +1 -0
  10. package/dist/client/assets/{connect-D3baVDFL.js → connect-w4lLOqiJ.js} +1 -1
  11. package/dist/client/assets/file-explorer-screen-CAsjd3w8.js +1 -0
  12. package/dist/client/assets/files-Bype5Mnb.js +2 -0
  13. package/dist/client/assets/{index-ByIsZcHh.js → index-36G0WCxU.js} +1 -1
  14. package/dist/client/assets/{index-CVV4XiZo.js → index-BXkRE220.js} +2 -2
  15. package/dist/client/assets/keyboard-shortcuts-dialog-BdCeXRjD.js +1 -0
  16. package/dist/client/assets/{main-CkIF0soY.js → main-B3N0eQFg.js} +129 -17
  17. package/dist/client/assets/{opencami-logo-CIxSO1oo.js → opencami-logo-DD0DPFRQ.js} +1 -1
  18. package/dist/client/assets/{react-BhVdgA5r.js → react-B16OrBeM.js} +1 -1
  19. package/dist/client/assets/search-dialog-BjTPceEl.js +1 -0
  20. package/dist/client/assets/session-export-dialog-DtHKG2zW.js +1 -0
  21. package/dist/client/assets/settings-dialog-hiqdk_UD.js +1 -0
  22. package/dist/client/assets/skills-DhwyFq3y.js +2 -0
  23. package/dist/client/assets/skills-panel-BLUjzfjJ.js +5 -0
  24. package/dist/client/assets/styles-CHP4l6vZ.css +1 -0
  25. package/dist/client/assets/switch-J6wLIVu2.js +1 -0
  26. package/dist/client/assets/tabs-DvPgTz5I.js +1 -0
  27. package/dist/client/assets/tooltip-C14vdXHK.js +1 -0
  28. package/dist/client/assets/use-file-explorer-state-BnaJEqRP.js +12 -0
  29. package/dist/client/assets/useButton-Bnnac1eR.js +1 -0
  30. package/dist/client/assets/useCompositeItem-BgiEMKAt.js +1 -0
  31. package/dist/client/assets/{useControlled-Y306krcC.js → useControlled-BhUuiHAm.js} +1 -1
  32. package/dist/client/assets/{useMutation-0WgW4xQJ.js → useMutation-CFmVaBag.js} +1 -1
  33. package/dist/client/assets/visuallyHidden-DCCICp6T.js +9 -0
  34. package/dist/server/assets/{_sessionKey-BhFH4uWY.js → _sessionKey-tRze5NLR.js} +178 -46
  35. package/dist/server/assets/_tanstack-start-manifest_v-CyfoMvUa.js +4 -0
  36. package/dist/server/assets/{agents-Dz_i76VW.js → agents-CmQ4vvXm.js} +1 -1
  37. package/dist/server/assets/{agents-screen-CqQPJndp.js → agents-screen-bmrIyFbk.js} +43 -35
  38. package/dist/server/assets/{bots-6ryCIgKh.js → bots-Byt6jv0a.js} +1 -1
  39. package/dist/server/assets/bots-screen-C2TGFv42.js +474 -0
  40. package/dist/server/assets/{button-DtQ3rV1m.js → button-CwY2OHFj.js} +2 -2
  41. package/dist/server/assets/{connect-B8jpGQGK.js → connect-d3AqjAqe.js} +2 -2
  42. package/dist/server/assets/{file-explorer-screen-DCfS_Ajx.js → file-explorer-screen-CVlFiAFu.js} +36 -36
  43. package/dist/server/assets/{files-D2GIrPF4.js → files-BIEcSPGp.js} +1 -1
  44. package/dist/server/assets/{index-BNSsDaLb.js → index-CNIATlJ9.js} +22 -3
  45. package/dist/server/assets/{index-B2JHn34C.js → index-CRfLKh30.js} +2 -1
  46. package/dist/server/assets/{keyboard-shortcuts-dialog-CqIm8aYF.js → keyboard-shortcuts-dialog-CsNP85q8.js} +2 -2
  47. package/dist/server/assets/{router-Dme7USeO.js → router-rn7pJO_D.js} +356 -64
  48. package/dist/server/assets/{search-dialog-DG0D9KRN.js → search-dialog-Bz4Cu0KW.js} +23 -6
  49. package/dist/server/assets/{session-export-dialog-DLPZVlQV.js → session-export-dialog-CwclV0Aj.js} +2 -2
  50. package/dist/server/assets/{settings-dialog-BaGT4e5l.js → settings-dialog-BBM7jCjE.js} +386 -95
  51. package/dist/server/assets/skills-Cy8xclXY.js +11 -0
  52. package/dist/server/assets/skills-panel-BnRNb7u9.js +762 -0
  53. package/dist/server/assets/{switch-DnX0MjGS.js → switch-BbkUeVDV.js} +1 -1
  54. package/dist/server/assets/tabs-DDFZob0m.js +67 -0
  55. package/dist/server/assets/{tooltip-gbV6rEVv.js → tooltip-DgsSPocE.js} +1 -1
  56. package/dist/server/assets/{use-file-explorer-state-DfAKF2gZ.js → use-file-explorer-state-Il1LlBAe.js} +1 -1
  57. package/dist/server/server.js +2 -2
  58. package/package.json +6 -2
  59. package/dist/client/assets/_sessionKey-DB95zj1L.js +0 -97
  60. package/dist/client/assets/agents-LFrWe-HX.js +0 -2
  61. package/dist/client/assets/agents-screen-CEBBk1yO.js +0 -1
  62. package/dist/client/assets/bots-CxDwf_WK.js +0 -2
  63. package/dist/client/assets/bots-screen-D6qma1wK.js +0 -1
  64. package/dist/client/assets/button-Il3CHIzX.js +0 -1
  65. package/dist/client/assets/file-explorer-screen-rtV6n-5_.js +0 -1
  66. package/dist/client/assets/files-DMemuq9D.js +0 -2
  67. package/dist/client/assets/keyboard-shortcuts-dialog-DXC0YHoy.js +0 -1
  68. package/dist/client/assets/search-dialog-I1jJplIh.js +0 -1
  69. package/dist/client/assets/session-export-dialog-CH5unryw.js +0 -1
  70. package/dist/client/assets/settings-dialog-B8v-GVJ8.js +0 -1
  71. package/dist/client/assets/styles-BaTVzdPa.css +0 -1
  72. package/dist/client/assets/switch-sQnv1YsK.js +0 -1
  73. package/dist/client/assets/tooltip-j_viC_EE.js +0 -1
  74. package/dist/client/assets/use-file-explorer-state-BUH-u7Jv.js +0 -12
  75. package/dist/client/assets/useButton-9VAzplAB.js +0 -9
  76. package/dist/server/assets/_tanstack-start-manifest_v-BaIrL1VQ.js +0 -4
  77. package/dist/server/assets/bots-screen-DS_ZF9Ec.js +0 -417
package/README.md CHANGED
@@ -79,11 +79,71 @@ Then open the URL printed by Vite in your terminal.
79
79
 
80
80
  > Dev port notes: this repo's `npm run dev` script uses port `3002`. If you run Vite directly with the config default, it targets `3003` and auto-falls back to the next free port.
81
81
 
82
+ ## 🖥️ Desktop App (Tauri) — ⚠️ Beta
83
+
84
+ > **Note:** The desktop app is experimental and under active development. The primary focus of OpenCami is the **web app**. Native builds (desktop & mobile) are secondary.
85
+
86
+ OpenCami can also run as a native macOS/Windows/Linux desktop wrapper built with Tauri v2. The app loads your self-hosted OpenCami web instance.
87
+
88
+ ### Prerequisites
89
+
90
+ - Node.js 18+
91
+ - Rust toolchain (`rustup`)
92
+
93
+ ### Build
94
+
95
+ ```bash
96
+ # Install dependencies (if not already done)
97
+ npm install
98
+
99
+ # Build web assets first
100
+ npm run build
101
+
102
+ # Build desktop app
103
+ npm run tauri:build
104
+ ```
105
+
106
+ ### Custom Gateway URL
107
+
108
+ By default, the desktop app connects to `http://localhost:3003`.
109
+
110
+ To override at build time:
111
+
112
+ ```bash
113
+ OPENCAMI_REMOTE_URL="https://your-server.example.com" npm run tauri:build
114
+ ```
115
+
116
+ ### Output
117
+
118
+ Built installers/bundles are written to `src-tauri/target/release/bundle/`:
119
+ - macOS: `.app`, `.dmg`
120
+ - Windows: `.exe`, `.msi`
121
+ - Linux: `.deb`, `.AppImage`
122
+
123
+ ### Desktop Features
124
+
125
+ - Tray icon (hide to tray on close)
126
+ - Native notifications
127
+ - Auto-start on login
128
+ - Custom titlebar
129
+ - Multiple windows (⌘N)
130
+ - Clipboard integration
131
+
132
+ ### Dev Mode
133
+
134
+ ```bash
135
+ npm run tauri:dev
136
+ ```
137
+
138
+ Requires a display/GUI environment.
139
+
82
140
  ## Documentation
83
141
 
84
142
  - [Features](docs/features.md)
143
+ - [Desktop App (Tauri)](docs/desktop-app.md)
85
144
  - [Architecture](docs/architecture.md)
86
145
  - [Deployment](docs/deployment.md)
146
+ - [FAQ](docs/faq.md)
87
147
  - [Contributing](docs/contributing.md)
88
148
  - [Changelog](https://github.com/robbyczgw-cla/opencami/blob/main/CHANGELOG.md)
89
149
 
@@ -0,0 +1 @@
1
+ import{r as t}from"./main-B3N0eQFg.js";const e=t.createContext(void 0),o={disableStyleElements:!1};function s(){return t.useContext(e)??o}export{s as u};
@@ -0,0 +1 @@
1
+ import{r as p}from"./main-B3N0eQFg.js";import{N as T,i as y}from"./useButton-Bnnac1eR.js";const E=[];function H(t){p.useEffect(t,E)}const a=typeof navigator<"u",u=w(),h=R(),b=S(),$=typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter:none"),q=u.platform==="MacIntel"&&u.maxTouchPoints>1?!0:/iP(hone|ad|od)|iOS/.test(u.platform),z=a&&/apple/i.test(navigator.vendor),c=a&&/android/i.test(h)||/android/i.test(b),G=a&&h.toLowerCase().startsWith("mac")&&!navigator.maxTouchPoints,A=b.includes("jsdom/");function w(){if(!a)return{platform:"",maxTouchPoints:-1};const t=navigator.userAgentData;return t?.platform?{platform:t.platform,maxTouchPoints:navigator.maxTouchPoints}:{platform:navigator.platform??"",maxTouchPoints:navigator.maxTouchPoints??-1}}function S(){if(!a)return"";const t=navigator.userAgentData;return t&&Array.isArray(t.brands)?t.brands.map(({brand:n,version:e})=>`${n}/${e}`).join(" "):navigator.userAgent}function R(){if(!a)return"";const t=navigator.userAgentData;return t?.platform?t.platform:navigator.platform??""}const m="data-base-ui-focusable",J="active",Q="selected",D="input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])",X="ArrowLeft",Z="ArrowRight",tt="ArrowUp",nt="ArrowDown";function et(t){let n=t.activeElement;for(;n?.shadowRoot?.activeElement!=null;)n=n.shadowRoot.activeElement;return n}function ot(t,n){if(!t||!n)return!1;const e=n.getRootNode?.();if(t.contains(n))return!0;if(e&&T(e)){let o=n;for(;o;){if(t===o)return!0;o=o.parentNode||o.host}}return!1}function rt(t){return"composedPath"in t?t.composedPath()[0]:t.target}function st(t,n){if(n==null)return!1;if("composedPath"in t)return t.composedPath().includes(n);const e=t;return e.target!=null&&n.contains(e.target)}function it(t){return t.matches("html,body")}function at(t){return t?.ownerDocument||document}function O(t){return y(t)&&t.matches(D)}function ut(t){return t?t.getAttribute("role")==="combobox"&&O(t):!1}function ct(t){if(!t||A)return!0;try{return t.matches(":focus-visible")}catch{return!0}}function ft(t){return t?t.hasAttribute(m)?t:t.querySelector(`[${m}]`)||t:null}function lt(t){t.preventDefault(),t.stopPropagation()}function pt(t){return"nativeEvent"in t}function mt(t){return t.mozInputSource===0&&t.isTrusted?!0:c&&t.pointerType?t.type==="click"&&t.buttons===1:t.detail===0&&!t.pointerType}function gt(t){return A?!1:!c&&t.width===0&&t.height===0||c&&t.width===1&&t.height===1&&t.pressure===0&&t.detail===0&&t.pointerType==="mouse"||t.width<1&&t.height<1&&t.pressure===0&&t.detail===0&&t.pointerType==="touch"}function dt(t,n){const e=["mouse","pen"];return n||e.push("",void 0),e.includes(t)}function ht(t){const n=t.type;return n==="click"||n==="mousedown"||n==="keydown"||n==="keyup"}const bt=["top","right","bottom","left"],C=Math.min,M=Math.max,At=Math.round,xt=Math.floor,Pt=t=>({x:t,y:t}),L={left:"right",right:"left",bottom:"top",top:"bottom"},k={start:"end",end:"start"};function Tt(t,n,e){return M(t,C(n,e))}function yt(t,n){return typeof t=="function"?t(n):t}function x(t){return t.split("-")[0]}function P(t){return t.split("-")[1]}function v(t){return t==="x"?"y":"x"}function W(t){return t==="y"?"height":"width"}const _=new Set(["top","bottom"]);function N(t){return _.has(x(t))?"y":"x"}function I(t){return v(N(t))}function Et(t,n,e){e===void 0&&(e=!1);const o=P(t),s=I(t),r=W(s);let i=s==="x"?o===(e?"end":"start")?"right":"left":o==="start"?"bottom":"top";return n.reference[r]>n.floating[r]&&(i=l(i)),[i,l(i)]}function wt(t){const n=l(t);return[f(t),n,f(n)]}function f(t){return t.replace(/start|end/g,n=>k[n])}const g=["left","right"],d=["right","left"],F=["top","bottom"],U=["bottom","top"];function j(t,n,e){switch(t){case"top":case"bottom":return e?n?d:g:n?g:d;case"left":case"right":return n?F:U;default:return[]}}function St(t,n,e,o){const s=P(t);let r=j(x(t),e==="start",o);return s&&(r=r.map(i=>i+"-"+s),n&&(r=r.concat(r.map(f)))),r}function l(t){return t.replace(/left|right|bottom|top/g,n=>L[n])}function V(t){return{top:0,right:0,bottom:0,left:0,...t}}function Rt(t){return typeof t!="number"?V(t):{top:t,right:t,bottom:t,left:t}}function Dt(t){const{x:n,y:e,width:o,height:s}=t;return{width:o,height:s,top:e,left:n,right:n+o,bottom:e+s,x:n,y:e}}function Ot(t){return t?.ownerDocument||document}const Y=p.createContext(void 0);function Ct(){return p.useContext(Y)?.direction??"ltr"}export{nt as A,wt as B,St as C,Et as D,P as E,C as F,M as G,bt as H,I,Rt as J,Dt as K,W as L,Tt as M,v as N,Pt as O,At as P,pt as Q,it as R,st as S,ct as T,G as U,D as V,m as W,J as X,Q as Y,Ct as a,ut as b,ot as c,ft as d,et as e,mt as f,at as g,gt as h,$ as i,rt as j,dt as k,ht as l,O as m,X as n,Z as o,tt as p,Ot as q,q as r,lt as s,xt as t,H as u,z as v,yt as w,x,N as y,l as z};