specrails-desktop 2.22.0 → 2.23.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.
- package/client/dist/assets/{ActivityFeedPage-roDyKGuv.js → ActivityFeedPage-Cq4UlyrP.js} +1 -1
- package/client/dist/assets/{AgentBrowserCapture-BsXnWa4j.js → AgentBrowserCapture-BqGtoL0L.js} +1 -1
- package/client/dist/assets/{AgentModeCodePane-o97EJvbJ.js → AgentModeCodePane-W7XIIcKj.js} +2 -2
- package/client/dist/assets/{AgentModeJobsPane-CLtpPxPM.js → AgentModeJobsPane-CryUvMB9.js} +1 -1
- package/client/dist/assets/{AgentsPage-eNSo_ZcC.js → AgentsPage-Re0K2JCa.js} +1 -1
- package/client/dist/assets/{AnalyticsPage-cAJ60_Ex.js → AnalyticsPage-27FMsav_.js} +1 -1
- package/client/dist/assets/{BarChart-NLtK7xAY.js → BarChart-BiFF8sw8.js} +1 -1
- package/client/dist/assets/{CodePage-B5rum8ZB.js → CodePage-Ud12s91j.js} +1 -1
- package/client/dist/assets/{DesktopAnalyticsPage-DSuvG6Tq.js → DesktopAnalyticsPage-BdjWlYgU.js} +1 -1
- package/client/dist/assets/{DocsDialog-Bo38G3Yc.js → DocsDialog-DG_c7_6k.js} +1 -1
- package/client/dist/assets/{DocsPage-BNkiBBrC.js → DocsPage-CDieUvMv.js} +1 -1
- package/client/dist/assets/{ExportDropdown-DCV8PN4-.js → ExportDropdown-Cokk4zlC.js} +1 -1
- package/client/dist/assets/{IntegrationsPage-BMJOzpPz.js → IntegrationsPage-oyvHxjdV.js} +1 -1
- package/client/dist/assets/{InteractiveJobComposer-aLduNs5R.js → InteractiveJobComposer-C2w9yVm8.js} +1 -1
- package/client/dist/assets/{JobDetailModal-kpkUWJIS.js → JobDetailModal-DEStK2P4.js} +1 -1
- package/client/dist/assets/{JobDetailPage-CFeqlrPU.js → JobDetailPage-BqdQ1wOs.js} +1 -1
- package/client/dist/assets/{JobsPage-fuwhXy2I.js → JobsPage-BH5pl9o_.js} +1 -1
- package/client/dist/assets/{LoopBuilderPage-DP66322C.js → LoopBuilderPage-B8QhQ4FV.js} +1 -1
- package/client/dist/assets/{LoopPreviewModal-CpmBhE31.js → LoopPreviewModal-CK58XIQ_.js} +1 -1
- package/client/dist/assets/{LoopsPage-CvQ18VUx.js → LoopsPage-C0aVmXxN.js} +1 -1
- package/client/dist/assets/{ProjectSettingsDialog-Deq4pwvq.js → ProjectSettingsDialog-Bf_x-MSF.js} +1 -1
- package/client/dist/assets/{TemplatePreviewModal-DziOj2Ct.js → TemplatePreviewModal-Rtc2P5v3.js} +1 -1
- package/client/dist/assets/{agent-D3vcIvaz2.js → agent-A0LpODvj2.js} +1 -1
- package/client/dist/assets/{agent-HolR7QrZ.js → agent-BCi1xJEH.js} +1 -1
- package/client/dist/assets/{agent-Csh4kP2S.js → agent-BmmZdeg7.js} +1 -1
- package/client/dist/assets/{agent-Ka0rRWJy.js → agent-Bpm3uEw7.js} +1 -1
- package/client/dist/assets/{agent-Dnbt0V4e.js → agent-BrmiC8zZ.js} +1 -1
- package/client/dist/assets/{agent-Cz_jgQX32.js → agent-CBOOT08j2.js} +1 -1
- package/client/dist/assets/{agent-Te3yysMd.js → agent-CZ7HdyTA.js} +1 -1
- package/client/dist/assets/{agent-vM4_iLDk2.js → agent-DPGlEboi2.js} +1 -1
- package/client/dist/assets/{brain-kFJuEDNH.js → brain-DDEGUEos.js} +1 -1
- package/client/dist/assets/dashboard-4WX7agHF2.js +1 -0
- package/client/dist/assets/dashboard-5Z_esXIB.js +1 -0
- package/client/dist/assets/dashboard-DQ-po1MG2.js +1 -0
- package/client/dist/assets/dashboard-IbEztmJ52.js +1 -0
- package/client/dist/assets/dashboard-nc-Raovv.js +1 -0
- package/client/dist/assets/dashboard-ojWdDq6S.js +1 -0
- package/client/dist/assets/dashboard-oqS7VRrK.js +1 -0
- package/client/dist/assets/dashboard-zfoJcdFW.js +1 -0
- package/client/dist/assets/{dist-js-DKpmIJlQ.js → dist-js-BP83ZCIg.js} +1 -1
- package/client/dist/assets/{dist-js-BZSiJDbG.js → dist-js-Qk8DW7W3.js} +1 -1
- package/client/dist/assets/{index-DM6heiGa.js → index-BQbiBIg_.js} +8 -8
- package/client/dist/assets/{lib-B2nCKzmA.js → lib-CtyGolSR.js} +1 -1
- package/client/dist/assets/{upload-CLAzW1mS.js → upload-BOOCdPin.js} +1 -1
- package/client/dist/assets/{value-DSwzyyWR.js → value-BHbZ4o6V.js} +1 -1
- package/client/dist/index.html +3 -3
- package/docs/internals/safe-pr-review-flow.md +17 -2
- package/package.json +1 -1
- package/server/dist/agent-operator-prompt.js +9 -0
- package/server/dist/rail-pr-decision.js +111 -1
- package/server/dist/rails-router.js +10 -1
- package/client/dist/assets/dashboard-BaStj_a_.js +0 -1
- package/client/dist/assets/dashboard-Bi6ugu5Q.js +0 -1
- package/client/dist/assets/dashboard-BmqTn3L02.js +0 -1
- package/client/dist/assets/dashboard-CvT8lOCT.js +0 -1
- package/client/dist/assets/dashboard-D7Pmeavq2.js +0 -1
- package/client/dist/assets/dashboard-DAnWdAac2.js +0 -1
- package/client/dist/assets/dashboard-JnYy2WLg.js +0 -1
- package/client/dist/assets/dashboard-L47YsFS_.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={railAdded:`Rail {{n}} aggiunto`,railRemoved:`{{rail}} rimosso`,railLimitReached:`Limite di rail raggiunto ({{max}} max)`,railDeleteFailed:`Impossibile rimuovere il rail — contiene spec, è in esecuzione o ha una decisione PR in sospeso`,launchTicketsInFlight:`Una spec di questo rail è già in lavorazione da un'esecuzione attiva`,launchAllSummary_one:`{{count}} rail lanciato in parallelo`,launchAllSummary_other:`{{count}} rail lanciati in parallelo`,launchAllNoneEligible:`Nessun rail pronto al lancio — assegna prima le spec a un rail libero`,launchAllFailed:`Nessun rail è stato lanciato`,railCompleted:`Rail {{n}} completato`,railFailed:`Rail {{n}} non riuscito — le spec sono tornate in Specs`,railEnded:`Rail {{n}} {{status}} — le spec sono tornate in Specs`,alreadyOnRail:`Già su {{rail}}`,movedToRail:`Spostata su {{rail}}`,railRunningStopFirst:`{{rail}} è in esecuzione — fermalo prima di rimuoverlo`,removedFromRail:`Rimossa da {{rail}}`,queuedOnRail:`In coda su {{rail}}`,queuedOnRailDescription:`Il rail è attualmente in esecuzione`,railStopped:`{{rail}} fermato`,stopFailed:`Impossibile fermare il rail`,syncTicketsFailed:`Impossibile sincronizzare i ticket del rail`,launchFailed:`Impossibile avviare il rail`,launchNetworkError:`Errore di rete durante l'avvio del rail`,railLaunched:`{{rail}} avviato`,launchDescription_one:`{{mode}} con {{count}} spec`,launchDescription_other:`{{mode}} con {{count}} spec`,railWorktreeNeedsReview:`Rail {{n}}: la spec #{{ticket}} richiede revisione dopo il merge`,railWorktreesNoGit:`Isolamento con worktree non disponibile: il progetto non è un repository git — esecuzione in modalità condivisa.`,railWorktreesNoCommits:`Isolamento con worktree non disponibile: il repository non ha ancora commit — crea un commit iniziale e rilancia.`,onReviewCannotMoveToRail:`Questa spec è in attesa della revisione della PR — risolvi prima la decisione sulla PR`,onReviewNotLaunchable:`Una spec di questo rail è in attesa della revisione della PR — risolvi la decisione sulla PR prima di lanciare`},t={readyForReview:`Pronto per la revisione`,draftPr:`PR in bozza`,branchPushed:`Ramo inviato — PR in sospeso`,branchPushedHint:`Il ramo è stato inviato ma non è stato possibile creare la PR (GitHub CLI non disponibile). Riprova per crearla.`,prReady:`PR pronta`,prFailed:`PR non riuscita`,prFailedDetail:`PR non riuscita: {{detail}}`,createDegraded:`Impossibile pubblicare la PR — {{detail}}. Riprova una volta risolto.`,createPr:`Crea PR`,createPrTooltip:`→ {{base}}`,publish:`Pubblica`,publishTooltip:`Apre la PR in bozza per la revisione del team`,discard:`Scarta`,discardTooltip:`Elimina i rami e riporta i ticket in Specs`,retryPr:`Riprova PR`,retry:`Riprova`,checkMerge:`Verifica merge`,checkMergeTooltip:`Chiede a GitHub se è stato fatto il merge della PR`,prLinkFallback:`PR`,openPrTitle:`Apri la PR su GitHub`,notMergedYet:`Ancora nessun merge`,alreadyResolved:`Già risolta altrove`,ghFailed:`GitHub CLI non riuscita: {{detail}}`,actionFailed:`Impossibile applicare la decisione sulla PR`,mergedToast:`Merge della PR effettuato — i ticket sono passati a Completato`,discardedToast:`PR scartata — i ticket sono tornati in Specs`,decisionPending:`Questo rail ha una decisione sulla PR in sospeso — creala, pubblicala o scartala prima di rilanciare`,discardConfirmTitle:`Scartare questa consegna?`,discardConfirmBody:`I rami e i worktree del lancio verranno eliminati e i loro ticket torneranno in Specs. L'operazione non può essere annullata.`},n={title:`Rails`,runningCount_one:`{{count}} in esecuzione`,runningCount_other:`{{count}} in esecuzione`,launchAll:`Lancia tutti`,launchAllTitle:`Lancia in parallelo tutti i rail pronti — ogni esecuzione è isolata nel proprio worktree git`},r={skipRunning_one:`{{count}} già in esecuzione`,skipRunning_other:`{{count}} già in esecuzione`,skipEmpty_one:`{{count}} senza spec`,skipEmpty_other:`{{count}} senza spec`,skipPendingDecision_one:`{{count}} in attesa di una decisione PR`,skipPendingDecision_other:`{{count}} in attesa di una decisione PR`,skipOnReview_one:`{{count}} con spec in revisione`,skipOnReview_other:`{{count}} con spec in revisione`,skipInFlight_one:`{{count}} saltato (spec già in corso)`,skipInFlight_other:`{{count}} saltati (spec già in corso)`,failedCount_one:`{{count}} non riuscito`,failedCount_other:`{{count}} non riusciti`},i={title:`Lancia tutti i rail`,railsCount_one:`{{count}} rail`,railsCount_other:`{{count}} rail`,specsCount_one:`{{count}} spec`,specsCount_other:`{{count}} spec`,isolationTitle:`Parallelo e isolato.`,isolationBody:`Ogni rail gira nel proprio worktree git — i lanci simultanei non collidono mai.`,pipelinesTitle_one:`{{count}} pipeline IA.`,pipelinesTitle_other:`{{count}} pipeline IA.`,pipelinesBody:`Un lancio per rail, ciascuno con la propria modalità, engine e profilo configurati.`,costTitle:`Costo moltiplicato.`,costBody:`Ogni rail genera la propria esecuzione IA — la spesa cresce con il numero di rail.`,launch_one:`Lancia {{count}} rail`,launch_other:`Lancia {{count}} rail`},a={viewJobLog:`Visualizza log del job`,log:`Log`,implement:`Implementa`,batch:`Batch`,ultra:`Freestyle`,ultraTitle:`Freestyle — Claude implementa la spec in autonomia, senza pipeline`,loop:`Loop`,loopTitle:`Loop — esegui un loop di automazione pubblicato sulle spec del rail`,pickLoop:`Scegli un loop…`,effortTitle:`Sforzo di ragionamento`,stop:`Stop`,play:`Avvia`,failedRetry:`Job non riuscito — clicca per riprovare`,addSpecsFirst:`Aggiungi prima delle spec a questo rail`,builtInLoops:`Integrati`,customLoops:`Loop personalizzati`,worktreesMerged:`{{count}} uniti`,worktreesNeedsReview:`{{count}} da rivedere`,execSteps:`{{count}} passi`,execLines:`{{count}} righe`,openspec:`OpenSpec`},o={moveToSpecs:`Sposta in Specs`,deleteRail:`Elimina {{label}}`,dropHere:`Rilascia qui`,dropOnThisRail:`Rilascia su questo rail`,dragSpecsHere:`Trascina qui le spec`},s={title:`Avvia in modalità Freestyle`,context_one:`{{rail}} · {{count}} spec`,context_other:`{{rail}} · {{count}} spec`,noPipelineTitle:`Nessuna pipeline OpenSpec.`,noPipelineBody:`Il flusso strutturato architect → developer → reviewer viene saltato del tutto.`,autonomyTitle:`Autonomia nativa di Claude.`,autonomyBody:`Claude lavora in autonomia usando agenti nativi e workflow dinamici.`,costTitle:`Costo variabile.`,costBody:`La spesa dipende da cosa Claude decide di fare — può essere più alta del previsto.`,continue:`Continua`},c={fetchFailed:`Impossibile recuperare i rail: {{status}}`},l={toasts:e,railPr:t,railsBoard:n,launchAll:r,launchAllDialog:i,railControls:a,railRow:o,ultracodeDialog:s,useRails:c};export{l as default,r as launchAll,i as launchAllDialog,a as railControls,t as railPr,o as railRow,n as railsBoard,e as toasts,s as ultracodeDialog,c as useRails};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={railAdded:`Rail {{n}} añadido`,railRemoved:`{{rail}} eliminado`,railLimitReached:`Límite de rails alcanzado ({{max}} máx.)`,railDeleteFailed:`No se pudo eliminar el rail — tiene specs, está en ejecución o tiene una decisión de PR pendiente`,launchTicketsInFlight:`Una spec de este rail ya está siendo trabajada por una ejecución activa`,launchAllSummary_one:`{{count}} rail lanzado en paralelo`,launchAllSummary_other:`{{count}} rails lanzados en paralelo`,launchAllNoneEligible:`No hay rails listos para lanzar — asigna specs a un rail libre primero`,launchAllFailed:`No se pudo lanzar ningún rail`,railCompleted:`Rail {{n}} completado`,railFailed:`Rail {{n}} fallido — las specs han vuelto a Specs`,railEnded:`Rail {{n}} {{status}} — las specs han vuelto a Specs`,alreadyOnRail:`Ya está en {{rail}}`,movedToRail:`Movida a {{rail}}`,railRunningStopFirst:`{{rail}} está en ejecución — detenlo antes de eliminarlo`,removedFromRail:`Quitada de {{rail}}`,queuedOnRail:`En cola en {{rail}}`,queuedOnRailDescription:`El rail está en ejecución`,railStopped:`{{rail}} detenido`,stopFailed:`No se pudo detener el rail`,syncTicketsFailed:`No se pudieron sincronizar los tickets del rail`,launchFailed:`No se pudo lanzar el rail`,launchNetworkError:`Error de red al lanzar el rail`,railLaunched:`{{rail}} lanzado`,launchDescription_one:`{{mode}} con {{count}} spec`,launchDescription_other:`{{mode}} con {{count}} specs`,railWorktreeNeedsReview:`Rail {{n}}: la spec #{{ticket}} necesita revisión tras el merge`,railWorktreesNoGit:`Aislamiento por worktrees no disponible: el proyecto no es un repositorio git — ejecutando en modo compartido.`,railWorktreesNoCommits:`Aislamiento por worktrees no disponible: el repositorio aún no tiene commits — haz un commit inicial y relanza.`,onReviewCannotMoveToRail:`Esta spec está pendiente de revisión de PR — resuelve primero la decisión de la PR`,onReviewNotLaunchable:`Una spec de este rail está pendiente de revisión de PR — resuelve la decisión de la PR antes de lanzar`},t={readyForReview:`Listo para revisión`,draftPr:`PR en borrador`,branchPushed:`Rama subida — PR pendiente`,branchPushedHint:`La rama se subió pero no se pudo crear la PR (GitHub CLI no disponible). Reintenta para crearla.`,prReady:`PR lista`,prFailed:`PR fallida`,prFailedDetail:`PR fallida: {{detail}}`,createDegraded:`No se pudo publicar la PR — {{detail}}. Reintenta cuando esté resuelto.`,createPr:`Crear PR`,createPrTooltip:`→ {{base}}`,publish:`Publicar`,publishTooltip:`Abre la PR en borrador para la revisión del equipo`,discard:`Descartar`,discardTooltip:`Elimina las ramas y devuelve los tickets a Specs`,retryPr:`Reintentar PR`,retry:`Reintentar`,checkMerge:`Comprobar merge`,checkMergeTooltip:`Consulta a GitHub si ya se ha hecho merge de la PR`,prLinkFallback:`PR`,openPrTitle:`Abrir la PR en GitHub`,notMergedYet:`Aún sin merge`,alreadyResolved:`Ya resuelta en otro sitio`,ghFailed:`GitHub CLI falló: {{detail}}`,actionFailed:`No se pudo aplicar la decisión de la PR`,mergedToast:`Merge de la PR completado — los tickets han pasado a Hecho`,discardedToast:`PR descartada — los tickets han vuelto a Specs`,decisionPending:`Este rail tiene una decisión de PR pendiente — créala, publícala o descártala antes de relanzar`,discardConfirmTitle:`¿Descartar esta entrega?`,discardConfirmBody:`Se eliminarán las ramas y worktrees del lanzamiento y sus tickets volverán a Specs. Esta acción no se puede deshacer.`},n={title:`Rails`,runningCount_one:`{{count}} en ejecución`,runningCount_other:`{{count}} en ejecución`,launchAll:`Lanzar todos`,launchAllTitle:`Lanza en paralelo todos los rails listos — cada ejecución se aísla en su propio worktree de git`},r={skipRunning_one:`{{count}} ya en ejecución`,skipRunning_other:`{{count}} ya en ejecución`,skipEmpty_one:`{{count}} sin specs`,skipEmpty_other:`{{count}} sin specs`,skipPendingDecision_one:`{{count}} con decisión de PR pendiente`,skipPendingDecision_other:`{{count}} con decisión de PR pendiente`,skipOnReview_one:`{{count}} con specs en revisión`,skipOnReview_other:`{{count}} con specs en revisión`,skipInFlight_one:`{{count}} omitido (spec ya en curso)`,skipInFlight_other:`{{count}} omitidos (specs ya en curso)`,failedCount_one:`{{count}} fallido`,failedCount_other:`{{count}} fallidos`},i={title:`Lanzar todos los rails`,railsCount_one:`{{count}} rail`,railsCount_other:`{{count}} rails`,specsCount_one:`{{count}} spec`,specsCount_other:`{{count}} specs`,isolationTitle:`Paralelo y aislado.`,isolationBody:`Cada rail se ejecuta en su propio worktree de git — los lanzamientos simultáneos nunca colisionan.`,pipelinesTitle_one:`{{count}} pipeline de IA.`,pipelinesTitle_other:`{{count}} pipelines de IA.`,pipelinesBody:`Un lanzamiento por rail, cada uno con su modo, motor y perfil configurados.`,costTitle:`Coste multiplicado.`,costBody:`Cada rail genera su propia ejecución de IA — el gasto escala con el número de rails.`,launch_one:`Lanzar {{count}} rail`,launch_other:`Lanzar {{count}} rails`},a={viewJobLog:`Ver log del job`,log:`Log`,implement:`Implement`,batch:`Batch`,ultra:`Freestyle`,ultraTitle:`Freestyle — Claude implementa la spec de forma autónoma, sin pipeline`,loop:`Loop`,loopTitle:`Loop — ejecuta un bucle de automatización publicado sobre las specs del rail`,pickLoop:`Elige un bucle…`,effortTitle:`Esfuerzo de razonamiento`,stop:`Detener`,play:`Iniciar`,failedRetry:`El job ha fallado — haz clic para reintentar`,addSpecsFirst:`Añade primero specs a este rail`,builtInLoops:`Integrados`,customLoops:`Loops personalizados`,worktreesMerged:`{{count}} fusionados`,worktreesNeedsReview:`{{count}} a revisar`,execSteps:`{{count}} pasos`,execLines:`{{count}} líneas`,openspec:`OpenSpec`},o={moveToSpecs:`Mover a Specs`,deleteRail:`Eliminar {{label}}`,dropHere:`Suelta aquí`,dropOnThisRail:`Suelta en este rail`,dragSpecsHere:`Arrastra specs aquí`},s={title:`Lanzar en modo Freestyle`,context_one:`{{rail}} · {{count}} spec`,context_other:`{{rail}} · {{count}} specs`,noPipelineTitle:`Sin pipeline de OpenSpec.`,noPipelineBody:`El flujo estructurado architect → developer → reviewer se omite por completo.`,autonomyTitle:`Autonomía nativa de Claude.`,autonomyBody:`Claude trabaja por su cuenta con agentes nativos y flujos dinámicos.`,costTitle:`Coste variable.`,costBody:`El gasto depende de lo que Claude decida hacer — puede ser mayor de lo esperado.`,continue:`Continuar`},c={fetchFailed:`No se pudieron obtener los rails: {{status}}`},l={toasts:e,railPr:t,railsBoard:n,launchAll:r,launchAllDialog:i,railControls:a,railRow:o,ultracodeDialog:s,useRails:c};export{l as default,r as launchAll,i as launchAllDialog,a as railControls,t as railPr,o as railRow,n as railsBoard,e as toasts,s as ultracodeDialog,c as useRails};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={railAdded:`Rail {{n}} ajouté`,railRemoved:`{{rail}} supprimé`,railLimitReached:`Limite de rails atteinte ({{max}} max.)`,railDeleteFailed:`Impossible de supprimer le rail — il contient des specs, est en cours d'exécution ou a une décision de PR en attente`,launchTicketsInFlight:`Une spec de ce rail est déjà traitée par une exécution active`,launchAllSummary_one:`{{count}} rail lancé en parallèle`,launchAllSummary_other:`{{count}} rails lancés en parallèle`,launchAllNoneEligible:`Aucun rail prêt à lancer — assignez d'abord des specs à un rail libre`,launchAllFailed:`Aucun rail n'a pu être lancé`,railCompleted:`Rail {{n}} terminé`,railFailed:`Rail {{n}} en échec — specs renvoyées vers Specs`,railEnded:`Rail {{n}} {{status}} — specs renvoyées vers Specs`,alreadyOnRail:`Déjà sur {{rail}}`,movedToRail:`Déplacé vers {{rail}}`,railRunningStopFirst:`{{rail}} est en cours d'exécution — arrêtez-le avant de le supprimer`,removedFromRail:`Retiré de {{rail}}`,queuedOnRail:`Mis en file sur {{rail}}`,queuedOnRailDescription:`Le rail est en cours d'exécution`,railStopped:`{{rail}} arrêté`,stopFailed:`Échec de l'arrêt du rail`,syncTicketsFailed:`Échec de la synchronisation des tickets du rail`,launchFailed:`Échec du lancement du rail`,launchNetworkError:`Erreur réseau au lancement du rail`,railLaunched:`{{rail}} lancé`,launchDescription_one:`{{mode}} avec {{count}} spec`,launchDescription_other:`{{mode}} avec {{count}} specs`,railWorktreeNeedsReview:`Rail {{n}} : la spec #{{ticket}} nécessite une revue après le merge`,railWorktreesNoGit:`Isolation par worktree indisponible : ce projet n'est pas un dépôt git — exécution en mode partagé.`,railWorktreesNoCommits:`Isolation par worktree indisponible : le dépôt n'a pas encore de commit — faites un commit initial puis relancez.`,onReviewCannotMoveToRail:`Cette spec attend une revue de PR — résolvez d'abord la décision de la PR`,onReviewNotLaunchable:`Une spec de ce rail attend une revue de PR — résolvez la décision de la PR avant de lancer`},t={readyForReview:`Prêt pour la revue`,draftPr:`PR en brouillon`,branchPushed:`Branche poussée — PR en attente`,branchPushedHint:`La branche a été poussée mais la PR n'a pas pu être créée (GitHub CLI indisponible). Réessayez pour la créer.`,prReady:`PR prête`,prFailed:`PR en échec`,prFailedDetail:`PR en échec : {{detail}}`,createDegraded:`Impossible de publier la PR — {{detail}}. Réessayez une fois le problème résolu.`,createPr:`Créer la PR`,createPrTooltip:`→ {{base}}`,publish:`Publier`,publishTooltip:`Ouvre la PR en brouillon pour la relecture de l'équipe`,discard:`Abandonner`,discardTooltip:`Supprime les branches et renvoie les tickets vers Specs`,retryPr:`Réessayer la PR`,retry:`Réessayer`,checkMerge:`Vérifier le merge`,checkMergeTooltip:`Demande à GitHub si la PR a été fusionnée`,prLinkFallback:`PR`,openPrTitle:`Ouvrir la PR sur GitHub`,notMergedYet:`Pas encore fusionnée`,alreadyResolved:`Déjà résolue ailleurs`,ghFailed:`GitHub CLI a échoué : {{detail}}`,actionFailed:`Impossible d'appliquer la décision de la PR`,mergedToast:`PR fusionnée — tickets passés en Terminé`,discardedToast:`PR abandonnée — tickets renvoyés vers Specs`,decisionPending:`Ce rail a une décision de PR en attente — créez, publiez ou abandonnez-la avant de relancer`,discardConfirmTitle:`Abandonner cette livraison ?`,discardConfirmBody:`Les branches et worktrees du lancement seront supprimés et ses tickets retourneront vers Specs. Cette action est irréversible.`},n={title:`Rails`,runningCount_one:`{{count}} en cours`,runningCount_other:`{{count}} en cours`,launchAll:`Tout lancer`,launchAllTitle:`Lance en parallèle tous les rails prêts — chaque exécution est isolée dans son propre worktree git`},r={skipRunning_one:`{{count}} déjà en cours`,skipRunning_other:`{{count}} déjà en cours`,skipEmpty_one:`{{count}} sans specs`,skipEmpty_other:`{{count}} sans specs`,skipPendingDecision_one:`{{count}} en attente d'une décision de PR`,skipPendingDecision_other:`{{count}} en attente d'une décision de PR`,skipOnReview_one:`{{count}} avec des specs en revue`,skipOnReview_other:`{{count}} avec des specs en revue`,skipInFlight_one:`{{count}} ignoré (spec déjà en cours)`,skipInFlight_other:`{{count}} ignorés (specs déjà en cours)`,failedCount_one:`{{count}} en échec`,failedCount_other:`{{count}} en échec`},i={title:`Lancer tous les rails`,railsCount_one:`{{count}} rail`,railsCount_other:`{{count}} rails`,specsCount_one:`{{count}} spec`,specsCount_other:`{{count}} specs`,isolationTitle:`Parallèle et isolé.`,isolationBody:`Chaque rail s'exécute dans son propre worktree git — les lancements simultanés n'entrent jamais en collision.`,pipelinesTitle_one:`{{count}} pipeline IA.`,pipelinesTitle_other:`{{count}} pipelines IA.`,pipelinesBody:`Un lancement par rail, chacun avec son mode, son moteur et son profil configurés.`,costTitle:`Coût multiplié.`,costBody:`Chaque rail génère sa propre exécution IA — la dépense augmente avec le nombre de rails.`,launch_one:`Lancer {{count}} rail`,launch_other:`Lancer {{count}} rails`},a={viewJobLog:`Voir le log du job`,log:`Log`,implement:`Implémenter`,batch:`Batch`,ultra:`Freestyle`,ultraTitle:`Freestyle — Claude implémente la spec en autonomie, sans pipeline`,loop:`Loop`,loopTitle:`Loop — exécute une boucle d'automatisation publiée sur les specs du rail`,pickLoop:`Choisir une boucle…`,effortTitle:`Effort de raisonnement`,stop:`Arrêter`,play:`Lancer`,failedRetry:`Job en échec — cliquez pour réessayer`,addSpecsFirst:`Ajoutez d'abord des specs à ce rail`,builtInLoops:`Intégrés`,customLoops:`Loops personnalisés`,worktreesMerged:`{{count}} fusionnés`,worktreesNeedsReview:`{{count}} à vérifier`,execSteps:`{{count}} étapes`,execLines:`{{count}} lignes`,openspec:`OpenSpec`},o={moveToSpecs:`Déplacer vers Specs`,deleteRail:`Supprimer {{label}}`,dropHere:`Déposer ici`,dropOnThisRail:`Déposer sur ce rail`,dragSpecsHere:`Glissez des specs ici`},s={title:`Lancer en mode Freestyle`,context_one:`{{rail}} · {{count}} spec`,context_other:`{{rail}} · {{count}} specs`,noPipelineTitle:`Pas de pipeline OpenSpec.`,noPipelineBody:`Le flux structuré architecte → développeur → reviewer est entièrement ignoré.`,autonomyTitle:`Autonomie native de Claude.`,autonomyBody:`Claude travaille seul avec ses agents natifs et des workflows dynamiques.`,costTitle:`Coût variable.`,costBody:`La dépense dépend de ce que Claude décide de faire — elle peut être plus élevée que prévu.`,continue:`Continuer`},c={fetchFailed:`Échec de la récupération des rails : {{status}}`},l={toasts:e,railPr:t,railsBoard:n,launchAll:r,launchAllDialog:i,railControls:a,railRow:o,ultracodeDialog:s,useRails:c};export{l as default,r as launchAll,i as launchAllDialog,a as railControls,t as railPr,o as railRow,n as railsBoard,e as toasts,s as ultracodeDialog,c as useRails};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={railAdded:`レール {{n}} を追加しました`,railRemoved:`{{rail}} を削除しました`,railLimitReached:`レールの上限に達しました(最大 {{max}})`,railDeleteFailed:`レールを削除できません — スペックを保持しているか、実行中か、PR の判断待ちです`,launchTicketsInFlight:`このレールのスペックは既にアクティブな実行で処理中です`,launchAllSummary_one:`{{count}} 件のレールを並列で起動しました`,launchAllSummary_other:`{{count}} 件のレールを並列で起動しました`,launchAllNoneEligible:`起動できるレールがありません — まず空きレールにスペックを割り当ててください`,launchAllFailed:`起動できたレールはありません`,railCompleted:`レール {{n}} が完了しました`,railFailed:`レール {{n}} が失敗しました — スペックは Specs に戻されました`,railEnded:`レール {{n}}: {{status}} — スペックは Specs に戻されました`,alreadyOnRail:`すでに {{rail}} にあります`,movedToRail:`{{rail}} に移動しました`,railRunningStopFirst:`{{rail}} は実行中です — 削除する前に停止してください`,removedFromRail:`{{rail}} から削除しました`,queuedOnRail:`{{rail}} のキューに追加しました`,queuedOnRailDescription:`レールは現在実行中です`,railStopped:`{{rail}} を停止しました`,stopFailed:`レールの停止に失敗しました`,syncTicketsFailed:`レールのチケット同期に失敗しました`,launchFailed:`レールの起動に失敗しました`,launchNetworkError:`レール起動中にネットワークエラーが発生しました`,railLaunched:`{{rail}} を起動しました`,launchDescription_one:`{{mode}} · スペック {{count}} 件`,launchDescription_other:`{{mode}} · スペック {{count}} 件`,railWorktreeNeedsReview:`Rail {{n}}:マージ後、spec #{{ticket}} は要確認です`,railWorktreesNoGit:`worktree 分離は利用できません:このプロジェクトは git リポジトリではありません — 共有モードで実行します。`,railWorktreesNoCommits:`worktree 分離は利用できません:リポジトリにまだコミットがありません — 初回コミットを作成してから再実行してください。`,onReviewCannotMoveToRail:`このスペックは PR レビュー待ちです — まず PR の決定を処理してください`,onReviewNotLaunchable:`このレールのスペックが PR レビュー待ちです — 起動する前に PR の決定を処理してください`},t={readyForReview:`レビュー準備完了`,draftPr:`ドラフト PR`,branchPushed:`ブランチはプッシュ済み — PR は未作成`,branchPushedHint:`ブランチはプッシュされましたが、PR を作成できませんでした(GitHub CLI が利用できません)。再試行して作成してください。`,prReady:`PR 準備完了`,prFailed:`PR 失敗`,prFailedDetail:`PR 失敗: {{detail}}`,createDegraded:`PR を公開できませんでした — {{detail}}。解決後に再試行してください。`,createPr:`PR を作成`,createPrTooltip:`→ {{base}}`,publish:`公開`,publishTooltip:`ドラフト PR をチームのレビューに公開します`,discard:`破棄`,discardTooltip:`ブランチを削除し、チケットを Specs に戻します`,retryPr:`PR を再試行`,retry:`再試行`,checkMerge:`マージを確認`,checkMergeTooltip:`PR がマージ済みかどうかを GitHub に確認します`,prLinkFallback:`PR`,openPrTitle:`GitHub で PR を開く`,notMergedYet:`まだマージされていません`,alreadyResolved:`すでに他の場所で解決済み`,ghFailed:`GitHub CLI が失敗しました:{{detail}}`,actionFailed:`PR の決定を適用できませんでした`,mergedToast:`PR がマージされました — チケットは完了に移動しました`,discardedToast:`PR を破棄しました — チケットは Specs に戻されました`,decisionPending:`このレールには未処理の PR 決定があります — 再起動する前に作成・公開・破棄のいずれかを行ってください`,discardConfirmTitle:`この成果物を破棄しますか?`,discardConfirmBody:`この起動のブランチと worktree は削除され、チケットは Specs に戻ります。この操作は元に戻せません。`},n={title:`レール`,runningCount_one:`{{count}} 件実行中`,runningCount_other:`{{count}} 件実行中`,launchAll:`すべて起動`,launchAllTitle:`準備完了のレールをすべて並列で起動します — 各実行は専用の git worktree に隔離されます`},r={skipRunning_one:`{{count}} 件は既に実行中`,skipRunning_other:`{{count}} 件は既に実行中`,skipEmpty_one:`{{count}} 件はスペックなし`,skipEmpty_other:`{{count}} 件はスペックなし`,skipPendingDecision_one:`{{count}} 件は PR の判断待ち`,skipPendingDecision_other:`{{count}} 件は PR の判断待ち`,skipOnReview_one:`{{count}} 件はレビュー中のスペックあり`,skipOnReview_other:`{{count}} 件はレビュー中のスペックあり`,skipInFlight_one:`{{count}} 件をスキップ(スペックは処理中)`,skipInFlight_other:`{{count}} 件をスキップ(スペックは処理中)`,failedCount_one:`{{count}} 件が失敗`,failedCount_other:`{{count}} 件が失敗`},i={title:`すべてのレールを起動`,railsCount_one:`レール {{count}} 件`,railsCount_other:`レール {{count}} 件`,specsCount_one:`スペック {{count}} 件`,specsCount_other:`スペック {{count}} 件`,isolationTitle:`並列かつ隔離。`,isolationBody:`各レールは専用の git worktree で実行され、同時起動が衝突することはありません。`,pipelinesTitle_one:`{{count}} 本の AI パイプライン。`,pipelinesTitle_other:`{{count}} 本の AI パイプライン。`,pipelinesBody:`レールごとに 1 回起動し、それぞれ設定済みのモード・エンジン・プロファイルを使います。`,costTitle:`コストは倍増します。`,costBody:`各レールが独自の AI 実行を生成します — 支出はレール数に比例します。`,launch_one:`レール {{count}} 件を起動`,launch_other:`レール {{count}} 件を起動`},a={viewJobLog:`ジョブログを表示`,log:`ログ`,implement:`実装`,batch:`バッチ`,ultra:`Freestyle`,ultraTitle:`Freestyle — Claude がパイプラインなしでスペックを自律的に実装します`,loop:`Loop`,loopTitle:`Loop — 公開済みの自動化ループをレールのスペックに対して実行します`,pickLoop:`ループを選択…`,effortTitle:`推論の労力`,stop:`停止`,play:`実行`,failedRetry:`ジョブが失敗しました — クリックして再試行`,addSpecsFirst:`先にこのレールにスペックを追加してください`,builtInLoops:`組み込み`,customLoops:`カスタムループ`,worktreesMerged:`{{count}} 件マージ済み`,worktreesNeedsReview:`{{count}} 件要確認`,execSteps:`{{count}} ステップ`,execLines:`{{count}} 行`,openspec:`OpenSpec`},o={moveToSpecs:`Specs に移動`,deleteRail:`{{label}} を削除`,dropHere:`ここにドロップ`,dropOnThisRail:`このレールにドロップ`,dragSpecsHere:`ここにスペックをドラッグ`},s={title:`Freestyle モードで起動`,context_one:`{{rail}} · スペック {{count}} 件`,context_other:`{{rail}} · スペック {{count}} 件`,noPipelineTitle:`OpenSpec パイプラインなし。`,noPipelineBody:`アーキテクト → 開発者 → レビュアーの構造化フローは完全にスキップされます。`,autonomyTitle:`Claude ネイティブの自律性。`,autonomyBody:`Claude はネイティブエージェントと動的ワークフローを使って自律的に作業します。`,costTitle:`コストは変動します。`,costBody:`支出は Claude の判断に依存し、想定より高くなることがあります。`,continue:`続行`},c={fetchFailed:`レールの取得に失敗しました: {{status}}`},l={toasts:e,railPr:t,railsBoard:n,launchAll:r,launchAllDialog:i,railControls:a,railRow:o,ultracodeDialog:s,useRails:c};export{l as default,r as launchAll,i as launchAllDialog,a as railControls,t as railPr,o as railRow,n as railsBoard,e as toasts,s as ultracodeDialog,c as useRails};
|