tide-commander 1.147.1 → 1.148.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 (60) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/assets/BossLogsModal-CZMHgMBE.js +1 -0
  3. package/dist/assets/{BossSpawnModal-Don-RZyh.js → BossSpawnModal-C6DxqtKP.js} +1 -1
  4. package/dist/assets/ControlsModal-DJ8Scm16.js +1 -0
  5. package/dist/assets/DockerLogsModal-Vb4gqdFz.js +2 -0
  6. package/dist/assets/{EmbeddedEditor-DfM3SrO7.js → EmbeddedEditor-D4sHERAj.js} +1 -1
  7. package/dist/assets/{GmailOAuthSetup-DBWs7uzU.js → GmailOAuthSetup-COIYIbJS.js} +1 -1
  8. package/dist/assets/{GoogleOAuthSetup-yQjT5QzU.js → GoogleOAuthSetup-DJS59Soi.js} +1 -1
  9. package/dist/assets/{IframeModal-DUTIyP5I.js → IframeModal-CFysTkn9.js} +1 -1
  10. package/dist/assets/{IntegrationsPanel-DPURuiaz.js → IntegrationsPanel-BK8g9ceY.js} +2 -2
  11. package/dist/assets/{LogViewerModal-CDZvTdfO.js → LogViewerModal-DRxR0HYq.js} +1 -1
  12. package/dist/assets/{MonitoringModal-Dq2EJgbH.js → MonitoringModal-CL7UMOdX.js} +1 -1
  13. package/dist/assets/{PM2LogsModal-C3dlYlGv.js → PM2LogsModal-I3aouUlw.js} +2 -2
  14. package/dist/assets/{RestoreArchivedAreaModal-BMFk0G8D.js → RestoreArchivedAreaModal-PWAg6w6b.js} +1 -1
  15. package/dist/assets/{Scene2DCanvas-DlumJCbl.js → Scene2DCanvas-DYPHkU3i.js} +1 -1
  16. package/dist/assets/{SceneManager-UnhMFja8.js → SceneManager-QqKygyaw.js} +1 -1
  17. package/dist/assets/{SkillsPanel-D326VBDa.js → SkillsPanel-EQ74sIa6.js} +1 -1
  18. package/dist/assets/{SlackMultiInstanceSetup-CA4nm925.js → SlackMultiInstanceSetup-CLMUteI0.js} +1 -1
  19. package/dist/assets/{SpawnModal-B1QOjZPe.js → SpawnModal-BOeStihN.js} +1 -1
  20. package/dist/assets/{StatisticsModal-BUpvkJXA.js → StatisticsModal-D6MgA_o0.js} +1 -1
  21. package/dist/assets/{SubordinateAssignmentModal-DtVsKDqV.js → SubordinateAssignmentModal-C6n0pMn3.js} +1 -1
  22. package/dist/assets/{TriggerManagerPanel-OD14xVMw.js → TriggerManagerPanel-Umd8iUg1.js} +1 -1
  23. package/dist/assets/{WorkflowEditorPanel-B4UF3rcS.js → WorkflowEditorPanel-CxjBxs9O.js} +1 -1
  24. package/dist/assets/{area-logos-Uc9SAeYg.js → area-logos-CThPeqIM.js} +1 -1
  25. package/dist/assets/index-BUN7MVf5.js +19 -0
  26. package/dist/assets/index-Cz-ypmob.js +1 -0
  27. package/dist/assets/index-DOzFBkSH.js +1 -0
  28. package/dist/assets/index-DP7kd91h.js +1 -0
  29. package/dist/assets/{index-DkDzXtdj.js → index-DRyMARFk.js} +3 -3
  30. package/dist/assets/{index-CuHJm43U.js → index-DelocTaH.js} +1 -1
  31. package/dist/assets/index-DuWmOZdY.js +2 -0
  32. package/dist/assets/{index-xBtKu0I8.js → index-h3Cuh2Zn.js} +2 -2
  33. package/dist/assets/{index-BC3Y_BAQ.js → index-maZSt2YW.js} +5 -5
  34. package/dist/assets/main-C2zgPci-.js +256 -0
  35. package/dist/assets/main-C3JO2TRI.css +1 -0
  36. package/dist/assets/{web-B-xc0c6e.js → web-CNjTPilF.js} +1 -1
  37. package/dist/assets/{web-DlzqHyn8.js → web-CfvEypdU.js} +1 -1
  38. package/dist/assets/{web-BuDeKWBN.js → web-bcYaAwP6.js} +1 -1
  39. package/dist/index.html +2 -2
  40. package/dist/locales/de/tools.json +3 -1
  41. package/dist/locales/en/tools.json +3 -1
  42. package/dist/locales/es/tools.json +3 -1
  43. package/dist/locales/fr/tools.json +4 -2
  44. package/dist/locales/hi/tools.json +4 -2
  45. package/dist/locales/it/tools.json +19 -17
  46. package/dist/locales/ja/tools.json +4 -2
  47. package/dist/locales/pt/tools.json +3 -1
  48. package/dist/locales/ru/tools.json +3 -1
  49. package/dist/locales/zh-CN/tools.json +3 -1
  50. package/package.json +1 -1
  51. package/dist/assets/BossLogsModal-Cn8IVdqn.js +0 -1
  52. package/dist/assets/ControlsModal-C9--xWPi.js +0 -1
  53. package/dist/assets/DockerLogsModal-DSGnpfm5.js +0 -2
  54. package/dist/assets/index-BD6swoQU.js +0 -19
  55. package/dist/assets/index-C4mf6B5U.js +0 -1
  56. package/dist/assets/index-COHImd74.js +0 -1
  57. package/dist/assets/index-CScFEdm8.js +0 -1
  58. package/dist/assets/index-CmmpVZ8w.js +0 -2
  59. package/dist/assets/main-Bp6V_-sL.js +0 -256
  60. package/dist/assets/main-ijcbyjBn.css +0 -1
@@ -1 +1 @@
1
- import{c$ as t}from"./main-Bp6V_-sL.js";import"./vendor-react--Eh9ivFN.js";import"./vendor-three-Chj50gSY.js";class o extends t{constructor(){super(),this.handleVisibilityChange=()=>{const e={isActive:document.hidden!==!0};this.notifyListeners("appStateChange",e),document.hidden?this.notifyListeners("pause",null):this.notifyListeners("resume",null)},document.addEventListener("visibilitychange",this.handleVisibilityChange,!1)}exitApp(){throw this.unimplemented("Not implemented on web.")}async getInfo(){throw this.unimplemented("Not implemented on web.")}async getLaunchUrl(){return{url:""}}async getState(){return{isActive:document.hidden!==!0}}async minimizeApp(){throw this.unimplemented("Not implemented on web.")}async toggleBackButtonHandler(){throw this.unimplemented("Not implemented on web.")}async getAppLanguage(){return{value:navigator.language.split("-")[0].toLowerCase()}}}export{o as AppWeb};
1
+ import{d8 as t}from"./main-C2zgPci-.js";import"./vendor-react--Eh9ivFN.js";import"./vendor-three-Chj50gSY.js";class o extends t{constructor(){super(),this.handleVisibilityChange=()=>{const e={isActive:document.hidden!==!0};this.notifyListeners("appStateChange",e),document.hidden?this.notifyListeners("pause",null):this.notifyListeners("resume",null)},document.addEventListener("visibilitychange",this.handleVisibilityChange,!1)}exitApp(){throw this.unimplemented("Not implemented on web.")}async getInfo(){throw this.unimplemented("Not implemented on web.")}async getLaunchUrl(){return{url:""}}async getState(){return{isActive:document.hidden!==!0}}async minimizeApp(){throw this.unimplemented("Not implemented on web.")}async toggleBackButtonHandler(){throw this.unimplemented("Not implemented on web.")}async getAppLanguage(){return{value:navigator.language.split("-")[0].toLowerCase()}}}export{o as AppWeb};
@@ -1 +1 @@
1
- import{c$ as s}from"./main-Bp6V_-sL.js";import"./vendor-react--Eh9ivFN.js";import"./vendor-three-Chj50gSY.js";class l extends s{constructor(){super(...arguments),this.pending=[],this.deliveredNotifications=[],this.hasNotificationSupport=()=>{if(!("Notification"in window)||!Notification.requestPermission)return!1;if(Notification.permission!=="granted")try{new Notification("")}catch(i){if(i instanceof Error&&i.name==="TypeError")return!1}return!0}}async getDeliveredNotifications(){const i=[];for(const t of this.deliveredNotifications){const e={title:t.title,id:parseInt(t.tag),body:t.body};i.push(e)}return{notifications:i}}async removeDeliveredNotifications(i){for(const t of i.notifications){const e=this.deliveredNotifications.find(n=>n.tag===String(t.id));e==null||e.close(),this.deliveredNotifications=this.deliveredNotifications.filter(()=>!e)}}async removeAllDeliveredNotifications(){for(const i of this.deliveredNotifications)i.close();this.deliveredNotifications=[]}async createChannel(){throw this.unimplemented("Not implemented on web.")}async deleteChannel(){throw this.unimplemented("Not implemented on web.")}async listChannels(){throw this.unimplemented("Not implemented on web.")}async schedule(i){if(!this.hasNotificationSupport())throw this.unavailable("Notifications not supported in this browser.");for(const t of i.notifications)this.sendNotification(t);return{notifications:i.notifications.map(t=>({id:t.id}))}}async getPending(){return{notifications:this.pending}}async registerActionTypes(){throw this.unimplemented("Not implemented on web.")}async cancel(i){this.pending=this.pending.filter(t=>!i.notifications.find(e=>e.id===t.id))}async areEnabled(){const{display:i}=await this.checkPermissions();return{value:i==="granted"}}async changeExactNotificationSetting(){throw this.unimplemented("Not implemented on web.")}async checkExactNotificationSetting(){throw this.unimplemented("Not implemented on web.")}async requestPermissions(){if(!this.hasNotificationSupport())throw this.unavailable("Notifications not supported in this browser.");return{display:this.transformNotificationPermission(await Notification.requestPermission())}}async checkPermissions(){if(!this.hasNotificationSupport())throw this.unavailable("Notifications not supported in this browser.");return{display:this.transformNotificationPermission(Notification.permission)}}transformNotificationPermission(i){switch(i){case"granted":return"granted";case"denied":return"denied";default:return"prompt"}}sendPending(){var i;const t=[],e=new Date().getTime();for(const n of this.pending)!((i=n.schedule)===null||i===void 0)&&i.at&&n.schedule.at.getTime()<=e&&(this.buildNotification(n),t.push(n));this.pending=this.pending.filter(n=>!t.find(o=>o===n))}sendNotification(i){var t;if(!((t=i.schedule)===null||t===void 0)&&t.at){const e=i.schedule.at.getTime()-new Date().getTime();this.pending.push(i),setTimeout(()=>{this.sendPending()},e);return}this.buildNotification(i)}buildNotification(i){const t=new Notification(i.title,{body:i.body,tag:String(i.id)});return t.addEventListener("click",this.onClick.bind(this,i),!1),t.addEventListener("show",this.onShow.bind(this,i),!1),t.addEventListener("close",()=>{this.deliveredNotifications=this.deliveredNotifications.filter(()=>!this)},!1),this.deliveredNotifications.push(t),t}onClick(i){const t={actionId:"tap",notification:i};this.notifyListeners("localNotificationActionPerformed",t)}onShow(i){this.notifyListeners("localNotificationReceived",i)}}export{l as LocalNotificationsWeb};
1
+ import{d8 as s}from"./main-C2zgPci-.js";import"./vendor-react--Eh9ivFN.js";import"./vendor-three-Chj50gSY.js";class l extends s{constructor(){super(...arguments),this.pending=[],this.deliveredNotifications=[],this.hasNotificationSupport=()=>{if(!("Notification"in window)||!Notification.requestPermission)return!1;if(Notification.permission!=="granted")try{new Notification("")}catch(i){if(i instanceof Error&&i.name==="TypeError")return!1}return!0}}async getDeliveredNotifications(){const i=[];for(const t of this.deliveredNotifications){const e={title:t.title,id:parseInt(t.tag),body:t.body};i.push(e)}return{notifications:i}}async removeDeliveredNotifications(i){for(const t of i.notifications){const e=this.deliveredNotifications.find(n=>n.tag===String(t.id));e==null||e.close(),this.deliveredNotifications=this.deliveredNotifications.filter(()=>!e)}}async removeAllDeliveredNotifications(){for(const i of this.deliveredNotifications)i.close();this.deliveredNotifications=[]}async createChannel(){throw this.unimplemented("Not implemented on web.")}async deleteChannel(){throw this.unimplemented("Not implemented on web.")}async listChannels(){throw this.unimplemented("Not implemented on web.")}async schedule(i){if(!this.hasNotificationSupport())throw this.unavailable("Notifications not supported in this browser.");for(const t of i.notifications)this.sendNotification(t);return{notifications:i.notifications.map(t=>({id:t.id}))}}async getPending(){return{notifications:this.pending}}async registerActionTypes(){throw this.unimplemented("Not implemented on web.")}async cancel(i){this.pending=this.pending.filter(t=>!i.notifications.find(e=>e.id===t.id))}async areEnabled(){const{display:i}=await this.checkPermissions();return{value:i==="granted"}}async changeExactNotificationSetting(){throw this.unimplemented("Not implemented on web.")}async checkExactNotificationSetting(){throw this.unimplemented("Not implemented on web.")}async requestPermissions(){if(!this.hasNotificationSupport())throw this.unavailable("Notifications not supported in this browser.");return{display:this.transformNotificationPermission(await Notification.requestPermission())}}async checkPermissions(){if(!this.hasNotificationSupport())throw this.unavailable("Notifications not supported in this browser.");return{display:this.transformNotificationPermission(Notification.permission)}}transformNotificationPermission(i){switch(i){case"granted":return"granted";case"denied":return"denied";default:return"prompt"}}sendPending(){var i;const t=[],e=new Date().getTime();for(const n of this.pending)!((i=n.schedule)===null||i===void 0)&&i.at&&n.schedule.at.getTime()<=e&&(this.buildNotification(n),t.push(n));this.pending=this.pending.filter(n=>!t.find(o=>o===n))}sendNotification(i){var t;if(!((t=i.schedule)===null||t===void 0)&&t.at){const e=i.schedule.at.getTime()-new Date().getTime();this.pending.push(i),setTimeout(()=>{this.sendPending()},e);return}this.buildNotification(i)}buildNotification(i){const t=new Notification(i.title,{body:i.body,tag:String(i.id)});return t.addEventListener("click",this.onClick.bind(this,i),!1),t.addEventListener("show",this.onShow.bind(this,i),!1),t.addEventListener("close",()=>{this.deliveredNotifications=this.deliveredNotifications.filter(()=>!this)},!1),this.deliveredNotifications.push(t),t}onClick(i){const t={actionId:"tap",notification:i};this.notifyListeners("localNotificationActionPerformed",t)}onShow(i){this.notifyListeners("localNotificationReceived",i)}}export{l as LocalNotificationsWeb};
@@ -1 +1 @@
1
- import{c$ as a}from"./main-Bp6V_-sL.js";import{ImpactStyle as i,NotificationType as r}from"./index-xBtKu0I8.js";import"./vendor-react--Eh9ivFN.js";import"./vendor-three-Chj50gSY.js";class h extends a{constructor(){super(...arguments),this.selectionStarted=!1}async impact(t){const e=this.patternForImpact(t==null?void 0:t.style);this.vibrateWithPattern(e)}async notification(t){const e=this.patternForNotification(t==null?void 0:t.type);this.vibrateWithPattern(e)}async vibrate(t){const e=(t==null?void 0:t.duration)||300;this.vibrateWithPattern([e])}async selectionStart(){this.selectionStarted=!0}async selectionChanged(){this.selectionStarted&&this.vibrateWithPattern([70])}async selectionEnd(){this.selectionStarted=!1}patternForImpact(t=i.Heavy){return t===i.Medium?[43]:t===i.Light?[20]:[61]}patternForNotification(t=r.Success){return t===r.Warning?[30,40,30,50,60]:t===r.Error?[27,45,50]:[35,65,21]}vibrateWithPattern(t){if(navigator.vibrate)navigator.vibrate(t);else throw this.unavailable("Browser does not support the vibrate API")}}export{h as HapticsWeb};
1
+ import{d8 as a}from"./main-C2zgPci-.js";import{ImpactStyle as i,NotificationType as r}from"./index-h3Cuh2Zn.js";import"./vendor-react--Eh9ivFN.js";import"./vendor-three-Chj50gSY.js";class h extends a{constructor(){super(...arguments),this.selectionStarted=!1}async impact(t){const e=this.patternForImpact(t==null?void 0:t.style);this.vibrateWithPattern(e)}async notification(t){const e=this.patternForNotification(t==null?void 0:t.type);this.vibrateWithPattern(e)}async vibrate(t){const e=(t==null?void 0:t.duration)||300;this.vibrateWithPattern([e])}async selectionStart(){this.selectionStarted=!0}async selectionChanged(){this.selectionStarted&&this.vibrateWithPattern([70])}async selectionEnd(){this.selectionStarted=!1}patternForImpact(t=i.Heavy){return t===i.Medium?[43]:t===i.Light?[20]:[61]}patternForNotification(t=r.Success){return t===r.Warning?[30,40,30,50,60]:t===r.Error?[27,45,50]:[35,65,21]}vibrateWithPattern(t){if(navigator.vibrate)navigator.vibrate(t);else throw this.unavailable("Browser does not support the vibrate API")}}export{h as HapticsWeb};
package/dist/index.html CHANGED
@@ -22,10 +22,10 @@
22
22
  <link rel="icon" type="image/png" sizes="16x16" href="/assets/icons/favicon-16x16.png" />
23
23
  <link rel="apple-touch-icon" sizes="180x180" href="/assets/icons/apple-touch-icon.png" />
24
24
  <title>Tide Commander</title>
25
- <script type="module" crossorigin src="/assets/main-Bp6V_-sL.js"></script>
25
+ <script type="module" crossorigin src="/assets/main-C2zgPci-.js"></script>
26
26
  <link rel="modulepreload" crossorigin href="/assets/vendor-react--Eh9ivFN.js">
27
27
  <link rel="modulepreload" crossorigin href="/assets/vendor-three-Chj50gSY.js">
28
- <link rel="stylesheet" crossorigin href="/assets/main-ijcbyjBn.css">
28
+ <link rel="stylesheet" crossorigin href="/assets/main-C3JO2TRI.css">
29
29
  </head>
30
30
  <body>
31
31
  <div id="app"></div>
@@ -45,7 +45,9 @@
45
45
  "listFiles": "Dateien auflisten",
46
46
  "searchFiles": "Dateien durchsuchen",
47
47
  "executeCommand": "Befehl ausführen"
48
- }
48
+ },
49
+ "showOutputsInline": "Alle Bash-Ausgaben inline anzeigen",
50
+ "hideOutputsInline": "Inline-Bash-Ausgaben ausblenden"
49
51
  },
50
52
  "metadata": {
51
53
  "messageInfo": "Nachrichteninfo",
@@ -49,7 +49,9 @@
49
49
  "spawnAgent": "Spawn Agent",
50
50
  "sendInput": "Send Input",
51
51
  "wait": "Wait"
52
- }
52
+ },
53
+ "showOutputsInline": "Show all bash outputs inline",
54
+ "hideOutputsInline": "Hide inline bash outputs"
53
55
  },
54
56
  "metadata": {
55
57
  "messageInfo": "Message Info",
@@ -45,7 +45,9 @@
45
45
  "listFiles": "Listar archivos",
46
46
  "searchFiles": "Buscar archivos",
47
47
  "executeCommand": "Ejecutar comando"
48
- }
48
+ },
49
+ "showOutputsInline": "Mostrar todos los outputs de bash en línea",
50
+ "hideOutputsInline": "Ocultar los outputs de bash en línea"
49
51
  },
50
52
  "metadata": {
51
53
  "messageInfo": "Info del mensaje",
@@ -45,7 +45,9 @@
45
45
  "listFiles": "ListFiles",
46
46
  "searchFiles": "SearchFiles",
47
47
  "executeCommand": "ExecuteCommand"
48
- }
48
+ },
49
+ "showOutputsInline": "Afficher toutes les sorties bash en ligne",
50
+ "hideOutputsInline": "Masquer les sorties bash en ligne"
49
51
  },
50
52
  "metadata": {
51
53
  "messageInfo": "Infos du message",
@@ -272,4 +274,4 @@
272
274
  "noContent": "Aucun contenu de réponse disponible.",
273
275
  "rawMarkdown": "Markdown brut"
274
276
  }
275
- }
277
+ }
@@ -45,7 +45,9 @@
45
45
  "listFiles": "ListFiles",
46
46
  "searchFiles": "SearchFiles",
47
47
  "executeCommand": "ExecuteCommand"
48
- }
48
+ },
49
+ "showOutputsInline": "सभी bash आउटपुट इनलाइन दिखाएँ",
50
+ "hideOutputsInline": "इनलाइन bash आउटपुट छिपाएँ"
49
51
  },
50
52
  "metadata": {
51
53
  "messageInfo": "संदेश जानकारी",
@@ -272,4 +274,4 @@
272
274
  "noContent": "कोई प्रतिक्रिया सामग्री उपलब्ध नहीं।",
273
275
  "rawMarkdown": "रॉ Markdown"
274
276
  }
275
- }
277
+ }
@@ -45,7 +45,9 @@
45
45
  "listFiles": "ListFiles",
46
46
  "searchFiles": "SearchFiles",
47
47
  "executeCommand": "ExecuteCommand"
48
- }
48
+ },
49
+ "showOutputsInline": "Mostra tutti gli output bash in linea",
50
+ "hideOutputsInline": "Nascondi gli output bash in linea"
49
51
  },
50
52
  "metadata": {
51
53
  "messageInfo": "Info messaggio",
@@ -85,7 +87,7 @@
85
87
  "builtIn": "Integrata",
86
88
  "notAssigned": "Non assegnata",
87
89
  "noSkillsDefined": "Nessuna skill definita ancora",
88
- "createSkillsHint": "Crea skill per insegnare agli agenti capacit\u00e0 specifiche",
90
+ "createSkillsHint": "Crea skill per insegnare agli agenti capacità specifiche",
89
91
  "noCustomClasses": "Nessuna classe agente personalizzata ancora",
90
92
  "createClassesHint": "Crea classi personalizzate con skill predefinite associate",
91
93
  "noClassesMatch": "Nessuna classe corrisponde a \"{{query}}\"",
@@ -121,7 +123,7 @@
121
123
  "uploading": "Caricamento...",
122
124
  "createClass": "Crea classe",
123
125
  "viewBuiltInSkill": "Visualizza skill integrata",
124
- "builtInNotice": "Questa \u00e8 una skill integrata di Tide Commander. Il contenuto non pu\u00f2 essere modificato, ma puoi cambiare a quali agenti e classi \u00e8 assegnata.",
126
+ "builtInNotice": "Questa è una skill integrata di Tide Commander. Il contenuto non può essere modificato, ma puoi cambiare a quali agenti e classi è assegnata.",
125
127
  "nameRequired": "Nome *",
126
128
  "slugLabel": "Slug",
127
129
  "slugHint": "Identificativo URL-safe (generato automaticamente)",
@@ -138,8 +140,8 @@
138
140
  "disabledSkillsHint": "Le skill disabilitate non saranno disponibili per gli agenti",
139
141
  "saveAssignments": "Salva assegnazioni",
140
142
  "createSkill": "Crea skill",
141
- "deleteSkillConfirm": "Eliminare questa skill? Questa azione non pu\u00f2 essere annullata.",
142
- "updateSkillConfirm": "L'aggiornamento di questa skill riavvier\u00e0 tutti gli agenti che la utilizzano.\n\nDovrai riprendere manualmente gli agenti che stavano lavorando.\n\nContinuare?",
143
+ "deleteSkillConfirm": "Eliminare questa skill? Questa azione non può essere annullata.",
144
+ "updateSkillConfirm": "L'aggiornamento di questa skill riavvierà tutti gli agenti che la utilizzano.\n\nDovrai riprendere manualmente gli agenti che stavano lavorando.\n\nContinuare?",
143
145
  "deleteClassConfirm": "Sei sicuro di voler eliminare questa classe agente personalizzata?",
144
146
  "classCount": "{{count}} classi",
145
147
  "agentCount": "{{count}} agente/i",
@@ -164,7 +166,7 @@
164
166
  "classScout": "Scout",
165
167
  "classScoutDesc": "Esplorazione del codebase",
166
168
  "classBuilder": "Builder",
167
- "classBuilderDesc": "Implementazione funzionalit\u00e0",
169
+ "classBuilderDesc": "Implementazione funzionalità",
168
170
  "classDebugger": "Debugger",
169
171
  "classDebuggerDesc": "Ricerca e correzione bug",
170
172
  "classArchitect": "Architetto",
@@ -196,7 +198,7 @@
196
198
  "customToolPlaceholder": "Strumento personalizzato (es. Bash(make:*))"
197
199
  },
198
200
  "subagent": {
199
- "subagentTask": "Attivit\u00e0 sottoagente",
201
+ "subagentTask": "Attività sottoagente",
200
202
  "spawned": "Generato",
201
203
  "completed": "Completato",
202
204
  "duration": "Durata"
@@ -223,24 +225,24 @@
223
225
  "replaceAll": "Sostituisci tutto"
224
226
  },
225
227
  "todoList": {
226
- "title": "Lista attivit\u00e0"
228
+ "title": "Lista attività"
227
229
  },
228
230
  "bossContext": {
229
231
  "teamContext": "Contesto team",
230
232
  "injectedInstructions": "Istruzioni agente iniettate"
231
233
  },
232
234
  "delegation": {
233
- "taskDelegated": "Attivit\u00e0 delegata",
235
+ "taskDelegated": "Attività delegata",
234
236
  "to": "A:",
235
- "task": "Attivit\u00e0:",
236
- "why": "Perch\u00e9:",
237
+ "task": "Attività:",
238
+ "why": "Perché:",
237
239
  "alternatives": "Alternative:",
238
240
  "autoForwarding": "Inoltro automatico a {{name}}...",
239
241
  "via": "tramite"
240
242
  },
241
243
  "workPlan": {
242
244
  "phases": "{{count}} fasi",
243
- "tasks": "{{count}} attivit\u00e0",
245
+ "tasks": "{{count}} attività",
244
246
  "parallel": "parallelo",
245
247
  "sequential": "sequenziale",
246
248
  "dependsOn": "dipende da:",
@@ -251,13 +253,13 @@
251
253
  },
252
254
  "progress": {
253
255
  "workingOn": "sta lavorando su...",
254
- "taskFinished": "Attivit\u00e0 completata",
255
- "taskFailed": "Attivit\u00e0 fallita"
256
+ "taskFinished": "Attività completata",
257
+ "taskFailed": "Attività fallita"
256
258
  },
257
259
  "exec": {
258
- "runningTasks": "Attivit\u00e0 in esecuzione",
260
+ "runningTasks": "Attività in esecuzione",
259
261
  "running": "in esecuzione",
260
- "stopTask": "Ferma attivit\u00e0",
262
+ "stopTask": "Ferma attività",
261
263
  "dismiss": "Chiudi",
262
264
  "clearCompleted": "Cancella completate"
263
265
  },
@@ -272,4 +274,4 @@
272
274
  "noContent": "Nessun contenuto di risposta disponibile.",
273
275
  "rawMarkdown": "Markdown grezzo"
274
276
  }
275
- }
277
+ }
@@ -45,7 +45,9 @@
45
45
  "listFiles": "ListFiles",
46
46
  "searchFiles": "SearchFiles",
47
47
  "executeCommand": "ExecuteCommand"
48
- }
48
+ },
49
+ "showOutputsInline": "すべてのBash出力をインライン表示",
50
+ "hideOutputsInline": "インラインBash出力を非表示"
49
51
  },
50
52
  "metadata": {
51
53
  "messageInfo": "メッセージ情報",
@@ -272,4 +274,4 @@
272
274
  "noContent": "レスポンス内容がありません。",
273
275
  "rawMarkdown": "生Markdown"
274
276
  }
275
- }
277
+ }
@@ -45,7 +45,9 @@
45
45
  "listFiles": "ListFiles",
46
46
  "searchFiles": "SearchFiles",
47
47
  "executeCommand": "ExecuteCommand"
48
- }
48
+ },
49
+ "showOutputsInline": "Mostrar todas as saídas do bash em linha",
50
+ "hideOutputsInline": "Ocultar as saídas do bash em linha"
49
51
  },
50
52
  "metadata": {
51
53
  "messageInfo": "Info da Mensagem",
@@ -45,7 +45,9 @@
45
45
  "listFiles": "ListFiles",
46
46
  "searchFiles": "SearchFiles",
47
47
  "executeCommand": "ExecuteCommand"
48
- }
48
+ },
49
+ "showOutputsInline": "Показывать все выводы bash в строке",
50
+ "hideOutputsInline": "Скрыть встроенные выводы bash"
49
51
  },
50
52
  "metadata": {
51
53
  "messageInfo": "Информация о сообщении",
@@ -45,7 +45,9 @@
45
45
  "listFiles": "列出文件",
46
46
  "searchFiles": "搜索文件",
47
47
  "executeCommand": "执行命令"
48
- }
48
+ },
49
+ "showOutputsInline": "内联显示所有 Bash 输出",
50
+ "hideOutputsInline": "隐藏内联 Bash 输出"
49
51
  },
50
52
  "metadata": {
51
53
  "messageInfo": "消息信息",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tide-commander",
3
- "version": "1.147.1",
3
+ "version": "1.148.0",
4
4
  "description": "Visual multi-agent orchestrator and manager for Claude Code with 3D/2D interface",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1 +0,0 @@
1
- import{u as M,f as N,r as m,s as u,j as r}from"./main-Bp6V_-sL.js";import{L as v}from"./LogViewerModal-CDZvTdfO.js";import"./vendor-react--Eh9ivFN.js";import"./vendor-three-Chj50gSY.js";function C(o){const n=["#3498db","#2ecc71","#9b59b6","#e67e22","#1abc9c","#e74c3c","#f1c40f","#00bcd4"];let a=0;for(let t=0;t<o.length;t++)a=o.charCodeAt(t)+((a<<5)-a);return n[Math.abs(a)%n.length]}function k({building:o,isOpen:n,onClose:a}){const{t}=M(["terminal","common"]),{bossStreamingLogs:b,buildings:f}=N(),l=b.get(o.id)||[],[i,d]=m.useState(null),c=o.subordinateBuildingIds||[],g=c.map(e=>f.get(e)).filter(e=>e!==void 0);m.useEffect(()=>(n&&c.length>0&&u.startBossLogStreaming(o.id),()=>{o.id&&u.stopBossLogStreaming(o.id)}),[n,o.id,c.length]);const h=m.useMemo(()=>{const e=new Set;return l.forEach(s=>e.add(s.subordinateName)),Array.from(e)},[l]),p=m.useMemo(()=>(i?l.filter(s=>s.subordinateName===i):l).map((s,j)=>({text:s.chunk,lineNumber:j+1,sourceLabel:s.subordinateName,sourceColor:C(s.subordinateName),isError:s.isError})),[l,i]),x=g.some(e=>{var s;return(s=e.pm2)==null?void 0:s.enabled}),S=h.length>1?r.jsxs("select",{className:"toolbar-btn source-filter",value:i||"",onChange:e=>d(e.target.value||null),children:[r.jsx("option",{value:"",children:t("terminal:logs.allSources")}),h.map(e=>r.jsx("option",{value:e,children:e},e))]}):void 0,L=i?r.jsxs("div",{className:"shortcut",style:{marginLeft:"auto"},children:[r.jsxs("span",{children:[t("terminal:logs.filtered"),": ",i]}),r.jsx("button",{style:{background:"transparent",border:"none",color:"inherit",cursor:"pointer",marginLeft:"0.5rem"},onClick:()=>d(null),children:"x"})]}):void 0;return r.jsx(v,{isOpen:n,onClose:a,title:`${o.name} - ${t("terminal:logs.bossLogs")}`,icon:"👑",lines:p,isStreaming:c.length>0,streamingIndicatorLabel:`${g.length} ${t("terminal:logs.units")}`,onClear:()=>u.clearBossStreamingLogs(o.id),emptyMessage:x?l.length===0?t("terminal:logs.waitingForLogs"):t("terminal:logs.noMatchingLogs"):t("terminal:logs.noPM2Subordinates"),extraToolbar:S,extraFooter:L,modalClassName:"boss-logs-modal"})}export{k as BossLogsModal};
@@ -1 +0,0 @@
1
- import{u as F,f as q,cC as Y,cD as Q,r as m,am as J,k as ee,cr as D,cE as V,cF as se,j as e,cG as te,C as ae,s as y,cH as G,cI as I}from"./main-Bp6V_-sL.js";import"./vendor-react--Eh9ivFN.js";import"./vendor-three-Chj50gSY.js";const U={global:"terminal:controls.contextGlobal",commander:"terminal:controls.contextCommander",toolbox:"terminal:controls.contextToolbox"},ne={global:"terminal:controls.contextGlobalDesc",commander:"terminal:controls.contextCommanderDesc",toolbox:"terminal:controls.contextToolboxDesc"},W={camera:["camera-pan","camera-orbit","camera-rotate","camera-zoom","camera-tilt"],interaction:["primary-action","selection-box","context-menu","move-command"]},re={camera:"terminal:controls.cameraControls",interaction:"terminal:controls.interaction"};function ue({isOpen:s,onClose:r}){const{t:a}=F(["terminal","common"]),l=q(),c=Y(),h=Q(),[x,b]=m.useState("keyboard"),[j,g]=m.useState(""),[p,C]=m.useState("all"),[d,f]=m.useState(!1),[o,v]=m.useState(null),u=J.useRef(null),{handleMouseDown:P,handleClick:S}=ee(r);if(m.useEffect(()=>{if(!s||d)return;const t=n=>{n.key==="Escape"&&(n.preventDefault(),n.stopPropagation(),r())};return document.addEventListener("keydown",t,!0),()=>document.removeEventListener("keydown",t,!0)},[s,r,d]),m.useEffect(()=>{s||(g(""),f(!1),v(null))},[s]),m.useEffect(()=>{if(!s||!d)return;const t=n=>{if(n.key==="Escape"){n.preventDefault(),n.stopPropagation(),f(!1),v(null);return}if(["Control","Alt","Shift","Meta"].includes(n.key))return;n.preventDefault(),n.stopPropagation();let i=n.key;n.code.startsWith("Key")&&n.code.length===4?i=n.code.charAt(3).toLowerCase():n.code.startsWith("Digit")&&n.code.length===6?i=n.code.charAt(5):n.code==="Space"&&(i="Space"),v({key:i,modifiers:{ctrl:n.ctrlKey,alt:n.altKey,shift:n.shiftKey,meta:n.metaKey}})};return document.addEventListener("keydown",t,!0),()=>document.removeEventListener("keydown",t,!0)},[s,d]),!s)return null;const K=l.shortcuts.filter(t=>{const n=a(`terminal:controls.shortcuts.${t.id}.name`,{defaultValue:t.name}),i=a(`terminal:controls.shortcuts.${t.id}.description`,{defaultValue:t.description});if(d&&o){const R=w=>w===" "||w==="Space"?"Space":w.length===1?w.toLowerCase():w,B=R(t.key),L=R(o.key);if(!(L.length===1&&/^[a-zA-Z]$/.test(B)?`Key${B.toUpperCase()}`==`Key${L.toUpperCase()}`:B===L))return!1;const M=t.modifiers,T=o.modifiers;return(M.ctrl||!1)===(T.ctrl||!1)&&(M.alt||!1)===(T.alt||!1)&&(M.shift||!1)===(T.shift||!1)&&(M.meta||!1)===(T.meta||!1)}if(!j)return!0;const k=j.toLowerCase();return n.toLowerCase().includes(k)||i.toLowerCase().includes(k)||D(t).toLowerCase().includes(k)}),E=Array.from(l.agents.values()).map(t=>t).filter(t=>t.shortcut&&t.shortcut.trim().length>0).filter(t=>{const n=V(t.shortcut).toLowerCase();if(d&&o){const k={key:o.key,code:o.key.length===1&&/^[a-zA-Z]$/.test(o.key)?`Key${o.key.toUpperCase()}`:o.key.length===1&&/^[0-9]$/.test(o.key)?`Digit${o.key}`:o.key==="Space"?"Space":o.key,ctrlKey:!!o.modifiers.ctrl,altKey:!!o.modifiers.alt,shiftKey:!!o.modifiers.shift,metaKey:!!o.modifiers.meta};return se(k,t.shortcut)}if(!j)return!0;const i=j.toLowerCase();return t.name.toLowerCase().includes(i)||n.toLowerCase().includes(i)}),O=K.reduce((t,n)=>(t[n.context]||(t[n.context]=[]),t[n.context].push(n),t),{}),X=(t,n)=>{y.updateShortcut(t,n)},[N,z]=m.useState(null),$=()=>{z(x)},Z=()=>{N==="keyboard"?y.resetShortcuts():(N==="mouse"||N==="trackpad")&&y.resetMouseControls()},_=N==="keyboard"?"terminal:controls.confirmResetKeyboard":N==="mouse"?"terminal:controls.confirmResetMouse":"terminal:controls.confirmResetTrackpad",A=["global","commander","toolbox"],H=c.bindings.reduce((t,n)=>(W.camera.includes(n.action)?t.camera.push(n):W.interaction.includes(n.action)&&t.interaction.push(n),t),{camera:[],interaction:[]});return e.jsxs("div",{className:"shortcuts-modal-overlay",onMouseDown:P,onClick:S,children:[e.jsxs("div",{className:"shortcuts-modal controls-modal",children:[e.jsxs("div",{className:"shortcuts-modal-header",children:[e.jsxs("div",{className:"shortcuts-modal-title",children:[e.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[e.jsx("circle",{cx:"12",cy:"12",r:"3"}),e.jsx("path",{d:"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"})]}),e.jsx("span",{children:a("terminal:controls.title")})]}),e.jsx("button",{className:"shortcuts-modal-close",onClick:r,children:"×"})]}),e.jsxs("div",{className:"controls-main-tabs",children:[e.jsxs("button",{className:`controls-main-tab ${x==="keyboard"?"active":""}`,onClick:()=>b("keyboard"),children:[e.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[e.jsx("rect",{x:"2",y:"4",width:"20",height:"16",rx:"2"}),e.jsx("path",{d:"M6 8h.01M10 8h.01M14 8h.01M18 8h.01M6 12h.01M18 12h.01M8 16h8"})]}),a("terminal:controls.keyboard")]}),e.jsxs("button",{className:`controls-main-tab ${x==="mouse"?"active":""}`,onClick:()=>b("mouse"),children:[e.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[e.jsx("rect",{x:"6",y:"3",width:"12",height:"18",rx:"6"}),e.jsx("line",{x1:"12",y1:"7",x2:"12",y2:"11"})]}),a("terminal:controls.mouse")]}),e.jsxs("button",{className:`controls-main-tab ${x==="trackpad"?"active":""}`,onClick:()=>b("trackpad"),children:[e.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[e.jsx("rect",{x:"2",y:"4",width:"20",height:"16",rx:"2"}),e.jsx("circle",{cx:"12",cy:"12",r:"3"})]}),a("terminal:controls.trackpad")]})]}),x==="keyboard"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"shortcuts-modal-toolbar",children:[d?e.jsxs("div",{className:"shortcuts-search find-by-shortcut-active",children:[e.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[e.jsx("rect",{x:"2",y:"4",width:"20",height:"16",rx:"2"}),e.jsx("path",{d:"M6 8h.01M10 8h.01M14 8h.01M18 8h.01M6 12h.01M18 12h.01M8 16h8"})]}),o?e.jsxs("span",{className:"find-by-shortcut-display",children:[D({key:o.key,modifiers:o.modifiers}),e.jsx("button",{className:"shortcuts-search-clear",onClick:()=>v(null),children:"×"})]}):e.jsx("span",{className:"find-by-shortcut-prompt",children:a("terminal:controls.pressKeyCombination")})]}):e.jsxs("div",{className:"shortcuts-search",children:[e.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[e.jsx("circle",{cx:"11",cy:"11",r:"8"}),e.jsx("path",{d:"M21 21l-4.35-4.35"})]}),e.jsx("input",{ref:u,type:"text",placeholder:a("terminal:controls.searchShortcuts"),value:j,onChange:t=>g(t.target.value),autoFocus:!0}),j&&e.jsx("button",{className:"shortcuts-search-clear",onClick:()=>g(""),children:"×"})]}),e.jsx("button",{className:`shortcuts-find-by-key-btn ${d?"active":""}`,onClick:()=>{f(!d),v(null),g("")},title:a(d?"terminal:controls.switchToTextSearch":"terminal:controls.findByPressingKeys"),children:e.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[e.jsx("rect",{x:"2",y:"4",width:"20",height:"16",rx:"2"}),e.jsx("path",{d:"M6 8h.01M10 8h.01M14 8h.01M18 8h.01M6 12h.01M18 12h.01M8 16h8"})]})}),e.jsx("button",{className:"shortcuts-reset-all-btn",onClick:$,children:a("common:buttons.reset")})]}),e.jsxs("div",{className:"shortcuts-context-tabs",children:[e.jsxs("button",{className:`shortcuts-context-tab ${p==="all"?"active":""}`,onClick:()=>C("all"),children:[a("common:labels.all"),e.jsx("span",{className:"shortcuts-context-tab-count",children:K.length})]}),A.map(t=>{var i;const n=((i=O[t])==null?void 0:i.length)||0;return e.jsxs("button",{className:`shortcuts-context-tab ${p===t?"active":""}`,onClick:()=>C(t),children:[a(U[t]),e.jsx("span",{className:"shortcuts-context-tab-count",children:n})]},t)})]}),e.jsxs("div",{className:"shortcuts-modal-content",children:[A.map(t=>{const n=O[t]||[];return n.length===0||p!=="all"&&p!==t?null:e.jsxs("div",{className:"shortcuts-context-group",children:[p==="all"&&e.jsxs("div",{className:"shortcuts-context-header",children:[e.jsx("span",{className:"shortcuts-context-label",children:a(U[t])}),e.jsx("span",{className:"shortcuts-context-description",children:a(ne[t])})]}),e.jsx("div",{className:"shortcuts-grid",children:n.map(i=>e.jsxs("div",{className:"shortcut-item",children:[e.jsxs("div",{className:"shortcut-item-info",children:[e.jsx("span",{className:"shortcut-item-name",children:a(`terminal:controls.shortcuts.${i.id}.name`,{defaultValue:i.name})}),e.jsx("span",{className:"shortcut-item-description",children:a(`terminal:controls.shortcuts.${i.id}.description`,{defaultValue:i.description})})]}),e.jsx(te,{shortcut:i,onUpdate:k=>X(i.id,k)})]},i.id))})]},t)}),K.length===0&&E.length===0&&e.jsx("div",{className:"shortcuts-empty",children:d?o?e.jsx("p",{children:a("terminal:controls.noShortcutBoundTo",{keys:D({key:o.key,modifiers:o.modifiers})})}):e.jsx("p",{children:a("terminal:controls.pressKeyCombinationToFind")}):e.jsx("p",{children:a("terminal:controls.noShortcutsFound",{query:j})})}),E.length>0&&(p==="all"||p==="global")&&e.jsxs("div",{className:"shortcuts-context-group",children:[p==="all"&&e.jsxs("div",{className:"shortcuts-context-header",children:[e.jsx("span",{className:"shortcuts-context-label",children:"Agent Terminal Shortcuts"}),e.jsx("span",{className:"shortcuts-context-description",children:"Per-agent global shortcuts that open the guake terminal"})]}),e.jsx("div",{className:"shortcuts-grid",children:E.map(t=>e.jsxs("div",{className:"shortcut-item",children:[e.jsxs("div",{className:"shortcut-item-info",children:[e.jsx("span",{className:"shortcut-item-name",children:t.name}),e.jsx("span",{className:"shortcut-item-description",children:"Open terminal for this agent"})]}),e.jsx("div",{className:"key-capture-container",children:e.jsx("button",{className:"key-capture-input disabled",disabled:!0,children:e.jsx("span",{className:"key-capture-value",children:V(t.shortcut)})})})]},t.id))})]})]})]}),x==="mouse"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"shortcuts-modal-toolbar",children:[e.jsx("span",{className:"mouse-controls-subtitle",children:a("terminal:controls.cameraAndInteraction")}),e.jsx("button",{className:"shortcuts-reset-all-btn",onClick:$,children:a("common:buttons.reset")})]}),e.jsxs("div",{className:"shortcuts-modal-content mouse-controls-content",children:[e.jsx("div",{className:"mouse-controls-bindings",children:Object.entries(H).map(([t,n])=>e.jsxs("div",{className:"shortcuts-context-group",children:[e.jsx("div",{className:"shortcuts-context-header",children:e.jsx("span",{className:"shortcuts-context-label",children:a(re[t])})}),e.jsx("div",{className:"shortcuts-grid",children:n.map(i=>e.jsx(le,{binding:i},i.id))})]},t))}),e.jsxs("div",{className:"shortcuts-context-group",children:[e.jsxs("div",{className:"shortcuts-context-header",children:[e.jsx("span",{className:"shortcuts-context-label",children:a("terminal:controls.sensitivity")}),e.jsx("span",{className:"shortcuts-context-description",children:a("terminal:controls.adjustCameraSpeed")})]}),e.jsx(ce,{sensitivity:c.sensitivity})]})]})]}),x==="trackpad"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"shortcuts-modal-toolbar",children:[e.jsx("span",{className:"mouse-controls-subtitle",children:a("terminal:controls.trackpadGestureSettings")}),e.jsx("button",{className:"shortcuts-reset-all-btn",onClick:$,children:a("common:buttons.reset")})]}),e.jsx("div",{className:"shortcuts-modal-content trackpad-controls-content",children:e.jsx(oe,{config:h})})]}),e.jsx("div",{className:"shortcuts-modal-footer",children:e.jsx("span",{className:"shortcuts-modal-hint",children:a(x==="keyboard"?d?"terminal:controls.hintFindByShortcut":"terminal:controls.hintKeyboard":x==="mouse"?"terminal:controls.hintMouse":"terminal:controls.hintTrackpad")})})]}),e.jsx(ae,{isOpen:N!==null,title:a("common:buttons.resetToDefaults"),message:a(_),confirmLabel:a("common:buttons.reset"),cancelLabel:a("common:buttons.cancel"),variant:"danger",onConfirm:Z,onClose:()=>z(null)})]})}function le({binding:s}){const{t:r}=F(["terminal"]),a=Y(),[l,c]=m.useState(!1),[h,x]=m.useState(null);m.useEffect(()=>{if(!l)return;const d=u=>{u.preventDefault(),u.stopPropagation();const S={0:"left",1:"middle",2:"right",3:"back",4:"forward"}[u.button];S&&x({button:S,modifiers:{ctrl:u.ctrlKey,alt:u.altKey,shift:u.shiftKey,meta:u.metaKey}})},f=u=>{u.key==="Escape"&&(u.preventDefault(),u.stopPropagation(),c(!1),x(null))},o=()=>{h&&G(a.bindings,h,s.id).length===0&&y.updateMouseBinding(s.id,{button:h.button,modifiers:h.modifiers}),c(!1),x(null)},v=setTimeout(()=>{document.addEventListener("mousedown",d,!0),document.addEventListener("keydown",f,!0),document.addEventListener("click",o,!0)},100);return()=>{clearTimeout(v),document.removeEventListener("mousedown",d,!0),document.removeEventListener("keydown",f,!0),document.removeEventListener("click",o,!0)}},[l,h,s.id,a.bindings]);const b=h?G(a.bindings,h,s.id):[],j=r(`terminal:controls.mouseBindings.${s.id}.name`,{defaultValue:s.name}),g=r(`terminal:controls.mouseBindings.${s.id}.description`,{defaultValue:s.description}),p=d=>r(`terminal:controls.mouseButtons.${d}`,{defaultValue:d}),C=h?I({...s,...h},p):I(s,p);return e.jsxs("div",{className:`shortcut-item ${s.enabled?"":"disabled"}`,children:[e.jsxs("div",{className:"shortcut-item-info",children:[e.jsx("span",{className:"shortcut-item-name",children:j}),e.jsx("span",{className:"shortcut-item-description",children:g})]}),e.jsxs("div",{className:"key-capture-container",children:[e.jsx("button",{className:`key-capture-input ${l?"capturing":""} ${b.length>0?"conflict":""}`,onClick:()=>c(!0),children:l?h?e.jsx("span",{className:"key-capture-value",style:{color:"#f1fa8c"},children:C}):e.jsx("span",{style:{color:"#6272a4",fontStyle:"italic"},children:r("terminal:controls.clickToCapture")}):e.jsx("span",{className:"key-capture-value",children:C})}),b.length>0&&e.jsxs("span",{className:"key-capture-conflict",children:[r("terminal:controls.conflicts"),": ",b.map(d=>r(`terminal:controls.mouseBindings.${d.id}.name`,{defaultValue:d.name})).join(", ")]})]})]})}function ce({sensitivity:s}){const{t:r}=F(["terminal"]),a=m.useCallback((l,c)=>{y.updateCameraSensitivity({[l]:c})},[]);return e.jsxs("div",{className:"sensitivity-inline-settings",children:[e.jsxs("div",{className:"sensitivity-sliders",children:[e.jsxs("div",{className:"sensitivity-slider-row",children:[e.jsx("label",{children:r("terminal:controls.panSpeed")}),e.jsx("input",{type:"range",min:"0.1",max:"3",step:"0.1",value:s.panSpeed,onChange:l=>a("panSpeed",parseFloat(l.target.value))}),e.jsxs("span",{className:"sensitivity-slider-value",children:[s.panSpeed.toFixed(1),"x"]})]}),e.jsxs("div",{className:"sensitivity-slider-row",children:[e.jsx("label",{children:r("terminal:controls.orbitSpeed")}),e.jsx("input",{type:"range",min:"0.1",max:"3",step:"0.1",value:s.orbitSpeed,onChange:l=>a("orbitSpeed",parseFloat(l.target.value))}),e.jsxs("span",{className:"sensitivity-slider-value",children:[s.orbitSpeed.toFixed(1),"x"]})]}),e.jsxs("div",{className:"sensitivity-slider-row",children:[e.jsx("label",{children:r("terminal:controls.zoomSpeed")}),e.jsx("input",{type:"range",min:"0.1",max:"3",step:"0.1",value:s.zoomSpeed,onChange:l=>a("zoomSpeed",parseFloat(l.target.value))}),e.jsxs("span",{className:"sensitivity-slider-value",children:[s.zoomSpeed.toFixed(1),"x"]})]}),e.jsxs("div",{className:"sensitivity-slider-row",children:[e.jsx("label",{children:r("terminal:controls.smoothing")}),e.jsx("input",{type:"range",min:"0",max:"1",step:"0.1",value:s.smoothing,onChange:l=>a("smoothing",parseFloat(l.target.value))}),e.jsx("span",{className:"sensitivity-slider-value",children:s.smoothing.toFixed(1)})]})]}),e.jsxs("div",{className:"sensitivity-checkboxes-inline",children:[e.jsxs("label",{className:"sensitivity-checkbox-inline",children:[e.jsx("input",{type:"checkbox",checked:s.invertPanX,onChange:l=>a("invertPanX",l.target.checked)}),e.jsx("span",{children:r("terminal:controls.invertPanX")})]}),e.jsxs("label",{className:"sensitivity-checkbox-inline",children:[e.jsx("input",{type:"checkbox",checked:s.invertPanY,onChange:l=>a("invertPanY",l.target.checked)}),e.jsx("span",{children:r("terminal:controls.invertPanY")})]}),e.jsxs("label",{className:"sensitivity-checkbox-inline",children:[e.jsx("input",{type:"checkbox",checked:s.invertOrbitX,onChange:l=>a("invertOrbitX",l.target.checked)}),e.jsx("span",{children:r("terminal:controls.invertOrbitX")})]}),e.jsxs("label",{className:"sensitivity-checkbox-inline",children:[e.jsx("input",{type:"checkbox",checked:s.invertOrbitY,onChange:l=>a("invertOrbitY",l.target.checked)}),e.jsx("span",{children:r("terminal:controls.invertOrbitY")})]})]})]})}function oe({config:s}){const{t:r}=F(["terminal"]),a=m.useCallback((c,h)=>{y.updateTrackpadConfig({[c]:h})},[]),l=m.useCallback((c,h)=>{y.updateTrackpadConfig({sensitivity:{[c]:h}})},[]);return e.jsxs("div",{className:"trackpad-settings",children:[e.jsxs("div",{className:"shortcuts-context-group",children:[e.jsxs("div",{className:"shortcuts-context-header",children:[e.jsx("span",{className:"shortcuts-context-label",children:r("terminal:controls.trackpadGestures")}),e.jsx("span",{className:"shortcuts-context-description",children:r("terminal:controls.enableTrackpadSupport")})]}),e.jsx("div",{className:"trackpad-toggle-row",children:e.jsxs("label",{className:"trackpad-toggle",children:[e.jsx("input",{type:"checkbox",checked:s.enabled,onChange:c=>a("enabled",c.target.checked)}),e.jsx("span",{className:"trackpad-toggle-label",children:r("terminal:controls.enableTrackpadGestures")})]})})]}),e.jsxs("div",{className:"shortcuts-context-group",children:[e.jsxs("div",{className:"shortcuts-context-header",children:[e.jsx("span",{className:"shortcuts-context-label",children:r("terminal:controls.gestureControls")}),e.jsx("span",{className:"shortcuts-context-description",children:r("terminal:controls.enableDisableGestures")})]}),e.jsxs("div",{className:"trackpad-gestures-grid",children:[e.jsxs("label",{className:`trackpad-gesture-item ${s.enabled?"":"disabled"}`,children:[e.jsx("input",{type:"checkbox",checked:s.pinchToZoom,onChange:c=>a("pinchToZoom",c.target.checked),disabled:!s.enabled}),e.jsxs("div",{className:"trackpad-gesture-info",children:[e.jsx("span",{className:"trackpad-gesture-name",children:r("terminal:controls.pinchToZoom")}),e.jsx("span",{className:"trackpad-gesture-desc",children:r("terminal:controls.pinchToZoomDesc")})]})]}),e.jsxs("label",{className:`trackpad-gesture-item ${s.enabled?"":"disabled"}`,children:[e.jsx("input",{type:"checkbox",checked:s.twoFingerPan,onChange:c=>a("twoFingerPan",c.target.checked),disabled:!s.enabled}),e.jsxs("div",{className:"trackpad-gesture-info",children:[e.jsx("span",{className:"trackpad-gesture-name",children:r("terminal:controls.twoFingerPan")}),e.jsx("span",{className:"trackpad-gesture-desc",children:r("terminal:controls.twoFingerPanDesc")})]})]}),e.jsxs("label",{className:`trackpad-gesture-item ${s.enabled?"":"disabled"}`,children:[e.jsx("input",{type:"checkbox",checked:s.shiftTwoFingerOrbit,onChange:c=>a("shiftTwoFingerOrbit",c.target.checked),disabled:!s.enabled}),e.jsxs("div",{className:"trackpad-gesture-info",children:[e.jsx("span",{className:"trackpad-gesture-name",children:r("terminal:controls.shiftTwoFingerOrbit")}),e.jsx("span",{className:"trackpad-gesture-desc",children:r("terminal:controls.shiftTwoFingerOrbitDesc")})]})]})]})]}),e.jsxs("div",{className:"shortcuts-context-group",children:[e.jsxs("div",{className:"shortcuts-context-header",children:[e.jsx("span",{className:"shortcuts-context-label",children:r("terminal:controls.sensitivity")}),e.jsx("span",{className:"shortcuts-context-description",children:r("terminal:controls.adjustGestureSensitivity")})]}),e.jsxs("div",{className:"trackpad-sensitivity-sliders",children:[e.jsxs("div",{className:`trackpad-slider-row ${!s.enabled||!s.pinchToZoom?"disabled":""}`,children:[e.jsx("label",{children:r("terminal:controls.zoom")}),e.jsx("input",{type:"range",min:"0.1",max:"3",step:"0.1",value:s.sensitivity.zoom,onChange:c=>l("zoom",parseFloat(c.target.value)),disabled:!s.enabled||!s.pinchToZoom}),e.jsxs("span",{className:"trackpad-slider-value",children:[s.sensitivity.zoom.toFixed(1),"x"]})]}),e.jsxs("div",{className:`trackpad-slider-row ${!s.enabled||!s.twoFingerPan?"disabled":""}`,children:[e.jsx("label",{children:r("terminal:controls.pan")}),e.jsx("input",{type:"range",min:"0.1",max:"3",step:"0.1",value:s.sensitivity.pan,onChange:c=>l("pan",parseFloat(c.target.value)),disabled:!s.enabled||!s.twoFingerPan}),e.jsxs("span",{className:"trackpad-slider-value",children:[s.sensitivity.pan.toFixed(1),"x"]})]}),e.jsxs("div",{className:`trackpad-slider-row ${!s.enabled||!s.shiftTwoFingerOrbit?"disabled":""}`,children:[e.jsx("label",{children:r("terminal:controls.orbit")}),e.jsx("input",{type:"range",min:"0.1",max:"3",step:"0.1",value:s.sensitivity.orbit,onChange:c=>l("orbit",parseFloat(c.target.value)),disabled:!s.enabled||!s.shiftTwoFingerOrbit}),e.jsxs("span",{className:"trackpad-slider-value",children:[s.sensitivity.orbit.toFixed(1),"x"]})]})]})]})]})}export{ue as ControlsModal};
@@ -1,2 +0,0 @@
1
- import{u as L,f as x,r as n,s as r,j as S}from"./main-Bp6V_-sL.js";import{L as k}from"./LogViewerModal-CDZvTdfO.js";import"./vendor-react--Eh9ivFN.js";import"./vendor-three-Chj50gSY.js";function B({building:e,isOpen:o,onClose:m,onMinimize:i}){var a;const{t:c}=L(["terminal"]),{streamingBuildingLogs:g,streamingBuildingIds:d}=x(),s=g.get(e.id)||"",f=d.has(e.id);n.useEffect(()=>{var t;return o&&((t=e.docker)!=null&&t.enabled)&&r.startLogStreaming(e.id,200),()=>{e.id&&r.stopLogStreaming(e.id)}},[o,e.id,(a=e.docker)==null?void 0:a.enabled]);const l=n.useMemo(()=>s.split(`
2
- `).map((t,p)=>({text:t,lineNumber:p+1})),[s]);return S.jsx(k,{isOpen:o,onClose:m,onMinimize:i,title:`${e.name} - ${c("terminal:logs.dockerLogs")}`,icon:"🐳",lines:l,isStreaming:f,onClear:()=>r.clearStreamingLogs(e.id)})}export{B as DockerLogsModal};