claude-ws 0.3.97 → 0.3.99

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 (86) hide show
  1. package/locales/de.json +374 -12
  2. package/locales/en.json +374 -12
  3. package/locales/es.json +398 -11
  4. package/locales/fr.json +398 -11
  5. package/locales/ja.json +398 -11
  6. package/locales/ko.json +398 -11
  7. package/locales/vi.json +374 -12
  8. package/locales/zh.json +398 -11
  9. package/package.json +1 -1
  10. package/server.ts +283 -6
  11. package/src/app/[locale]/not-found.tsx +6 -3
  12. package/src/app/[locale]/page.tsx +14 -4
  13. package/src/app/api/attempts/[id]/workflow/route.ts +76 -0
  14. package/src/app/api/questions/answer/route.ts +58 -0
  15. package/src/app/api/questions/route.ts +68 -0
  16. package/src/app/api/tasks/[id]/compact/route.ts +62 -0
  17. package/src/components/access-anywhere/api-access-key-setup-modal.tsx +2 -2
  18. package/src/components/access-anywhere/tunnel-settings-dialog.tsx +6 -6
  19. package/src/components/access-anywhere/wizard-step-ctunnel.tsx +8 -8
  20. package/src/components/agent-factory/dependency-tree.tsx +5 -3
  21. package/src/components/agent-factory/discovery-dialog.tsx +26 -22
  22. package/src/components/agent-factory/plugin-detail-dialog.tsx +41 -38
  23. package/src/components/agent-factory/plugin-form-dialog.tsx +23 -20
  24. package/src/components/agent-factory/plugin-list.tsx +20 -17
  25. package/src/components/agent-factory/upload-dialog.tsx +17 -14
  26. package/src/components/auth/agent-provider-dialog.tsx +67 -65
  27. package/src/components/auth/api-key-dialog.tsx +14 -11
  28. package/src/components/auth/auth-error-message.tsx +6 -3
  29. package/src/components/editor/code-editor-with-inline-edit.tsx +4 -2
  30. package/src/components/editor/file-diff-resolver-modal.tsx +31 -26
  31. package/src/components/editor/inline-edit-dialog.tsx +9 -6
  32. package/src/components/editor/selection-mention-popup.tsx +3 -1
  33. package/src/components/header/project-selector.tsx +7 -4
  34. package/src/components/header.tsx +70 -4
  35. package/src/components/kanban/column.tsx +11 -0
  36. package/src/components/kanban/task-card.tsx +70 -4
  37. package/src/components/project-settings/component-selector.tsx +3 -1
  38. package/src/components/project-settings/plugin-upload-dialog.tsx +7 -5
  39. package/src/components/project-settings/project-settings-dialog.tsx +5 -3
  40. package/src/components/questions/questions-panel.tsx +136 -0
  41. package/src/components/settings/folder-browser-dialog.tsx +29 -25
  42. package/src/components/settings/settings-page.tsx +64 -18
  43. package/src/components/settings/setup-dialog.tsx +26 -23
  44. package/src/components/setup/unified-setup-wizard.tsx +12 -9
  45. package/src/components/sidebar/file-browser/file-create-buttons.tsx +7 -3
  46. package/src/components/sidebar/file-browser/file-tab-content.tsx +19 -15
  47. package/src/components/sidebar/file-browser/file-tabs-panel.tsx +7 -4
  48. package/src/components/sidebar/file-browser/file-tree.tsx +3 -1
  49. package/src/components/sidebar/git-changes/branch-checkout-modal.tsx +6 -4
  50. package/src/components/sidebar/git-changes/commit-details-modal.tsx +5 -3
  51. package/src/components/sidebar/git-changes/diff-tabs-panel.tsx +3 -1
  52. package/src/components/sidebar/git-changes/git-file-item.tsx +8 -6
  53. package/src/components/sidebar/git-changes/git-graph.tsx +8 -5
  54. package/src/components/sidebar/git-changes/git-panel.tsx +28 -27
  55. package/src/components/sidebar/git-changes/git-section.tsx +5 -3
  56. package/src/components/sidebar/shells/shell-panel.tsx +3 -1
  57. package/src/components/task/attachment-bar.tsx +4 -1
  58. package/src/components/task/attempt-item.tsx +7 -5
  59. package/src/components/task/conversation-view.tsx +21 -13
  60. package/src/components/task/floating-chat-window.tsx +14 -5
  61. package/src/components/task/interactive-command/checkpoint-list.tsx +5 -3
  62. package/src/components/task/interactive-command/confirm-dialog.tsx +9 -4
  63. package/src/components/task/interactive-command/interactive-command-overlay.tsx +23 -9
  64. package/src/components/task/interactive-command/question-prompt.tsx +12 -8
  65. package/src/components/task/pending-question-indicator.tsx +5 -3
  66. package/src/components/task/prompt-input.tsx +1 -1
  67. package/src/components/task/shell-log-view.tsx +3 -1
  68. package/src/components/task/status-line.tsx +84 -23
  69. package/src/components/task/task-detail-panel.tsx +27 -27
  70. package/src/components/task/task-shell-indicator.tsx +10 -6
  71. package/src/components/terminal/terminal-context-menu.tsx +6 -4
  72. package/src/components/terminal/terminal-instance.tsx +11 -3
  73. package/src/components/terminal/terminal-panel.tsx +6 -3
  74. package/src/components/terminal/terminal-shortcut-bar.tsx +3 -1
  75. package/src/components/terminal/terminal-tab-bar.tsx +5 -3
  76. package/src/components/workflow/workflow-panel.tsx +181 -0
  77. package/src/hooks/use-attempt-stream.ts +96 -3
  78. package/src/lib/agent-manager.ts +89 -3
  79. package/src/lib/db/index.ts +18 -0
  80. package/src/lib/db/schema.ts +29 -0
  81. package/src/lib/process-manager.ts +28 -7
  82. package/src/lib/session-manager.ts +60 -0
  83. package/src/lib/usage-tracker.ts +19 -19
  84. package/src/lib/workflow-tracker.ts +118 -20
  85. package/src/stores/questions-store.ts +76 -0
  86. package/src/stores/workflow-store.ts +71 -0
package/locales/es.json CHANGED
@@ -37,7 +37,38 @@
37
37
  "newTask": "Nueva Tarea",
38
38
  "agentFactory": "Agent Factory",
39
39
  "agentProvider": "Agent Provider",
40
- "accessAnywhere": "Acceder Desde Cualquier Lugar"
40
+ "accessAnywhere": "Acceder Desde Cualquier Lugar",
41
+ "unsavedChangesConfirm": "\"{fileName}\" tiene cambios sin guardar. ¿Cerrar de todos modos?",
42
+ "paste": "Pegar",
43
+ "clearTerminal": "Limpiar terminal",
44
+ "configured": "Configurado",
45
+ "default": "Predeterminado",
46
+ "noProjectsConfigured": "Sin proyectos configurados",
47
+ "setUpProject": "Configurar un proyecto",
48
+ "loadingApp": "Cargando Claude.WS",
49
+ "allProjects": "Todos los Proyectos",
50
+ "noProjectsYet": "Aún no hay proyectos",
51
+ "selectProject": "Seleccionar Proyecto",
52
+ "clearSearch": "Limpiar búsqueda",
53
+ "no": "No",
54
+ "yes": "Sí",
55
+ "browse": "Explorar",
56
+ "creating": "Creando...",
57
+ "opening": "Abriendo...",
58
+ "saving": "Guardando...",
59
+ "verifying": "Verificando...",
60
+ "generating": "Generando...",
61
+ "scanning": "Escaneando...",
62
+ "importing": "Importando...",
63
+ "checking": "Comprobando...",
64
+ "renaming": "Renombrando...",
65
+ "rename": "Renombrar",
66
+ "new": "Nuevo",
67
+ "refresh": "Actualizar",
68
+ "discover": "Descubrir",
69
+ "upload": "Subir",
70
+ "create": "Crear",
71
+ "editTitle": "Editar título"
41
72
  },
42
73
  "header": {
43
74
  "projects": "Proyectos",
@@ -76,7 +107,9 @@
76
107
  "messageRequired": "El mensaje es obligatorio",
77
108
  "pleaseSelectProject": "Por favor seleccione un proyecto",
78
109
  "waitFileUpload": "Por favor espere a que los archivos terminen de subir",
79
- "failedToCreate": "Fallo al crear tarea"
110
+ "failedToCreate": "Fallo al crear tarea",
111
+ "dragToReorder": "Arrastrar para reordenar",
112
+ "deleteTask": "Eliminar tarea"
80
113
  },
81
114
  "task": {
82
115
  "title": "Título",
@@ -95,7 +128,35 @@
95
128
  "runAgain": "Ejecutar de Nuevo",
96
129
  "viewDiff": "Ver Diferencias",
97
130
  "checkpoint": "Punto de Control",
98
- "restore": "Restaurar"
131
+ "restore": "Restaurar",
132
+ "noAttemptRunning": "No hay intento en ejecución. Envía un mensaje para comenzar.",
133
+ "waitingForTracking": "Esperando datos de seguimiento...",
134
+ "tokens": "tokens",
135
+ "turn": "turno",
136
+ "turns": "turnos",
137
+ "file": "archivo",
138
+ "files": "archivos",
139
+ "questionsPending": "{count} pregunta(s) pendiente(s)",
140
+ "moreQuestions": "+{count} pregunta(s) más",
141
+ "open": "Abrir",
142
+ "stopShell": "Detener shell (K)",
143
+ "runningBackgroundTasks": "{count} tarea(s) en segundo plano",
144
+ "navigateHint": "navegar",
145
+ "viewLogsHint": "ver registros",
146
+ "killHint": "terminar",
147
+ "closeHint": "cerrar",
148
+ "loadingQuestion": "Cargando pregunta...",
149
+ "statusRunning": "En ejecución",
150
+ "statusCompleted": "Completado",
151
+ "statusFailed": "Fallido",
152
+ "statusCancelled": "Cancelado",
153
+ "deleteTaskConfirm": "¿Eliminar tarea \"{title}\"?",
154
+ "dragToReorder": "Arrastrar para reordenar",
155
+ "submitAnswers": "Enviar respuestas",
156
+ "reviewAnswers": "Revisa tus respuestas",
157
+ "notAllAnswered": "No has respondido todas las preguntas",
158
+ "readyToSubmit": "¿Listo para enviar tus respuestas?",
159
+ "typeSomething": "Escribe algo."
99
160
  },
100
161
  "editor": {
101
162
  "openFile": "Abrir Archivo",
@@ -105,7 +166,55 @@
105
166
  "find": "Buscar",
106
167
  "replace": "Reemplazar",
107
168
  "format": "Formatear",
108
- "toggleWordWrap": "Alternar Ajuste de Línea"
169
+ "toggleWordWrap": "Alternar Ajuste de Línea",
170
+ "closeAllTabs": "Cerrar todas las pestañas",
171
+ "searchPlaceholder": "Buscar...",
172
+ "previousMatch": "Anterior",
173
+ "nextMatch": "Siguiente",
174
+ "undo": "Deshacer",
175
+ "redo": "Rehacer",
176
+ "showSourceCode": "Mostrar código fuente",
177
+ "showPreview": "Mostrar vista previa",
178
+ "export": "Exportar",
179
+ "checkingForChanges": "Verificando cambios...",
180
+ "externalChangesDetected": "Cambios externos detectados - clic para resolver",
181
+ "addLinesToChat": "Agregar líneas L{startLine}-{endLine} al chat",
182
+ "addFileToChat": "Agregar archivo al chat",
183
+ "fileChangedExternally": "Archivo Modificado Externamente",
184
+ "hasBeenModified": "ha sido modificado en disco. Haga clic",
185
+ "toInsertRemoteLines": "para insertar las líneas remotas en su versión.",
186
+ "differences": "Diferencias:",
187
+ "newInRemote": "nuevo en remoto",
188
+ "onlyInLocal": "solo en local",
189
+ "filesIdentical": "Los archivos son idénticos",
190
+ "modifiedFromOriginal": "Modificado del original",
191
+ "local": "Local",
192
+ "modified": "(modificado)",
193
+ "copyLocalContent": "Copiar contenido local",
194
+ "remoteDisk": "Remoto (Disco)",
195
+ "copyRemoteContent": "Copiar contenido remoto",
196
+ "keepLocalOnly": "Mantener Solo Local",
197
+ "acceptRemoteOnly": "Aceptar Solo Remoto",
198
+ "applyMerged": "Aplicar Combinado",
199
+ "lineInserted": "Línea insertada con marcador",
200
+ "linesInserted": "{count} línea(s) insertada(s) con marcadores",
201
+ "deletionMarkersInserted": "Marcadores de eliminación insertados",
202
+ "deletionMarkerInserted": "Marcador de eliminación insertado",
203
+ "keptLocalChanges": "Cambios locales conservados",
204
+ "acceptedRemoteChanges": "Cambios remotos aceptados",
205
+ "appliedMergedChanges": "Cambios combinados aplicados",
206
+ "copiedToClipboard": "{label} copiado al portapapeles",
207
+ "linesInRemote": "{count} línea(s) en remoto",
208
+ "insertAllLines": "Insertar las {count} líneas",
209
+ "linesDeletedInRemote": "{count} línea(s) eliminada(s) en remoto",
210
+ "markAsDeleted": "Marcar como eliminado",
211
+ "insertLineIntoLocal": "Insertar esta línea en local",
212
+ "selectTaskFirst": "Seleccione una tarea primero para agregar contexto",
213
+ "accept": "Aceptar",
214
+ "reject": "Rechazar",
215
+ "describeChange": "Describa el cambio que desea...",
216
+ "error": "Error",
217
+ "addMoreFiles": "Agregar más archivos"
109
218
  },
110
219
  "sidebar": {
111
220
  "files": "Archivos",
@@ -205,7 +314,40 @@
205
314
  "noChangesToCommit": "Sin cambios para confirmar",
206
315
  "noChanges": "Sin cambios",
207
316
  "enterCommitMessage": "Ingrese mensaje de confirmación",
208
- "staged": "Preparados"
317
+ "staged": "Preparados",
318
+ "discardChangesConfirm": "¿Descartar cambios en {filePath}?",
319
+ "discardAllConfirm": "¿Descartar TODOS los cambios? ¡Esta acción no se puede deshacer!",
320
+ "failedToAddGitignore": "Error al agregar a .gitignore",
321
+ "failedToCommit": "Error al confirmar",
322
+ "failedToGenerateCommit": "Error al generar mensaje de confirmación",
323
+ "failedToPush": "Error al enviar cambios",
324
+ "failedToFetchBranches": "Error al obtener ramas",
325
+ "clickToSwitchBranches": "Haga clic para cambiar de rama",
326
+ "noBranch": "Sin rama",
327
+ "changes": "Cambios",
328
+ "discardAllChanges": "Descartar Todos los Cambios",
329
+ "stageAllChanges": "Preparar Todos los Cambios",
330
+ "unstageAllChanges": "Despreparar Todos los Cambios",
331
+ "commitTitle": "Título de confirmación",
332
+ "descriptionOptional": "Descripción (opcional)",
333
+ "syncChanges": "Sincronizar cambios",
334
+ "commitChanges": "Confirmar cambios",
335
+ "noChangesToGenerate": "Sin cambios para generar mensaje de confirmación",
336
+ "generateCommitMessage": "Generar mensaje de confirmación con IA",
337
+ "workingTreeClean": "Árbol de trabajo limpio",
338
+ "addToGitignore": "Agregar a .gitignore",
339
+ "unstageChanges": "Despreparar Cambios",
340
+ "discardChanges": "Descartar Cambios",
341
+ "stageChanges": "Preparar Cambios",
342
+ "showAllBranches": "Mostrar todas las ramas",
343
+ "showCurrentBranchOnly": "Mostrar solo la rama actual",
344
+ "fetch": "Obtener",
345
+ "searchBranches": "Buscar ramas...",
346
+ "copyFullHash": "Copiar hash completo",
347
+ "checkoutCommit": "Cambiar a este commit (estado HEAD desconectado)",
348
+ "createBranchFromCommit": "Crear una nueva rama desde este commit",
349
+ "closeAllTabs": "Cerrar todas las pestañas",
350
+ "newFile": "Nuevo"
209
351
  },
210
352
  "settings": {
211
353
  "title": "Configuración",
@@ -222,14 +364,73 @@
222
364
  "agentFactory": "Agent Factory",
223
365
  "plugins": "Plugins",
224
366
  "installPlugin": "Instalar Plugin",
225
- "managePlugins": "Gestionar Plugins"
367
+ "managePlugins": "Gestionar Plugins",
368
+ "createFailed": "Error al crear",
369
+ "manageSettings": "Gestione la configuración y preferencias de su proyecto.",
370
+ "currentProject": "Proyecto Actual",
371
+ "claudeApiConfig": "Configuración de la API de Claude",
372
+ "providerConfigured": "Un proveedor está configurado",
373
+ "noProviderConfigured": "Sin proveedor configurado",
374
+ "configure": "Configurar",
375
+ "apiAccessKey": "Clave de Acceso API",
376
+ "remoteAccessAuth": "Autenticación de Acceso Remoto",
377
+ "apiKeyConfigured": "Una clave de acceso API está configurada",
378
+ "noApiKeyConfigured": "Sin clave de acceso API configurada",
379
+ "setUpProject": "Configurar Proyecto",
380
+ "selectExistingDescription": "Seleccione una carpeta de proyecto existente para abrir.",
381
+ "configureNewDescription": "Configure una carpeta de proyecto para usar con Claude Code.",
382
+ "openExisting": "Abrir Existente",
383
+ "createNew": "Crear Nuevo",
384
+ "projectFolder": "Carpeta del Proyecto",
385
+ "openProject": "Abrir Proyecto",
386
+ "rootFolder": "Carpeta Raíz",
387
+ "createProject": "Crear Proyecto",
388
+ "projectNameRequired": "El nombre del proyecto es obligatorio",
389
+ "rootFolderRequired": "La carpeta raíz es obligatoria",
390
+ "projectNameAlphanumeric": "El nombre del proyecto debe contener al menos un carácter alfanumérico",
391
+ "projectPathRequired": "La ruta del proyecto es obligatoria",
392
+ "enterAbsolutePath": "Por favor ingrese una ruta absoluta",
393
+ "autoDetected": "(detectado automáticamente)",
394
+ "folderNameHint": "Este será el nombre de la carpeta del proyecto",
395
+ "selectParentFolder": "Seleccione la carpeta padre donde se creará el proyecto",
396
+ "projectCreatedAt": "El proyecto se creará en:",
397
+ "selectFolder": "Seleccionar Carpeta",
398
+ "navigateAndSelect": "Navegue hasta la carpeta de su proyecto y selecciónela",
399
+ "up": "Subir",
400
+ "home": "Inicio",
401
+ "noSubdirectories": "Sin subdirectorios",
402
+ "renameFolderTitle": "Renombrar carpeta",
403
+ "selectThisFolder": "Seleccionar Esta Carpeta",
404
+ "createNewFolder": "Crear Nueva Carpeta",
405
+ "enterFolderNameIn": "Ingrese un nombre para la nueva carpeta en",
406
+ "folderName": "Nombre de Carpeta",
407
+ "renameFolder": "Renombrar Carpeta",
408
+ "enterNewNameFor": "Ingrese un nuevo nombre para",
409
+ "newName": "Nuevo Nombre",
410
+ "folderCreated": "Carpeta creada",
411
+ "folderRenamed": "Carpeta renombrada",
412
+ "renameFailed": "Error al renombrar",
413
+ "setUpWorkspace": "Configure Su Espacio de Trabajo",
414
+ "setUpWorkspaceDescription": "Configure los ajustes esenciales para su espacio de trabajo. Siempre puede cambiarlos más tarde en Configuración.",
415
+ "configureAuthDescription": "Configure cómo autenticarse con la API de Claude",
416
+ "setUpRemoteAccess": "Configurar autenticación para acceso remoto",
417
+ "projectSettings": "Configuración del Proyecto",
418
+ "noProjectsAvailable": "Sin proyectos disponibles"
226
419
  },
227
420
  "auth": {
228
421
  "apiKeyRequired": "Se Requiere Clave de API",
229
422
  "enterApiKey": "Introduce tu clave de API para continuar",
230
423
  "apiKey": "Clave de API",
231
424
  "verify": "Verificar",
232
- "invalidApiKey": "Clave de API Inválida"
425
+ "invalidApiKey": "Clave de API Inválida",
426
+ "apiKeyIsRequired": "La clave de API es obligatoria",
427
+ "failedToVerifyApiKey": "Error al verificar la clave de API",
428
+ "serverRequiresApiKey": "Este servidor requiere una clave de API para acceder. Ingrese su clave para continuar.",
429
+ "enterYourApiKey": "Ingrese su clave de API",
430
+ "apiKeyStoredLocally": "Su clave de API se almacenará localmente en su navegador",
431
+ "pressEnterOrSubmit": "Presione Enter o haga clic en Enviar para verificar",
432
+ "authenticationError": "Error de Autenticación",
433
+ "configAgentProvider": "Configurar Agent Provider"
233
434
  },
234
435
  "agentFactory": {
235
436
  "title": "Fábrica de Agentes",
@@ -242,7 +443,88 @@
242
443
  "viewFiles": "Ver Archivos",
243
444
  "compare": "Comparar",
244
445
  "import": "Importar",
245
- "export": "Exportar"
446
+ "export": "Exportar",
447
+ "description": "Este es su repositorio de plugins. Para instalar plugins en un proyecto específico, vaya a Configuración del Proyecto y seleccione los plugins a instalar.",
448
+ "searchPlugins": "Buscar plugins...",
449
+ "loadingPlugins": "Cargando plugins...",
450
+ "noDescription": "Sin descripción",
451
+ "noPluginsFound": "No se encontraron plugins",
452
+ "adjustFilters": "Intente ajustar sus filtros o consulta de búsqueda",
453
+ "getStartedDiscover": "Comience descubriendo plugins existentes o creando uno nuevo",
454
+ "deletePluginConfirm": "¿Está seguro de que desea eliminar este plugin?",
455
+ "skills": "Skills",
456
+ "commands": "Commands",
457
+ "agents": "Agents",
458
+ "agentSets": "Agent Sets",
459
+ "all": "Todos",
460
+ "discoverPlugins": "Descubrir Plugins",
461
+ "scanDescription": "Escanee su sistema de archivos en busca de plugins de Claude existentes e impórtelos a Agent Factory.",
462
+ "clickScanToSearch": "Haga clic en el botón Escanear para buscar plugins",
463
+ "scan": "Escanear",
464
+ "scanningForPlugins": "Escaneando plugins...",
465
+ "noPluginsFoundScan": "No se encontraron plugins en /skills, /commands ni /agents",
466
+ "rescan": "Reescanear",
467
+ "pluginsFound": "plugins encontrados",
468
+ "newStatus": "nuevo",
469
+ "updates": "actualizaciones",
470
+ "current": "actual",
471
+ "importAll": "Importar Todos",
472
+ "importSelected": "Importar {count} Seleccionados",
473
+ "editPlugin": "Editar Plugin",
474
+ "createNewPlugin": "Crear Nuevo Plugin",
475
+ "updatePluginDescription": "Actualice los detalles del plugin a continuación.",
476
+ "addPluginDescription": "Agregue un nuevo plugin al registro de Agent Factory.",
477
+ "type": "Tipo",
478
+ "skill": "Skill",
479
+ "command": "Command",
480
+ "agent": "Agent",
481
+ "name": "Nombre",
482
+ "pluginName": "Nombre del plugin",
483
+ "pluginDescription": "Breve descripción del plugin",
484
+ "sourcePath": "Ruta de Origen",
485
+ "pathAutoGenerated": "La ruta se generará automáticamente según el tipo y nombre del plugin",
486
+ "storageType": "Tipo de Almacenamiento",
487
+ "local": "Local",
488
+ "imported": "Importado",
489
+ "external": "Externo",
490
+ "update": "Actualizar",
491
+ "details": "Detalles",
492
+ "files": "Archivos",
493
+ "noFilesFound": "No se encontraron archivos",
494
+ "reResolve": "Volver a resolver",
495
+ "reResolving": "Volviendo a resolver...",
496
+ "noDependenciesFound": "No se encontraron dependencias",
497
+ "libraryDependencies": "Dependencias de Biblioteca",
498
+ "noExternalLibraries": "No se encontraron bibliotecas externas",
499
+ "installScripts": "Scripts de Instalación",
500
+ "pluginDependencies": "Dependencias de Plugin",
501
+ "noPluginDependencies": "No se encontraron dependencias de plugin",
502
+ "circularDependencies": "Dependencias circulares detectadas",
503
+ "discovered": "Descubierto",
504
+ "pluginDetails": "Detalles y archivos del plugin",
505
+ "discoveredPluginDetails": "Detalles y archivos del plugin descubierto",
506
+ "metadata": "Metadatos",
507
+ "storage": "Almacenamiento:",
508
+ "failedToLoadFiles": "Error al cargar archivos",
509
+ "failedToLoadFile": "Error al cargar archivo",
510
+ "failedToLoadDependencies": "Error al cargar dependencias",
511
+ "failedToReResolveDependencies": "Error al volver a resolver dependencias",
512
+ "failedToAnalyzeDependencies": "Error al analizar dependencias",
513
+ "failedToUninstallComponent": "Error al desinstalar componente",
514
+ "cycle": "Ciclo",
515
+ "missing": "Faltante",
516
+ "maxDepth": "Profundidad máxima",
517
+ "confirmImport": "Confirmar Importación",
518
+ "importFromArchive": "Importar Plugins desde Archivo",
519
+ "analyzingArchive": "Analizando archivo...",
520
+ "clickToUploadOrDrag": "Haga clic para subir o arrastre y suelte",
521
+ "supportedFormats": "Archivos .zip, .tar, .gz, .gzip o .tgz",
522
+ "invalidFileType": "Tipo de archivo no válido. Por favor suba un archivo .zip, .tar, .gz, .gzip o .tgz.",
523
+ "automaticOrganization": "Organización Automática:",
524
+ "itemsToImport": "Elementos a importar",
525
+ "archiveAnalyzed": "Archivo analizado correctamente. Haga clic en Importar para agregar estos plugins a su Agent Factory.",
526
+ "importingPlugins": "Importando plugins...",
527
+ "importGlobally": "Importar Globalmente"
246
528
  },
247
529
  "shells": {
248
530
  "newShell": "Nuevo Shell",
@@ -250,7 +532,17 @@
250
532
  "exited": "Salió",
251
533
  "restart": "Reiniciar",
252
534
  "kill": "Matar",
253
- "clearOutput": "Limpiar Salida"
535
+ "clearOutput": "Limpiar Salida",
536
+ "creatingTerminal": "Creando terminal...",
537
+ "failedToCreateTerminal": "Error al crear terminal",
538
+ "copiedToClipboard": "Copiado al portapapeles",
539
+ "failedToCopy": "Error al copiar",
540
+ "stopShell": "Detener shell",
541
+ "selectionMode": "Modo de selección",
542
+ "newTerminal": "Nueva Terminal",
543
+ "sendCtrlC": "Enviar Ctrl+C (SIGINT)",
544
+ "closePanel": "Cerrar Panel",
545
+ "clipboardDenied": "Acceso al portapapeles denegado — use el botón Pegar de la barra de atajos en móvil"
254
546
  },
255
547
  "chat": {
256
548
  "taskCompleted": "¡Tarea completada!",
@@ -289,7 +581,71 @@
289
581
  "commandsHint": "comandos",
290
582
  "filesHint": "archivos",
291
583
  "pasteImageHint": "pegar imagen",
292
- "cancelled": "Cancelado"
584
+ "cancelled": "Cancelado",
585
+ "detachToFloating": "Desacoplar a ventana flotante",
586
+ "maximizeToPanel": "Maximizar al panel",
587
+ "clearConversation": "Limpiar Conversación",
588
+ "clearConversationConfirm": "¿Está seguro de que desea borrar todos los mensajes? Esta acción no se puede deshacer.",
589
+ "compactConversation": "Compactar Conversación",
590
+ "compactConversationConfirm": "Esto resumirá la conversación para ahorrar espacio de contexto. ¿Continuar?",
591
+ "compact": "Compactar",
592
+ "typeYourAnswer": "Escriba su respuesta...",
593
+ "rewoundToCheckpoint": "Conversación y archivos revertidos al punto de control",
594
+ "rewoundConversationOnly": "Solo conversación revertida",
595
+ "rewoundConversation": "Conversación revertida al punto de control",
596
+ "waitForUpload": "Por favor espere a que los archivos terminen de subir"
597
+ },
598
+ "agentProvider": {
599
+ "configureTitle": "Configurar Proveedor de Agente",
600
+ "configureDescription": "Elija cómo desea autenticarse con la API de Claude:",
601
+ "reloadShowConfig": "Recargar y Mostrar",
602
+ "hideConfig": "Ocultar",
603
+ "currentConfiguration": "Configuración Actual",
604
+ "loading": "Cargando...",
605
+ "activeProcessEnv": "Valores activos de process.env:",
606
+ "noProviderConfig": "No se cargó configuración de proveedor",
607
+ "loginWithClaude": "Iniciar sesión con Cuenta Claude",
608
+ "forClaudeSubscribers": "Para suscriptores de Claude Pro, Max, Team o Enterprise",
609
+ "anthropicConsole": "Cuenta de Anthropic Console",
610
+ "payAsYouGo": "Facturación de uso de API por consumo",
611
+ "claudeCodeSettings": "Configuración de Claude Code",
612
+ "useSettingsJson": "Usar configuración de settings.json",
613
+ "customApiKey": "Clave de API Personalizada",
614
+ "useOwnApiKey": "Use su propia clave de API de Anthropic",
615
+ "howToLoginOAuth": "Cómo iniciar sesión con OAuth:",
616
+ "ensureSubscription": "Asegúrese de tener una suscripción Claude Pro, Max, Team o Enterprise",
617
+ "openTerminal": "Abra una terminal en su servidor",
618
+ "runClaudeLogin": "Ejecute:",
619
+ "chooseOAuthOption": "1. Cuenta Claude con suscripción · Pro, Max, Team o Enterprise",
620
+ "followAuthFlow": "Siga el flujo de autenticación del navegador",
621
+ "restartAfterLogin": "Reinicie la aplicación después de iniciar sesión",
622
+ "loggedInReload": "Ya Inicié Sesión - Recargar",
623
+ "howToUseConsole": "Cómo usar una cuenta de Anthropic Console:",
624
+ "chooseConsoleOption": "2. Cuenta de Anthropic Console · Facturación por uso de API",
625
+ "usingClaudeCodeSettings": "Usando Configuración de Claude Code",
626
+ "settingsFileDescription": "Este método usa la configuración de su archivo de configuración de Claude Code:",
627
+ "linuxMacOs": "Linux/macOS:",
628
+ "windows": "Windows:",
629
+ "envVarsDescription": "Las siguientes variables de entorno se leen desde la sección env:",
630
+ "required": "obligatorio",
631
+ "settingsConfigured": "Settings.json está configurado y se usará para la autenticación.",
632
+ "settingsNotConfigured": "Settings.json no contiene ANTHROPIC_AUTH_TOKEN. Agréguelo para usar este método.",
633
+ "reloadToApply": "Recargar para Aplicar",
634
+ "leaveEmptyToKeep": "Deje vacío para conservar la clave existente",
635
+ "existingKeyHint": "Ya hay una clave de API configurada. Déjela vacía para conservarla, o ingrese una nueva para reemplazarla.",
636
+ "fillDefaultValues": "Rellenar Valores Predeterminados",
637
+ "baseUrl": "URL Base",
638
+ "defaultModel": "Modelo Predeterminado",
639
+ "haikuModel": "Modelo Haiku",
640
+ "sonnetModel": "Modelo Sonnet",
641
+ "opusModel": "Modelo Opus",
642
+ "apiTimeout": "Tiempo de Espera de API (ms)",
643
+ "configSavedToEnv": "La configuración se guardará en el archivo .env del directorio de la aplicación. Los campos vacíos usarán valores predeterminados.",
644
+ "dismissProvider": "Descartar Este Proveedor",
645
+ "areYouSure": "¿Está seguro?",
646
+ "yesDismiss": "Sí, Descartar",
647
+ "saveConfiguration": "Guardar Configuración",
648
+ "afterLoginHint": "Después de iniciar sesión en claude.ai, ejecute \"claude login\" en su terminal para autenticarse."
293
649
  },
294
650
  "accessAnywhere": {
295
651
  "title": "Acceder Desde Cualquier Lugar",
@@ -370,6 +726,37 @@
370
726
  "configureTunnel": "Configurar Túnel",
371
727
  "addDnsRecord": "Agregar Registro DNS",
372
728
  "runTunnel": "Ejecutar Túnel",
373
- "orInstallAsService": "O instalar como servicio:"
729
+ "orInstallAsService": "O instalar como servicio:",
730
+ "apiAccessKeyRequired": "Se Requiere Clave de Acceso API",
731
+ "apiAccessKeyDescription": "Para habilitar Acceder Desde Cualquier Lugar, necesita configurar una clave de acceso API. Esta clave protegerá su espacio de trabajo del acceso no autorizado cuando esté expuesto a internet.",
732
+ "apiAccessKeyWarning": "¡Guarde esta clave de forma segura! La necesitará para acceder a su espacio de trabajo de forma remota. La clave se almacenará en su archivo .env.",
733
+ "generatedApiKey": "Clave de Acceso API",
734
+ "enterCustomKey": "Ingrese su clave personalizada...",
735
+ "copyKey": "Copiar clave",
736
+ "copied": "¡Copiado!",
737
+ "regenerateKey": "Generar nueva clave",
738
+ "useCustomKey": "Usar mi propia clave personalizada",
739
+ "apiKeyStorageNote": "Esta clave se guardará en su archivo .env como API_ACCESS_KEY. Es posible que necesite reiniciar el servidor para que los cambios surtan efecto.",
740
+ "apiKeyMinLength": "La clave API debe tener al menos 16 caracteres",
741
+ "apiKeyRequired": "La clave API es obligatoria",
742
+ "cancel": "Cancelar",
743
+ "saving": "Guardando...",
744
+ "saveAndContinue": "Guardar y Continuar",
745
+ "failedToSaveApiKey": "Error al guardar la clave de API",
746
+ "noTunnelConfig": "No se encontró configuración de túnel. Por favor configure Acceder Desde Cualquier Lugar primero.",
747
+ "failedToStartTunnel": "Error al iniciar el túnel",
748
+ "failedToRegisterSubdomain": "Error al registrar el subdominio",
749
+ "failedToConfirmSubdomain": "Error al confirmar el subdominio",
750
+ "confirmationCodeIsRequired": "El código de confirmación es obligatorio"
751
+ },
752
+ "notFound": {
753
+ "title": "404 - Página No Encontrada",
754
+ "description": "La página que busca no existe.",
755
+ "goHome": "Volver al inicio"
756
+ },
757
+ "globalError": {
758
+ "title": "¡Algo salió mal!",
759
+ "fallbackMessage": "Ocurrió un error inesperado",
760
+ "tryAgain": "Intentar de nuevo"
374
761
  }
375
762
  }