@vibe80/vibe80 0.2.0 → 0.2.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/README.md CHANGED
@@ -20,29 +20,56 @@ Vibe80 is an open-source, AI-assisted coding platform that orchestrates LLM agen
20
20
 
21
21
  At least one of `codex` or `claude code` must be installed before starting.
22
22
 
23
- ## Quick start
24
23
 
25
- 0. Clone this repo.
24
+ ## Quick Start (local)
26
25
 
27
- 1. Install dependencies:
28
- ```bash
29
- npm install
30
- # Optional global install:
31
- # npm install -g .
32
- ```
26
+ ```bash
27
+ npm install -g @vibe80/vibe80
33
28
 
34
- 2. Run:
35
- ```bash
36
- vibe80
37
- ```
29
+ # Run with Codex support
30
+ vibe80 --codex
38
31
 
39
- 3. A one-shot authentication link is printed to the console — open it to be automatically logged in.
40
- - The server starts on http://localhost:5179
32
+ # Run with Claude support
33
+ vibe80 --claude
34
+ ```
41
35
 
36
+ The server starts on `http://localhost:5179` and prints a one-shot authentication link at startup.
42
37
 
43
- ## Docker installation
38
+ ## Docker
44
39
 
45
- TODO
40
+ ### Docker with Codex
41
+
42
+ ```bash
43
+ docker run \
44
+ -e DEPLOYMENT_MODE=mono_user \
45
+ -e VIBE80_MONO_ENABLE_CODEX=true \
46
+ -v vibe80home:/home/vibe80 \
47
+ -p 5179:5179 \
48
+ vibe80/vibe80
49
+ ```
50
+
51
+ ### Docker with Claude
52
+
53
+ ```bash
54
+ docker run --rm -it \
55
+ -e DEPLOYMENT_MODE=mono_user \
56
+ -e VIBE80_MONO_ENABLE_CLAUDE=true \
57
+ -v vibe80home:/home/vibe80 \
58
+ -v $(realpath $(which claude)):/usr/bin/claude \
59
+ -p 5179:5179 \
60
+ vibe80/vibe80
61
+ ```
62
+
63
+ > Unlike Codex (Apache-2.0), Claude Code is proprietary and cannot be distributed in the image. That is why the host Claude binary is mounted into the container.
64
+
65
+ ## Mobile apps
66
+
67
+ - Android APK: https://github.com/vibe80/vibe80/releases
68
+ - iOS app: coming soon
69
+
70
+ ## Documentation
71
+
72
+ Full documentation: https://vibe80.io/docs
46
73
 
47
74
  ## License
48
75
 
@@ -1 +1 @@
1
- import{j as d,i as b,H as v}from"./index-D1UJw1oP.js";function k({t:i,activePane:j,isInWorktree:N,diffStatusLines:l,connected:f,currentProcessing:t,hasCurrentChanges:r,sendCommitMessage:h,diffFiles:m,currentDiff:o,untrackedFilePanels:c,untrackedLoading:u}){const x=Array.isArray(c)&&c.length>0,p=e=>{const s=String(e||"").split(/\r?\n/);return d.jsx("table",{className:"diff-view untracked-diff-view",children:d.jsx("tbody",{children:s.map((n,a)=>d.jsxs("tr",{className:"diff-line diff-line-add",children:[d.jsx("td",{className:"diff-gutter diff-gutter-added",children:d.jsx("span",{className:"diff-line-number",children:a+1})}),d.jsx("td",{className:"diff-code diff-code-added",children:n.length>0?n:" "})]},`line-${a}`))})})};return d.jsxs("div",{className:`diff-panel ${j==="diff"?"":"is-hidden"}`,children:[d.jsxs("div",{className:"diff-header",children:[d.jsx("div",{className:"diff-title",children:i(N?"Worktree diff":"Repository diff")}),l.length>0&&d.jsx("div",{className:"diff-count",children:i("{{count}} files modified",{count:l.length})}),d.jsxs("div",{className:"diff-actions",children:[d.jsx("button",{type:"button",className:"diff-action-button",onClick:()=>h("Commit"),disabled:!f||t||!r,title:i("Send 'Commit' in chat"),children:i("Commit")}),d.jsx("button",{type:"button",className:"diff-action-button primary",onClick:()=>h("Commit & Push"),disabled:!f||t||!r,title:i("Send 'Commit & Push' in chat"),children:i("Commit & Push")})]})]}),l.length>0&&d.jsx("div",{className:"diff-status",children:l.map((e,s)=>d.jsx("div",{children:e},`${e}-${s}`))}),m.length>0||x?d.jsxs("div",{className:"diff-body",children:[m.map(e=>{const s=e.newPath||e.oldPath||i("Diff");return d.jsxs("div",{className:"diff-file",children:[d.jsx("div",{className:"diff-file-header",children:s}),d.jsx(b,{viewType:"unified",diffType:e.type,hunks:e.hunks,children:n=>n.map(a=>d.jsx(v,{hunk:a},a.content))})]},`${e.oldPath}-${e.newPath}-${e.type}`)}),x&&c.map(e=>d.jsxs("div",{className:"diff-file",children:[d.jsx("div",{className:"diff-file-header",children:`?? ${e.path}`}),e.error?d.jsx("pre",{className:"diff-fallback",children:i("Unable to load file.")}):e.binary?d.jsx("pre",{className:"diff-fallback",children:i("binary data")}):d.jsxs(d.Fragment,{children:[p(e.content||""),e.truncated&&d.jsx("div",{className:"diff-file-note",children:i("File truncated for display.")})]})]},`untracked-${e.path}`)),u&&d.jsx("div",{className:"diff-file-note",children:i("Loading untracked files...")})]}):o.diff?d.jsx("pre",{className:"diff-fallback",children:o.diff}):d.jsx("div",{className:"diff-empty",children:i("No changes detected.")})]})}export{k as default};
1
+ import{j as d,i as b,H as v}from"./index-knjescVH.js";function k({t:i,activePane:j,isInWorktree:N,diffStatusLines:l,connected:f,currentProcessing:t,hasCurrentChanges:r,sendCommitMessage:h,diffFiles:m,currentDiff:o,untrackedFilePanels:c,untrackedLoading:u}){const x=Array.isArray(c)&&c.length>0,p=e=>{const s=String(e||"").split(/\r?\n/);return d.jsx("table",{className:"diff-view untracked-diff-view",children:d.jsx("tbody",{children:s.map((n,a)=>d.jsxs("tr",{className:"diff-line diff-line-add",children:[d.jsx("td",{className:"diff-gutter diff-gutter-added",children:d.jsx("span",{className:"diff-line-number",children:a+1})}),d.jsx("td",{className:"diff-code diff-code-added",children:n.length>0?n:" "})]},`line-${a}`))})})};return d.jsxs("div",{className:`diff-panel ${j==="diff"?"":"is-hidden"}`,children:[d.jsxs("div",{className:"diff-header",children:[d.jsx("div",{className:"diff-title",children:i(N?"Worktree diff":"Repository diff")}),l.length>0&&d.jsx("div",{className:"diff-count",children:i("{{count}} files modified",{count:l.length})}),d.jsxs("div",{className:"diff-actions",children:[d.jsx("button",{type:"button",className:"diff-action-button",onClick:()=>h("Commit"),disabled:!f||t||!r,title:i("Send 'Commit' in chat"),children:i("Commit")}),d.jsx("button",{type:"button",className:"diff-action-button primary",onClick:()=>h("Commit & Push"),disabled:!f||t||!r,title:i("Send 'Commit & Push' in chat"),children:i("Commit & Push")})]})]}),l.length>0&&d.jsx("div",{className:"diff-status",children:l.map((e,s)=>d.jsx("div",{children:e},`${e}-${s}`))}),m.length>0||x?d.jsxs("div",{className:"diff-body",children:[m.map(e=>{const s=e.newPath||e.oldPath||i("Diff");return d.jsxs("div",{className:"diff-file",children:[d.jsx("div",{className:"diff-file-header",children:s}),d.jsx(b,{viewType:"unified",diffType:e.type,hunks:e.hunks,children:n=>n.map(a=>d.jsx(v,{hunk:a},a.content))})]},`${e.oldPath}-${e.newPath}-${e.type}`)}),x&&c.map(e=>d.jsxs("div",{className:"diff-file",children:[d.jsx("div",{className:"diff-file-header",children:`?? ${e.path}`}),e.error?d.jsx("pre",{className:"diff-fallback",children:i("Unable to load file.")}):e.binary?d.jsx("pre",{className:"diff-fallback",children:i("binary data")}):d.jsxs(d.Fragment,{children:[p(e.content||""),e.truncated&&d.jsx("div",{className:"diff-file-note",children:i("File truncated for display.")})]})]},`untracked-${e.path}`)),u&&d.jsx("div",{className:"diff-file-note",children:i("Loading untracked files...")})]}):o.diff?d.jsx("pre",{className:"diff-fallback",children:o.diff}):d.jsx("div",{className:"diff-empty",children:i("No changes detected.")})]})}export{k as default};
@@ -1,4 +1,4 @@
1
- import{r as s,W as F,j as i,F as Q,f as Se,a as Re,b as De,c as Ie,d as Le}from"./index-D1UJw1oP.js";function de(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}function Ee(e){if(Array.isArray(e))return e}function Te(e,r,t){return(r=Ke(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function Ae(e,r){var t=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(t!=null){var n,a,u,c,y=[],v=!0,d=!1;try{if(u=(t=t.call(e)).next,r!==0)for(;!(v=(n=u.call(t)).done)&&(y.push(n.value),y.length!==r);v=!0);}catch(S){d=!0,a=S}finally{try{if(!v&&t.return!=null&&(c=t.return(),Object(c)!==c))return}finally{if(d)throw a}}return y}}function $e(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1
+ import{r as s,W as F,j as i,F as Q,f as Se,a as Re,b as De,c as Ie,d as Le}from"./index-knjescVH.js";function de(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}function Ee(e){if(Array.isArray(e))return e}function Te(e,r,t){return(r=Ke(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function Ae(e,r){var t=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(t!=null){var n,a,u,c,y=[],v=!0,d=!1;try{if(u=(t=t.call(e)).next,r!==0)for(;!(v=(n=u.call(t)).done)&&(y.push(n.value),y.length!==r);v=!0);}catch(S){d=!0,a=S}finally{try{if(!v&&t.return!=null&&(c=t.return(),Object(c)!==c))return}finally{if(d)throw a}}return y}}function $e(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
2
2
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function fe(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),t.push.apply(t,n)}return t}function pe(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?fe(Object(t),!0).forEach(function(n){Te(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):fe(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function Ve(e,r){if(e==null)return{};var t,n,a=Be(e,r);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(n=0;n<u.length;n++)t=u[n],r.indexOf(t)===-1&&{}.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}function Be(e,r){if(e==null)return{};var t={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(r.indexOf(n)!==-1)continue;t[n]=e[n]}return t}function qe(e,r){return Ee(e)||Ae(e,r)||Ue(e,r)||$e()}function ze(e,r){if(typeof e!="object"||!e)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var n=t.call(e,r);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(e)}function Ke(e){var r=ze(e,"string");return typeof r=="symbol"?r:r+""}function Ue(e,r){if(e){if(typeof e=="string")return de(e,r);var t={}.toString.call(e).slice(8,-1);return t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set"?Array.from(e):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?de(e,r):void 0}}function He(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function ge(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),t.push.apply(t,n)}return t}function he(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?ge(Object(t),!0).forEach(function(n){He(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ge(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function Fe(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];return function(n){return r.reduceRight(function(a,u){return u(a)},n)}}function X(e){return function r(){for(var t=this,n=arguments.length,a=new Array(n),u=0;u<n;u++)a[u]=arguments[u];return a.length>=e.length?e.apply(this,a):function(){for(var c=arguments.length,y=new Array(c),v=0;v<c;v++)y[v]=arguments[v];return r.apply(t,[].concat(a,y))}}}function ne(e){return{}.toString.call(e).includes("Object")}function ke(e){return!Object.keys(e).length}function W(e){return typeof e=="function"}function Ge(e,r){return Object.prototype.hasOwnProperty.call(e,r)}function Ye(e,r){return ne(r)||B("changeType"),Object.keys(r).some(function(t){return!Ge(e,t)})&&B("changeField"),r}function _e(e){W(e)||B("selectorType")}function Je(e){W(e)||ne(e)||B("handlerType"),ne(e)&&Object.values(e).some(function(r){return!W(r)})&&B("handlersType")}function Qe(e){e||B("initialIsRequired"),ne(e)||B("initialType"),ke(e)&&B("initialContent")}function Xe(e,r){throw new Error(e[r]||e.default)}var Ze={initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"},B=X(Xe)(Ze),re={changes:Ye,selector:_e,handler:Je,initial:Qe};function We(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};re.initial(e),re.handler(r);var t={current:e},n=X(tr)(t,r),a=X(rr)(t),u=X(re.changes)(e),c=X(er)(t);function y(){var d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(S){return S};return re.selector(d),d(t.current)}function v(d){Fe(n,a,u,c)(d)}return[y,v]}function er(e,r){return W(r)?r(e.current):r}function rr(e,r){return e.current=he(he({},e.current),r),r}function tr(e,r,t){return W(r)?r(e.current):Object.keys(t).forEach(function(n){var a;return(a=r[n])===null||a===void 0?void 0:a.call(r,e.current[n])}),t}var nr={create:We},or={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs"}};function ir(e){return function r(){for(var t=this,n=arguments.length,a=new Array(n),u=0;u<n;u++)a[u]=arguments[u];return a.length>=e.length?e.apply(this,a):function(){for(var c=arguments.length,y=new Array(c),v=0;v<c;v++)y[v]=arguments[v];return r.apply(t,[].concat(a,y))}}}function ar(e){return{}.toString.call(e).includes("Object")}function lr(e){return e||me("configIsRequired"),ar(e)||me("configType"),e.urls?(ur(),{paths:{vs:e.urls.monacoBase}}):e}function ur(){console.warn(be.deprecation)}function sr(e,r){throw new Error(e[r]||e.default)}var be={configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:`Deprecation warning!
3
3
  You are using deprecated way of configuration.
4
4
 
@@ -1 +1 @@
1
- import{j as s}from"./index-D1UJw1oP.js";function r({t:l,activePane:n,filteredRpcLogs:e,logFilter:i,setLogFilter:o,scopedRpcLogs:t,handleClearRpcLogs:c}){return s.jsxs("div",{className:`logs-panel ${n==="logs"?"":"is-hidden"}`,children:[s.jsxs("div",{className:"logs-header",children:[s.jsx("div",{className:"logs-title",children:l("JSON-RPC")}),s.jsxs("div",{className:"logs-controls",children:[s.jsx("div",{className:"logs-count",children:l("{{count}} item(s)",{count:e.length})}),s.jsxs("div",{className:"logs-filters",children:[s.jsx("button",{type:"button",className:`logs-filter ${i==="all"?"is-active":""}`,onClick:()=>o("all"),children:l("All")}),s.jsx("button",{type:"button",className:`logs-filter ${i==="stdin"?"is-active":""}`,onClick:()=>o("stdin"),children:l("Stdin")}),s.jsx("button",{type:"button",className:`logs-filter ${i==="stdout"?"is-active":""}`,onClick:()=>o("stdout"),children:l("Stdout")})]}),s.jsx("button",{type:"button",className:"logs-clear",onClick:c,disabled:t.length===0,children:l("Clear")})]})]}),e.length===0?s.jsx("div",{className:"logs-empty",children:l("No logs yet.")}):s.jsx("div",{className:"logs-list",children:e.map((a,m)=>{var d;return s.jsxs("div",{className:`logs-item logs-${a.direction}`,children:[s.jsxs("div",{className:"logs-meta",children:[s.jsx("span",{className:"logs-direction",children:a.direction==="stdin"?l("stdin"):l("stdout")}),s.jsx("span",{className:"logs-time",children:a.timeLabel}),((d=a.payload)==null?void 0:d.method)&&s.jsx("span",{className:"logs-method",children:a.payload.method})]}),s.jsx("pre",{className:"logs-payload",children:JSON.stringify(a.payload,null,2)})]},`${a.timestamp}-${m}`)})})]})}export{r as default};
1
+ import{j as s}from"./index-knjescVH.js";function r({t:l,activePane:n,filteredRpcLogs:e,logFilter:i,setLogFilter:o,scopedRpcLogs:t,handleClearRpcLogs:c}){return s.jsxs("div",{className:`logs-panel ${n==="logs"?"":"is-hidden"}`,children:[s.jsxs("div",{className:"logs-header",children:[s.jsx("div",{className:"logs-title",children:l("JSON-RPC")}),s.jsxs("div",{className:"logs-controls",children:[s.jsx("div",{className:"logs-count",children:l("{{count}} item(s)",{count:e.length})}),s.jsxs("div",{className:"logs-filters",children:[s.jsx("button",{type:"button",className:`logs-filter ${i==="all"?"is-active":""}`,onClick:()=>o("all"),children:l("All")}),s.jsx("button",{type:"button",className:`logs-filter ${i==="stdin"?"is-active":""}`,onClick:()=>o("stdin"),children:l("Stdin")}),s.jsx("button",{type:"button",className:`logs-filter ${i==="stdout"?"is-active":""}`,onClick:()=>o("stdout"),children:l("Stdout")})]}),s.jsx("button",{type:"button",className:"logs-clear",onClick:c,disabled:t.length===0,children:l("Clear")})]})]}),e.length===0?s.jsx("div",{className:"logs-empty",children:l("No logs yet.")}):s.jsx("div",{className:"logs-list",children:e.map((a,m)=>{var d;return s.jsxs("div",{className:`logs-item logs-${a.direction}`,children:[s.jsxs("div",{className:"logs-meta",children:[s.jsx("span",{className:"logs-direction",children:a.direction==="stdin"?l("stdin"):l("stdout")}),s.jsx("span",{className:"logs-time",children:a.timeLabel}),((d=a.payload)==null?void 0:d.method)&&s.jsx("span",{className:"logs-method",children:a.payload.method})]}),s.jsx("pre",{className:"logs-payload",children:JSON.stringify(a.payload,null,2)})]},`${a.timestamp}-${m}`)})})]})}export{r as default};
@@ -1 +1 @@
1
- import{j as s,F as B,e as E}from"./index-D1UJw1oP.js";function y({t:e,activePane:m,handleSettingsBack:h,language:o,setLanguage:x,showChatCommands:g,setShowChatCommands:j,showToolResults:N,setShowToolResults:p,notificationsEnabled:u,setNotificationsEnabled:b,themeMode:v,setThemeMode:k,gitIdentityName:f,setGitIdentityName:w,gitIdentityEmail:C,setGitIdentityEmail:F,gitIdentityGlobal:l,gitIdentityRepo:i,gitIdentityLoading:c,gitIdentitySaving:t,gitIdentityError:r,gitIdentityMessage:d,handleSaveGitIdentity:A,attachmentSession:n}){return s.jsxs("div",{className:`settings-panel ${m==="settings"?"":"is-hidden"}`,children:[s.jsxs("div",{className:"settings-header",children:[s.jsx("button",{type:"button",className:"settings-back icon-button",onClick:h,"aria-label":e("Back to previous view"),title:e("Back"),children:s.jsx("span",{"aria-hidden":"true",children:s.jsx(B,{icon:E})})}),s.jsxs("div",{className:"settings-heading",children:[s.jsx("div",{className:"settings-title",children:e("User settings")}),s.jsx("div",{className:"settings-subtitle",children:e("These settings are stored in your browser.")})]})]}),s.jsxs("div",{className:"settings-group",children:[s.jsxs("label",{className:"settings-item",children:[s.jsxs("span",{className:"settings-text",children:[s.jsx("span",{className:"settings-name",children:e("Language")}),s.jsx("span",{className:"settings-hint",children:e("Select a language")})]}),s.jsxs("select",{className:"settings-select",value:o,onChange:a=>x(a.target.value),children:[s.jsx("option",{value:"fr",children:e("French")}),s.jsx("option",{value:"en",children:e("English")})]})]}),s.jsxs("label",{className:"settings-item",children:[s.jsxs("span",{className:"settings-text",children:[s.jsx("span",{className:"settings-name",children:e("Show commands in chat")}),s.jsx("span",{className:"settings-hint",children:e("Show executed command blocks in the conversation.")})]}),s.jsx("input",{type:"checkbox",className:"settings-toggle",checked:g,onChange:a=>j(a.target.checked)})]}),s.jsxs("label",{className:"settings-item",children:[s.jsxs("span",{className:"settings-text",children:[s.jsx("span",{className:"settings-name",children:e("Show tool results in chat")}),s.jsx("span",{className:"settings-hint",children:e("Show tool_result blocks in the conversation.")})]}),s.jsx("input",{type:"checkbox",className:"settings-toggle",checked:N,onChange:a=>p(a.target.checked)})]}),s.jsxs("label",{className:"settings-item",children:[s.jsxs("span",{className:"settings-text",children:[s.jsx("span",{className:"settings-name",children:e("Notifications")}),s.jsx("span",{className:"settings-hint",children:e("Show a notification and sound when a new message arrives.")})]}),s.jsx("input",{type:"checkbox",className:"settings-toggle",checked:u,onChange:a=>b(a.target.checked)})]}),s.jsxs("label",{className:"settings-item",children:[s.jsxs("span",{className:"settings-text",children:[s.jsx("span",{className:"settings-name",children:e("Dark mode")}),s.jsx("span",{className:"settings-hint",children:e("Enable the dark theme for the interface.")})]}),s.jsx("input",{type:"checkbox",className:"settings-toggle",checked:v==="dark",onChange:a=>k(a.target.checked?"dark":"light")})]})]}),s.jsx("div",{className:"settings-group",children:s.jsxs("div",{className:"settings-item settings-item--stacked",children:[s.jsxs("div",{className:"settings-text",children:[s.jsx("span",{className:"settings-name",children:e("Git identity for this repository")}),s.jsx("span",{className:"settings-hint",children:e("Provide user.name and user.email for repository commits.")}),s.jsx("span",{className:"settings-hint",children:e("Global values: {{name}} / {{email}}.",{name:l.name||e("Not set"),email:l.email||e("Not set")})}),s.jsx("span",{className:"settings-hint",children:i.name||i.email?e("Repository values: {{name}} / {{email}}.",{name:i.name||e("Not set"),email:i.email||e("Not set")}):e("No repository-specific values.")})]}),s.jsxs("div",{className:"settings-fields",children:[s.jsxs("label",{className:"settings-field",children:[s.jsx("span",{className:"settings-field-label",children:e("user.name")}),s.jsx("input",{type:"text",className:"settings-input",value:f,onChange:a=>w(a.target.value),placeholder:l.name||e("Full name"),disabled:c||t||!(n!=null&&n.sessionId)})]}),s.jsxs("label",{className:"settings-field",children:[s.jsx("span",{className:"settings-field-label",children:e("user.email")}),s.jsx("input",{type:"email",className:"settings-input",value:C,onChange:a=>F(a.target.value),placeholder:l.email||e("your.email@example.com"),disabled:c||t||!(n!=null&&n.sessionId)})]})]}),s.jsxs("div",{className:"settings-actions",children:[s.jsx("button",{type:"button",className:"settings-button",onClick:A,disabled:c||t||!(n!=null&&n.sessionId),children:e(t?"Saving...":"Save")}),c?s.jsx("span",{className:"settings-status",children:e("Loading...")}):null,r?s.jsx("span",{className:"settings-status is-error",children:r}):null,d?s.jsx("span",{className:"settings-status",children:d}):null]})]})})]})}export{y as default};
1
+ import{j as s,F as B,e as E}from"./index-knjescVH.js";function y({t:e,activePane:m,handleSettingsBack:h,language:o,setLanguage:x,showChatCommands:g,setShowChatCommands:j,showToolResults:N,setShowToolResults:p,notificationsEnabled:u,setNotificationsEnabled:b,themeMode:v,setThemeMode:k,gitIdentityName:f,setGitIdentityName:w,gitIdentityEmail:C,setGitIdentityEmail:F,gitIdentityGlobal:l,gitIdentityRepo:i,gitIdentityLoading:c,gitIdentitySaving:t,gitIdentityError:r,gitIdentityMessage:d,handleSaveGitIdentity:A,attachmentSession:n}){return s.jsxs("div",{className:`settings-panel ${m==="settings"?"":"is-hidden"}`,children:[s.jsxs("div",{className:"settings-header",children:[s.jsx("button",{type:"button",className:"settings-back icon-button",onClick:h,"aria-label":e("Back to previous view"),title:e("Back"),children:s.jsx("span",{"aria-hidden":"true",children:s.jsx(B,{icon:E})})}),s.jsxs("div",{className:"settings-heading",children:[s.jsx("div",{className:"settings-title",children:e("User settings")}),s.jsx("div",{className:"settings-subtitle",children:e("These settings are stored in your browser.")})]})]}),s.jsxs("div",{className:"settings-group",children:[s.jsxs("label",{className:"settings-item",children:[s.jsxs("span",{className:"settings-text",children:[s.jsx("span",{className:"settings-name",children:e("Language")}),s.jsx("span",{className:"settings-hint",children:e("Select a language")})]}),s.jsxs("select",{className:"settings-select",value:o,onChange:a=>x(a.target.value),children:[s.jsx("option",{value:"fr",children:e("French")}),s.jsx("option",{value:"en",children:e("English")})]})]}),s.jsxs("label",{className:"settings-item",children:[s.jsxs("span",{className:"settings-text",children:[s.jsx("span",{className:"settings-name",children:e("Show commands in chat")}),s.jsx("span",{className:"settings-hint",children:e("Show executed command blocks in the conversation.")})]}),s.jsx("input",{type:"checkbox",className:"settings-toggle",checked:g,onChange:a=>j(a.target.checked)})]}),s.jsxs("label",{className:"settings-item",children:[s.jsxs("span",{className:"settings-text",children:[s.jsx("span",{className:"settings-name",children:e("Show tool results in chat")}),s.jsx("span",{className:"settings-hint",children:e("Show tool_result blocks in the conversation.")})]}),s.jsx("input",{type:"checkbox",className:"settings-toggle",checked:N,onChange:a=>p(a.target.checked)})]}),s.jsxs("label",{className:"settings-item",children:[s.jsxs("span",{className:"settings-text",children:[s.jsx("span",{className:"settings-name",children:e("Notifications")}),s.jsx("span",{className:"settings-hint",children:e("Show a notification and sound when a new message arrives.")})]}),s.jsx("input",{type:"checkbox",className:"settings-toggle",checked:u,onChange:a=>b(a.target.checked)})]}),s.jsxs("label",{className:"settings-item",children:[s.jsxs("span",{className:"settings-text",children:[s.jsx("span",{className:"settings-name",children:e("Dark mode")}),s.jsx("span",{className:"settings-hint",children:e("Enable the dark theme for the interface.")})]}),s.jsx("input",{type:"checkbox",className:"settings-toggle",checked:v==="dark",onChange:a=>k(a.target.checked?"dark":"light")})]})]}),s.jsx("div",{className:"settings-group",children:s.jsxs("div",{className:"settings-item settings-item--stacked",children:[s.jsxs("div",{className:"settings-text",children:[s.jsx("span",{className:"settings-name",children:e("Git identity for this repository")}),s.jsx("span",{className:"settings-hint",children:e("Provide user.name and user.email for repository commits.")}),s.jsx("span",{className:"settings-hint",children:e("Global values: {{name}} / {{email}}.",{name:l.name||e("Not set"),email:l.email||e("Not set")})}),s.jsx("span",{className:"settings-hint",children:i.name||i.email?e("Repository values: {{name}} / {{email}}.",{name:i.name||e("Not set"),email:i.email||e("Not set")}):e("No repository-specific values.")})]}),s.jsxs("div",{className:"settings-fields",children:[s.jsxs("label",{className:"settings-field",children:[s.jsx("span",{className:"settings-field-label",children:e("user.name")}),s.jsx("input",{type:"text",className:"settings-input",value:f,onChange:a=>w(a.target.value),placeholder:l.name||e("Full name"),disabled:c||t||!(n!=null&&n.sessionId)})]}),s.jsxs("label",{className:"settings-field",children:[s.jsx("span",{className:"settings-field-label",children:e("user.email")}),s.jsx("input",{type:"email",className:"settings-input",value:C,onChange:a=>F(a.target.value),placeholder:l.email||e("your.email@example.com"),disabled:c||t||!(n!=null&&n.sessionId)})]})]}),s.jsxs("div",{className:"settings-actions",children:[s.jsx("button",{type:"button",className:"settings-button",onClick:A,disabled:c||t||!(n!=null&&n.sessionId),children:e(t?"Saving...":"Save")}),c?s.jsx("span",{className:"settings-status",children:e("Loading...")}):null,r?s.jsx("span",{className:"settings-status is-error",children:r}):null,d?s.jsx("span",{className:"settings-status",children:d}):null]})]})})]})}export{y as default};
@@ -1 +1 @@
1
- import{j as n}from"./index-D1UJw1oP.js";function h({t:m,terminalEnabled:a,activePane:x,repoName:d,activeWorktree:l,isInWorktree:j,terminalContainerRef:i,attachmentSession:s}){return a?n.jsxs("div",{className:`terminal-panel ${x==="terminal"?"":"is-hidden"}`,children:[n.jsxs("div",{className:"terminal-header",children:[n.jsx("div",{className:"terminal-title",children:m("Terminal")}),(d||(l==null?void 0:l.branchName)||(l==null?void 0:l.name))&&n.jsx("div",{className:"terminal-meta",children:j?(l==null?void 0:l.branchName)||(l==null?void 0:l.name):d})]}),n.jsx("div",{className:"terminal-body",ref:i}),!(s!=null&&s.sessionId)&&n.jsx("div",{className:"terminal-empty",children:m("Start a session to open the terminal.")})]}):null}export{h as default};
1
+ import{j as n}from"./index-knjescVH.js";function h({t:m,terminalEnabled:a,activePane:x,repoName:d,activeWorktree:l,isInWorktree:j,terminalContainerRef:i,attachmentSession:s}){return a?n.jsxs("div",{className:`terminal-panel ${x==="terminal"?"":"is-hidden"}`,children:[n.jsxs("div",{className:"terminal-header",children:[n.jsx("div",{className:"terminal-title",children:m("Terminal")}),(d||(l==null?void 0:l.branchName)||(l==null?void 0:l.name))&&n.jsx("div",{className:"terminal-meta",children:j?(l==null?void 0:l.branchName)||(l==null?void 0:l.name):d})]}),n.jsx("div",{className:"terminal-body",ref:i}),!(s!=null&&s.sessionId)&&n.jsx("div",{className:"terminal-empty",children:m("Start a session to open the terminal.")})]}):null}export{h as default};