specrails-desktop 2.24.3 → 2.26.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-CxnjeMnO.js → ActivityFeedPage-1eXnoNAo.js} +1 -1
- package/client/dist/assets/{AgentBrowserCapture-c-Cr7q94.js → AgentBrowserCapture-BHW_6Vm0.js} +1 -1
- package/client/dist/assets/{AgentModeCodePane-CoZZ2_sJ.js → AgentModeCodePane-C89SAJzI.js} +2 -2
- package/client/dist/assets/{AgentModeJobsPane-Dua5r_jk.js → AgentModeJobsPane-BG_4r4Dm.js} +1 -1
- package/client/dist/assets/{AgentsPage-L-pmBTbc.js → AgentsPage-BrkWfc9s.js} +1 -1
- package/client/dist/assets/{AnalyticsPage-B82qtTYV.js → AnalyticsPage-CMZRUPrT.js} +1 -1
- package/client/dist/assets/{BarChart-JoGhQq6b.js → BarChart-BtF3zJHa.js} +1 -1
- package/client/dist/assets/{CodePage-CIBbOHTk.js → CodePage-Cime5FRs.js} +1 -1
- package/client/dist/assets/{DesktopAnalyticsPage-D94CWcV4.js → DesktopAnalyticsPage-CSKHSBBF.js} +1 -1
- package/client/dist/assets/{DocsDialog-DIubUwd_.js → DocsDialog-ClTq6Fzj.js} +1 -1
- package/client/dist/assets/{DocsPage-A9PpvdW3.js → DocsPage-DTxfOpTu.js} +1 -1
- package/client/dist/assets/{ExportDropdown-CWelhih_.js → ExportDropdown-Ho9zdPvK.js} +1 -1
- package/client/dist/assets/{IntegrationsPage-DtcigyHI.js → IntegrationsPage-DWNyo6jk.js} +1 -1
- package/client/dist/assets/{InteractiveJobComposer-CtkXJ1gD.js → InteractiveJobComposer-CYxXOKld.js} +1 -1
- package/client/dist/assets/{JobDetailModal-C-AewB0N.js → JobDetailModal-DrNafHY5.js} +1 -1
- package/client/dist/assets/{JobDetailPage-C2nAjNRu.js → JobDetailPage-4VKw33GW.js} +1 -1
- package/client/dist/assets/{JobsPage-CtDu1BqI.js → JobsPage-cFr6wWaH.js} +1 -1
- package/client/dist/assets/{LoopBuilderPage-CLikTQXx.js → LoopBuilderPage-Bk8zVvEX.js} +1 -1
- package/client/dist/assets/{LoopPreviewModal-SEb8gedX.js → LoopPreviewModal-XFSO2Vcs.js} +1 -1
- package/client/dist/assets/{LoopsPage-Pf_0o0Yf.js → LoopsPage-DWMwDj9g.js} +1 -1
- package/client/dist/assets/{ProjectSettingsDialog-C6_NZLxv.js → ProjectSettingsDialog-DnSe_yWm.js} +1 -1
- package/client/dist/assets/{TemplatePreviewModal-CcTeX1GA.js → TemplatePreviewModal-B30-TY_v.js} +1 -1
- package/client/dist/assets/agent-6mhkV25_2.js +1 -0
- package/client/dist/assets/agent-BZqfQhI_.js +1 -0
- package/client/dist/assets/agent-Bjy1SlT5.js +1 -0
- package/client/dist/assets/agent-Bn6ZmjHj.js +1 -0
- package/client/dist/assets/agent-CRYdi9-t.js +1 -0
- package/client/dist/assets/agent-D5QNn9np2.js +1 -0
- package/client/dist/assets/agent-DgFoLgrF2.js +1 -0
- package/client/dist/assets/agent-DgwPsxWQ.js +1 -0
- package/client/dist/assets/{brain-BVlxI-OH.js → brain-DcXkQwzO.js} +1 -1
- package/client/dist/assets/code-CwnBPPyA.js +1 -0
- package/client/dist/assets/{dashboard-4WX7agHF2.js → dashboard-CuGuy2__2.js} +1 -1
- package/client/dist/assets/{dashboard-IbEztmJ52.js → dashboard-CxP3TZ3I2.js} +1 -1
- package/client/dist/assets/{dashboard-5Z_esXIB.js → dashboard-DWHVfP7U.js} +1 -1
- package/client/dist/assets/{dashboard-DQ-po1MG2.js → dashboard-D_Pgs6QH2.js} +1 -1
- package/client/dist/assets/{dashboard-oqS7VRrK.js → dashboard-Dwnssayh.js} +1 -1
- package/client/dist/assets/{dashboard-ojWdDq6S.js → dashboard-S_pT1yxN.js} +1 -1
- package/client/dist/assets/{dashboard-zfoJcdFW.js → dashboard-tCxOFOxx.js} +1 -1
- package/client/dist/assets/{dashboard-nc-Raovv.js → dashboard-zefbBNyG.js} +1 -1
- package/client/dist/assets/{dist-js-DOGUoTVT.js → dist-js-6U6hyD6z.js} +1 -1
- package/client/dist/assets/{dist-js-DtG-ECSR.js → dist-js-BAWwLSIj.js} +1 -1
- package/client/dist/assets/index-DnkfABxY.js +156 -0
- package/client/dist/assets/index-cvOunQkD.css +2 -0
- package/client/dist/assets/{lib-B-CmfZ34.js → lib-Bsny0zZp.js} +1 -1
- package/client/dist/assets/{loops-YYV2bwjd.js → loops-Brnx4Fji.js} +1 -1
- package/client/dist/assets/{loops-hXgncEpF2.js → loops-BvqQ-bHR2.js} +1 -1
- package/client/dist/assets/{loops-BvEenWBy.js → loops-CvOWsi5r.js} +1 -1
- package/client/dist/assets/{loops-DjOtVXRo.js → loops-D6D3XHjj.js} +1 -1
- package/client/dist/assets/{loops-HTHf-xu32.js → loops-DJNhp17p2.js} +1 -1
- package/client/dist/assets/{loops-kYbydDyN.js → loops-K5_HXfJa.js} +1 -1
- package/client/dist/assets/loops-LIgO_-eM.js +1 -0
- package/client/dist/assets/{loops-DNGiYKll2.js → loops-vhJdbcz92.js} +1 -1
- package/client/dist/assets/{settings-DZJeXoRV.js → settings-BWIf3vv4.js} +1 -1
- package/client/dist/assets/{settings-TNga5gIF2.js → settings-BhuXe7ek2.js} +1 -1
- package/client/dist/assets/{settings-D6qY9_UI.js → settings-DE8t6aYv.js} +1 -1
- package/client/dist/assets/{settings-BsJMsWGc.js → settings-DHd1lQ1k.js} +1 -1
- package/client/dist/assets/{settings-BOHOmHkb.js → settings-DTYQ5COE.js} +1 -1
- package/client/dist/assets/settings-DXgPh9-k.js +1 -0
- package/client/dist/assets/{settings-BlEA_7h02.js → settings-Dgv_q4qf2.js} +1 -1
- package/client/dist/assets/{settings-lFoaYT-s2.js → settings-FJXpJ3k92.js} +1 -1
- package/client/dist/assets/{setup-CmU6bTCV2.js → setup-cnqZsQSX2.js} +1 -1
- package/client/dist/assets/{upload-B22mO1uT.js → upload-49vX83IZ.js} +1 -1
- package/client/dist/assets/{value-DltGn-Ab.js → value-Bo8EiTZE.js} +1 -1
- package/client/dist/index.html +6 -6
- package/docs/agy-cli-provider-study.md +1 -1
- package/docs/codex.md +2 -2
- package/docs/gemini-cli-provider-study.md +2 -2
- package/docs/guide/de/pipeline/3-batch-implement-and-multi-feature.md +1 -1
- package/docs/guide/en/pipeline/3-batch-implement-and-multi-feature.md +1 -1
- package/docs/guide/es/pipeline/3-batch-implement-and-multi-feature.md +1 -1
- package/docs/guide/fr/pipeline/3-batch-implement-and-multi-feature.md +1 -1
- package/docs/guide/it/pipeline/3-batch-implement-and-multi-feature.md +1 -1
- package/docs/guide/ja/pipeline/3-batch-implement-and-multi-feature.md +1 -1
- package/docs/guide/pt/pipeline/3-batch-implement-and-multi-feature.md +1 -1
- package/docs/guide/pt/pipeline/5-the-loop-builder.md +1 -1
- package/docs/guide/zh/pipeline/3-batch-implement-and-multi-feature.md +1 -1
- package/docs/internals/api-reference.md +3 -3
- package/docs/internals/companion-rails-as-loops-contract.md +6 -6
- package/docs/internals/configuration.md +1 -1
- package/docs/internals/interactive-jobs.md +3 -3
- package/docs/internals/safe-pr-review-flow.md +1 -1
- package/docs/internals/visual-design-audit.md +2 -2
- package/docs/running-pipelines.md +1 -1
- package/package.json +1 -1
- package/server/dist/agent-chat-manager.js +16 -2
- package/server/dist/agent-chat-router.js +66 -1
- package/server/dist/agent-context-resolver.js +301 -0
- package/server/dist/agent-operator-prompt.js +14 -7
- package/server/dist/agent-store.js +24 -12
- package/server/dist/db.js +17 -17
- package/server/dist/desktop-db.js +6 -0
- package/server/dist/feature-flags.js +2 -2
- package/server/dist/index.js +1 -1
- package/server/dist/interactive-job-session.js +3 -3
- package/server/dist/loop-command-catalog.js +11 -11
- package/server/dist/loop-factory.js +7 -7
- package/server/dist/loop-graph.js +2 -2
- package/server/dist/loop-run-manager.js +1 -1
- package/server/dist/mcp/guide.js +8 -6
- package/server/dist/mcp/tools/rails.js +4 -3
- package/server/dist/mobile/mobile-router.js +1 -1
- package/server/dist/project-router-jobs.js +1 -1
- package/server/dist/project-router-loop-runs.js +1 -1
- package/server/dist/project-router-settings.js +5 -5
- package/server/dist/queue-manager.js +27 -27
- package/server/dist/rails-router.js +20 -20
- package/client/dist/assets/agent-CXGbWkpN2.js +0 -1
- package/client/dist/assets/agent-Cjiy_5TS.js +0 -1
- package/client/dist/assets/agent-DBo9_-zx.js +0 -1
- package/client/dist/assets/agent-DUmd88ng.js +0 -1
- package/client/dist/assets/agent-N5jFquC82.js +0 -1
- package/client/dist/assets/agent-ay1iYN3L.js +0 -1
- package/client/dist/assets/agent-dMyoDKGk.js +0 -1
- package/client/dist/assets/agent-opeyUUUG2.js +0 -1
- package/client/dist/assets/code-CqCcRThR.js +0 -1
- package/client/dist/assets/index-B0fq5d1Z.js +0 -155
- package/client/dist/assets/index-DZ2Beygz.css +0 -2
- package/client/dist/assets/loops-CBiWd9Hf.js +0 -1
- package/client/dist/assets/settings-Mr7MnJbf.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e=`任务中心`,t=`通过对话操作 Specrails`,n=`任务中心`,r=`让智能体做任何事…`,i=`发送`,a=`停止`,o=`复制`,s=`最大化`,c=`还原`,l=`最小化`,u=`关闭`,d=`新任务`,f=`这次的任务是什么?`,p=`先选择一个项目,然后提问。智能体工作时看板会实时更新。`,m=`思考中…`,h=`连接中…`,g=`正在查询应用…`,_={compact:`紧凑`,comfortable:`舒适`,max:`最大化`},v={label:`模型`},y={hint:`浏览提示历史 — 输入以编辑,↑↓ 导航`},b={queued:`排队中`,send:`发送到队列`,sendHint:`智能体仍在工作——此消息将排队并在之后执行`,placeholder:`智能体工作时可继续输入——消息将排队…`},x={editing:`正在编辑排队消息 {{n}}/{{m}}`,hint:`↑↓ 导航 · 回车保存 · Esc 取消`,save:`保存排队消息`,cancel:`取消编辑`,dispatched:`该排队消息已发送——你的文本已保留为草稿`,saveFailed:`无法保存排队消息`},S={branch:`分支`,detached:`(分离头指针)`,dirty:`有未提交的更改`,switched:`已切换到 {{branch}}`,switchFailed:`无法切换分支`,lockedWhileWorking:`智能体工作时分支已锁定`,searchPlaceholder:`搜索分支…`,noMatches:`没有匹配的分支`,worktrees:`工作树`,worktreePathCopied:`已复制工作树路径`,copyWorktreePath:`复制工作树路径`},C={label:`提供方`,claude:`Claude`,codex:`Codex`,gemini:`Gemini`},w={cycleHint:`⇧⇥ 切换`,observe:{name:`观察`,desc:`只读 — 不做任何更改`},edit:{name:`编辑`,desc:`创建和编辑(可撤销)`},operate:{name:`操作`,desc:`启动 AI — 会产生费用`},autonomous:{name:`自主`,desc:`删除和终止 — 不可逆`},lockedTitle:`需要更高的级别`,lockedBody:`该操作需要「{{level}}」级别。你当前处于「{{current}}」。`,raiseHint:`⇧⇥ 提升级别,或换一种方式询问。`},T={title:`确认操作`,costAction:`{{action}} · ~{{cost}} · {{tier}}`,approve:`批准`,cancel:`取消`,dontAskAgain:`本次会话不再询问`,approved:`已批准`,cancelled:`已取消`},E={home:`主页`,searchPlaceholder:`与 Specrails 对话…`,recents:`最近`,allProjects:`所有项目`,searchAll:`在所有项目中搜索`,addProject:`添加项目…`,homeHint:`未选择项目 — 正在跨所有项目操作。`,askCreateOrSearch:`未选择任何项目。你想创建一个新项目,还是在所有项目中搜索?`},D={label:`切换任务`,untitled:`新任务`,new:`新任务`,searchPlaceholder:`搜索任务…`,noMatches:`没有匹配的任务`,working:`代理正在工作`,queuedBadge:`{{n}} 条排队`,delete:`删除任务 "{{title}}"`,deleteConfirm:`删除?`,deleteLiveConfirm:`代理正在工作 — 仍要删除?`,confirmDelete:`确认删除`,cancelDelete:`保留任务`,deleteFailed:`无法删除任务`},O={title:`未安装 AI 提供方`,body:`智能体需要在你的机器上安装 Claude、Codex 或 Gemini。安装其中之一后重新打开智能体即可开始对话。`,placeholder:`请安装 AI 提供方以使用智能体…`},k={title:`Specrails MCP 已关闭`,body:`智能体需要内置的 MCP 服务器来操作应用。`,enable:`启用 Specrails MCP`,enabling:`正在启用…`,enabled:`MCP 已启用`},A={live:`实时`,queued:`排队中`,running:`运行中`,done:`已完成`,failed:`失败`},j={generic:`出了点问题。请重试。`,busy:`智能体正忙。请稍后重试。`},M={kindAgent:`智能体任务`},N=`新任务`,P=`切换到任务中心`,F=`切换到看板`,I=`搜索`,L=`主页`,R=`未命名`,z={title:`工作区`,terminal:`终端`,files:`文件`,browser:`浏览器`,requiresProject:`请选择一个项目以使用此工具`,resizeCode:`调整代码面板`,closeFiles:`关闭代码`,browserConfirm:`添加到智能体`,browserCaptured:`已添加捕获`,uploadFailed:`上传失败`,requiresConversation:`启动任务后才能使用此工具`,jobs:`作业`,closeJobs:`关闭作业`,resizeJobs:`调整作业面板大小`,noJobs:`还没有作业——让智能体启动一个吧`},B=`附加文件`,V=`删除「{{title}}」`,H=`确认删除「{{title}}」`,U=`确认?`,W=`该提供商暂不支持读取图片 — 请附加文本文件`,G={label:`推理强度`,minimal:`最小`,low:`低`,medium:`中`,high:`高`,xhigh:`极高`},K=`这次的任务是什么,Neo?`,q={rail:`Rail {{index}}`,specCount_one:`{{count}} 个 Spec`,specCount_other:`{{count}} 个 Spec`,base:`基础分支`,openPr:`打开 PR`,existingPr:`现有 PR`,title:{building:`正在隔离的 worktree 中实现…`,buildingExistingPr:`正在向现有 PR 应用更改…`,on_review:`实现已完成,待评审`,pr_draft:`已创建草稿 PR`,pr_draft_degraded:`PR 交付未完成`,pr_ready:`PR 已就绪,可合并`,pr_failed:`PR 创建失败`,merged:`PR 已合并`,discarded:`已丢弃`},buildingHint:`完成后会询问你是否创建 PR。`,buildingExistingPrHint:`Specrails 正在现有 PR 的分支上工作,并会把 review 更改推送回同一个 PR。`,createPr:`创建 PR`,publish:`发布`,retry:`重试`,retryPr:`重试 PR`,checkMerge:`检查合并`,discard:`丢弃`,confirmDiscard:`确认丢弃?`,mergedNote:`已合并 — Spec 已移至完成`,discardedNote:`已丢弃 — Spec 已退回待办`,degraded:{pushed:`分支已推送,但无法创建 PR — 请重试以完成。`,localOnly:`更改已在本地组装但未推送 — 请重试以发布 PR。`},alreadyResolved:`已在其他地方处理`,actionFailed:`操作失败`,notMergedYet:`尚未合并`,viewLog:`查看 {{ref}} 的运行日志`,runElapsedAria:`已运行 {{elapsed}}`,runCostAria:`已花费 {{cost}}`,pinned:{label:`已固定`,marker:`实现卡片 — 已固定在上方`,collapse:`最小化固定卡片`,expand:`展开固定卡片`,expandCard:`展开此卡片`,collapseCard:`最小化此卡片`,collapsed_one:`实现卡片`,collapsed_other:`{{count}} 张实现卡片`,state:{building:`构建中`,on_review:`待审阅`,pr_draft:`草稿 PR`,pr_ready:`已发布`,pr_failed:`失败`,merged:`已合并`,discarded:`已丢弃`}},mergeLocal:`本地集成`,mergeLocalTooltip:`将交付的分支合并到本地检出的 {{base}}(无需 GitHub)`,mergeLocalBlockedDirty:`无法集成:{{base}} 上的工作树有未提交的更改。请提交或暂存后重试。`,mergeLocalBlockedBranch:`无法集成:当前检出在 {{current}},而不是 {{base}}。请切换到 {{base}} 后重试。`,mergedLocally:`已在本地集成到 {{base}}`},J={heading:`规格草稿`,drafting:`正在更新草稿…`,acceptanceCriteria:`验收标准`,untitled:`未命名规格`,expand:`显示完整描述`,collapse:`收起描述`},Y={openTicket:`打开 Spec #{{id}}`,openPullRequest:`打开 PR #{{id}}`,openJob:`打开任务 {{id}}`,openLoop:`打开循环 {{id}}`,ticketNotFound:`未找到 Spec #{{id}} — 可能已被删除`,pullRequestUrlMissing:`PR #{{id}} 被引用但没有 URL`,pullRequestNotFound:`在此项目中找不到 PR #{{id}}`,jobNotFound:`未找到任务 — 可能已被删除`,loopNotFound:`未找到循环 — 可能已被删除`,lookupFailed:`无法验证该引用 — 请重试`},X={untitled:`未命名任务`,menu:`任务菜单`,rename:`重命名`,renamePlaceholder:`任务名称`,renameHint:`双击重命名`,renameFailed:`无法重命名`,copyName:`复制任务名称`,copyId:`复制任务 ID`,copyProject:`复制项目名称`,copyProjectPath:`复制项目路径`,copyFailed:`无法复制`,delete:`删除任务`,deleteConfirm:`删除此任务?此操作无法撤销。`,deleteFailed:`无法删除任务`},Z={title:e,subtitle:t,trigger:n,composerPlaceholder:r,send:i,stop:a,copy:o,maximize:s,restore:c,minimize:l,close:u,newConversation:d,emptyTitle:f,emptyHint:p,thinking:m,connecting:h,consultingCode:g,size:_,model:v,history:y,queue:b,queueEdit:x,git:S,provider:C,tier:w,approval:T,project:E,mission:D,noProvider:O,degraded:k,toolCard:A,error:j,chip:M,newAgent:N,switchToAgent:P,switchToKanban:F,search:I,home:L,untitled:R,workspace:z,attachFile:B,deleteConversation:V,confirmDeleteConversation:H,confirmShort:U,imagesUnsupported:W,effort:G,emptyTitleMatrix:K,prCard:q,specDraft:J,refs:Y,header:X};export{T as approval,B as attachFile,M as chip,u as close,r as composerPlaceholder,H as confirmDeleteConversation,U as confirmShort,h as connecting,g as consultingCode,o as copy,Z as default,k as degraded,V as deleteConversation,G as effort,p as emptyHint,f as emptyTitle,K as emptyTitleMatrix,j as error,S as git,X as header,y as history,L as home,W as imagesUnsupported,s as maximize,l as minimize,D as mission,v as model,N as newAgent,d as newConversation,O as noProvider,q as prCard,E as project,C as provider,b as queue,x as queueEdit,Y as refs,c as restore,I as search,i as send,_ as size,J as specDraft,a as stop,t as subtitle,P as switchToAgent,F as switchToKanban,m as thinking,w as tier,e as title,A as toolCard,n as trigger,R as untitled,z as workspace};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={resizeFileTree:`Redimensionar árvore de ficheiros`,selectFile:`Selecione um ficheiro para pré-visualizar.`},t={hint:`Arraste para redimensionar. Duplo clique para repor.`},n={scope:`Âmbito`,allAi:`Toda a IA`,spec:`Spec`,ticketIdPlaceholder:`id`,copyFilePath:`Copiar caminho do ficheiro`,generateSummary:`Gerar resumo`,regenerateSummary:`Regenerar resumo`,generating:`A gerar…`,regenerating:`A regenerar…`,summaryUnavailable:`Resumo indisponível: {{reason}}`,jobContext:`Contexto do job`,clear:`Limpar`},r={jobTitle:`Job {{jobId}}`,specTitle:`Spec #{{ticketId}}`,touchedFiles_one:`{{count}} ficheiro alterado`,touchedFiles_other:`{{count}} ficheiros alterados`,log:`Log`},i={created:`criado`,modified:`modificado`,deleted:`eliminado`},a={added:`adicionado`,changed:`alterado`,deleted:`eliminado`},o={loadingFile:`A carregar ficheiro…`,showSummary:`Mostrar resumo`,markdownViewMode:`Modo de visualização de Markdown`,preview:`Pré-visualização`,raw:`Original`,missingFile:`Este ficheiro foi alterado por um job de IA mas já não existe na árvore de trabalho.`,binaryFile:`Ficheiro binário.`,tooLarge:`Ficheiro demasiado grande para pré-visualizar ({{size}} MB).`,noContent:`Sem conteúdo disponível.`,pathCopied:`Caminho copiado`,copyPathFailed:`Não foi possível copiar o caminho`,budgetPrompt:`Ultrapassar o limite de orçamento?`,edit:`Editar`,save:`Salvar`,saving:`Salvando…`,saved:`Arquivo salvo`,saveFailed:`Falha ao salvar`},s={generationFailed:`Falha na geração do resumo`,skipped:`Resumo ignorado: {{reason}}`,unavailable:`Resumo indisponível: {{reason}}.`,empty:`Ainda não há resumo para este ficheiro.`,stale:`Desatualizado`,hide:`Ocultar`,reason:{missing:`ficheiro em falta`,binary:`ficheiro binário`,tooLarge:`ficheiro demasiado grande`}},c={title_one:`História de construção · {{count}} capítulo`,title_other:`História de construção · {{count}} capítulos`,viewMode:`Modo de visualização da história`,modeStory:`História`,modeLog:`Registro`,loading:`Carregando a história…`,loadFailed:`Não foi possível carregar a história.`,empty:`Ainda não há intervenções de IA registradas para este arquivo.`,spec:`Spec #{{ticketId}}`,unknownSpec:`Alteração de IA sem spec`,openSpec:`Abrir spec #{{ticketId}}`,kindLabel:{created:`Criado`,modified:`Modificado`,deleted:`Excluído`},fallback:{created:`Este arquivo foi criado ao implementar esta spec.`,modified:`Este arquivo foi modificado ao implementar esta spec.`,deleted:`Este arquivo foi excluído ao implementar esta spec.`,createdNoSpec:`Este arquivo foi criado por um job de IA.`,modifiedNoSpec:`Este arquivo foi modificado por um job de IA.`,deletedNoSpec:`Este arquivo foi excluído por um job de IA.`},explain:`Explicar esta alteração`,explaining:`Explicando…`,explainFailed:`Não foi possível gerar a explicação`,budgetReached:`Orçamento mensal de IA atingido.`,generateAnyway:`Gerar mesmo assim`,explainedBy:`Explicado por {{model}}`,linesAdded:`Linhas adicionadas`,linesRemoved:`Linhas removidas`},l={resize:`Redimensionar histórico de alterações por IA`,title_one:`Histórico de alterações por IA · {{count}} alteração`,title_other:`Histórico de alterações por IA · {{count}} alterações`,show:`Mostrar`,hide:`Ocultar`,unknownJob:`job desconhecido`,filterByJob:`Filtrar Código pelo job {{jobId}}`,diff:`Diff`,openSpec:`Abrir spec #{{ticketId}}`,specChip:`spec #{{ticketId}}`,loadingDiff:`A carregar diff...`,diffUnavailable:`Diff indisponível para esta alteração histórica. Os novos jobs guardarão patches automaticamente.`,diffTruncated:`[diff truncado]`},u={jobFiles:`Ficheiros do job`,specFiles:`Ficheiros da spec`,touchedByAi:`Alterados por IA`,allFiles:`Todos os ficheiros`,collapseAll:`Recolher todas as pastas`,expandAll:`Expandir todas as pastas`,touchedCount_one:`{{count}} ficheiro alterado por IA`,touchedCount_other:`{{count}} ficheiros alterados por IA`,loadingFiles:`A carregar ficheiros…`,emptyTouched:`Ainda não há ficheiros alterados por IA. Execute um job ou mude para Todos os ficheiros.`,showAllFiles:`Mostrar todos os ficheiros`,noFiles:`Sem ficheiros.`,folderTouched_one:`{{count}} ficheiro alterado por IA nesta pasta`,folderTouched_other:`{{count}} ficheiros alterados por IA nesta pasta`,jobTitle:`Job {{jobId}}`,createdBySpec:`Criado durante a implementação da spec #{{id}}`,modifiedBySpec:`Modificado durante a implementação da spec #{{id}}`,latestTitleCreated:`O último job de IA adicionou este ficheiro`,latestTitleModified:`O último job de IA alterou este ficheiro`,latestTitleDeleted:`O último job de IA eliminou este ficheiro`},d={loadFailed:`Falha ao carregar o visualizador de código.`,reload:`Recarregar`,loadingEditor:`A carregar editor…`},f={title:`Ficheiros alterados por este ticket`,jobTitle:`Job {{jobId}}`},p={page:e,resizer:t,toolbar:n,provenancePanel:r,kind:i,action:a,viewer:o,summary:s,story:c,history:l,tree:u,monaco:d,ticketFiles:f};export{a as action,p as default,l as history,i as kind,d as monaco,e as page,r as provenancePanel,t as resizer,c as story,s as summary,f as ticketFiles,n as toolbar,u as tree,o as viewer};
|